2017-10-30 23:44:40 +01:00
|
|
|
#ifndef _LIBRW_DRAWBUFFER_HPP_
|
|
|
|
#define _LIBRW_DRAWBUFFER_HPP_
|
2016-04-07 02:13:46 +02:00
|
|
|
#include <gl/gl_core_3_3.h>
|
2014-02-10 06:43:20 +01:00
|
|
|
|
|
|
|
class GeometryBuffer;
|
2014-02-13 11:55:11 +01:00
|
|
|
|
2016-09-09 22:13:21 +02:00
|
|
|
/**
|
|
|
|
* DrawBuffer stores VAO state
|
2014-02-13 11:55:11 +01:00
|
|
|
*/
|
2014-02-10 06:43:20 +01:00
|
|
|
class DrawBuffer {
|
2016-09-09 22:13:21 +02:00
|
|
|
GLuint vao;
|
|
|
|
|
|
|
|
GLenum facetype;
|
|
|
|
|
2014-02-10 06:43:20 +01:00
|
|
|
public:
|
2016-09-09 22:13:21 +02:00
|
|
|
DrawBuffer();
|
|
|
|
~DrawBuffer();
|
|
|
|
|
|
|
|
GLuint getVAOName() const {
|
|
|
|
return vao;
|
|
|
|
}
|
|
|
|
|
|
|
|
void setFaceType(GLenum ft) {
|
|
|
|
facetype = ft;
|
|
|
|
}
|
|
|
|
|
|
|
|
GLenum getFaceType() const {
|
|
|
|
return facetype;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Adds a Geometry Buffer to the Draw Buffer.
|
|
|
|
*/
|
|
|
|
void addGeometry(GeometryBuffer* gbuff);
|
2014-02-10 06:43:20 +01:00
|
|
|
};
|
|
|
|
|
2016-09-09 22:13:21 +02:00
|
|
|
#endif
|