--- /dev/null
+#ifndef BUFFER_OBJECT_H\r
+#define BUFFER_OBJECT_H\r
+\r
+#include "envBilatGL.h"\r
+#include "bilat_GL.h"\r
+\r
+/**\r
+ * Create Buffer in a valide OpenGL context\r
+ *\r
+ *\r
+ * When can I instancied a BufferObject ?\r
+ *\r
+ * Using API :\r
+ * in GLUTWindowCustomiser_A.init() ! (ps reshape,display are other possiblities)\r
+ * Using GLUT :\r
+ * after glutCreateWindow(...)\r
+ */\r
+class CBI_GL BufferObject\r
+ {\r
+\r
+ public:\r
+ /**\r
+ * @param bufferUsage (GL_STREAM_DRAW, GL_STREAM_READ, GL_STREAM_COPY, GL_STATIC_DRAW, GL_STATIC_READ, GL_STATIC_COPY, GL_DYNAMIC_DRAW, GL_DYNAMIC_READ, or GL_DYNAMIC_COPY)\r
+ * @param target (GL_ARRAY_BUFFER, GL_ELEMENT_ARRAY_BUFFER, GL_PIXEL_PACK_BUFFER, or GL_PIXEL_UNPACK_BUFFER)\r
+ */\r
+ BufferObject(GLenum target, unsigned int sizeOctet, void* bufferData, GLenum bufferUsage);\r
+ virtual ~BufferObject();\r
+\r
+ void bindBuffer();\r
+ void unBindBuffer();\r
+\r
+ void bufferData(unsigned int sizeOctet, void* bufferData,GLenum bufferUsage);\r
+ void bufferSubData(unsigned int offset,unsigned int sizeOctet, void* bufferData);\r
+\r
+ /**\r
+ * @param access (GL_READ_ONLY, GL_WRITE_ONLY, or GL_READ_WRITE)\r
+ */\r
+ void* map(GLenum access);\r
+ bool unMap(void);\r
+\r
+ unsigned int getBufferID() const;\r
+\r
+ protected:\r
+ GLuint bufferID; //Identifiant OpenGL\r
+ GLenum target;\r
+\r
+ };\r
+\r
+#endif\r