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
|