24 #include <flw/OpenGL.h> 35 IBuffer(GLuint target, GLuint drawType = GL_STATIC_DRAW, GLuint index = 0, GLsizei howMany = 1);
39 void bind(GLuint
id = 0)
const;
41 void bind(GLuint externalTarget, GLuint
id)
const;
43 void bindBase(GLuint
id = 0)
const;
45 void bindBase(GLuint externalTarget, GLuint
id)
const;
49 void unbindBase(GLuint externalTarget);
55 void setTarget(GLuint target);
57 void setDrawType(GLuint drawType);
61 void setLoaded(
bool loaded);
63 GLuint getElements()
const;
65 GLuint getSize()
const;
67 GLvoid *getData()
const;
71 GLvoid* mapRange(GLenum access, GLuint size = 0);
73 GLvoid *map(GLenum access)
const;
75 virtual void emptyCPU() = 0;
77 virtual void emptyGPU() = 0;
79 GLuint getHandle(GLuint
id = 0);
83 GLuint mHandles[FILLWAVE_GLOBJECTS_MAX];
87 GLuint mDataStoreType;
91 GLuint mTotalElements;
93 void setElements(GLuint elements);
95 void setSize(GLuint size);
98 void unbindBuffer(GLuint target);
100 void bindBuffer(GLuint target, GLuint handle);
Base for all buffer types.
Definition: IBuffer.h:33