33 lines
767 B
C++
33 lines
767 B
C++
#ifndef CDYNAMICVERTEXBUFFER_H
|
|
#define CDYNAMICVERTEXBUFFER_H
|
|
|
|
#include <GL/glew.h>
|
|
#include <Common/types.h>
|
|
#include <Common/CVector2f.h>
|
|
#include <Common/CVector3f.h>
|
|
#include <Resource/model/EVertexDescription.h>
|
|
#include <vector>
|
|
|
|
class CDynamicVertexBuffer
|
|
{
|
|
EVertexDescription mAttribFlags;
|
|
EVertexDescription mBufferedFlags;
|
|
u32 mNumVertices;
|
|
GLuint mAttribBuffers[12];
|
|
|
|
public:
|
|
CDynamicVertexBuffer();
|
|
~CDynamicVertexBuffer();
|
|
void SetVertexCount(u32 NumVerts);
|
|
void Bind();
|
|
void Unbind();
|
|
void SetActiveAttribs(u32 AttribFlags);
|
|
void BufferAttrib(EVertexDescription Attrib, const void *pData);
|
|
void ClearBuffers();
|
|
GLuint CreateVAO();
|
|
private:
|
|
void InitBuffers();
|
|
};
|
|
|
|
#endif // CDYNAMICVERTEXBUFFER_H
|