/* ZOpenGLVertexParams.hpp Author: Patrick Baggett Created: 12/13/2012 Purpose: OpenGL specific version of ZVertexParams that implements VAOs. License: TODO */ #pragma once #ifndef _ZOPENGLVERTEXPARAMS_HPP #define _ZOPENGLVERTEXPARAMS_HPP #include #include #include class ZOpenGLRenderer; class ZOpenGLVertexParams : public ZVertexParams { public: ZOpenGLVertexParams(ZOpenGLRenderer* renderer) : Renderer(renderer), vaoHandle(0), arrayBufferBound(0), elementBufferBound(0) { } ~ZOpenGLVertexParams(); void UpdateDirty(ZOpenGLShaderProgram* prgm); ZOpenGLRenderer* Renderer; GLuint vaoHandle; //Vertex Array Object (VAO) handle GLuint arrayBufferBound; //VBO (GL_ARRAY_BUFFER) that was bound GLuint elementBufferBound; //VBO (GL_ELEMENT_BUFFER) that was bound }; #endif