46 lines
931 B
C++
46 lines
931 B
C++
/*
|
|
ZOpenGLVertexParams.hpp
|
|
Author: Patrick Baggett <ptbaggett@762studios.com>
|
|
Created: 12/13/2012
|
|
|
|
Purpose:
|
|
|
|
OpenGL specific version of ZVertexParams that implements VAOs.
|
|
|
|
License:
|
|
|
|
TODO
|
|
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#ifndef _ZOPENGLVERTEXPARAMS_HPP
|
|
#define _ZOPENGLVERTEXPARAMS_HPP
|
|
|
|
#include <ZRenderer/ZVertexParams.hpp>
|
|
#include <ZRenderer/ZOpenGLShaderProgram.hpp>
|
|
#include <SST/SST_GLAPI.h>
|
|
|
|
|
|
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 |