2014-02-10 06:43:20 +01:00
|
|
|
#pragma once
|
|
|
|
#ifndef _DRAWBUFFER_HPP_
|
|
|
|
#define _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
|
|
|
|
|
|
|
/**
|
|
|
|
* DrawBuffer stores VAO state
|
|
|
|
*/
|
2014-02-10 06:43:20 +01:00
|
|
|
class DrawBuffer {
|
|
|
|
GLuint vao;
|
|
|
|
|
2014-02-10 09:55:01 +01:00
|
|
|
GLenum facetype;
|
2014-02-10 06:43:20 +01:00
|
|
|
public:
|
|
|
|
|
|
|
|
DrawBuffer();
|
|
|
|
~DrawBuffer();
|
|
|
|
|
|
|
|
GLuint getVAOName() const
|
|
|
|
{ return vao; }
|
|
|
|
|
2014-02-10 09:55:01 +01:00
|
|
|
void setFaceType(GLenum ft)
|
|
|
|
{ facetype = ft; }
|
|
|
|
|
|
|
|
GLenum getFaceType() const
|
|
|
|
{ return facetype; }
|
|
|
|
|
2014-02-10 06:43:20 +01:00
|
|
|
/**
|
|
|
|
* Adds a Geometry Buffer to the Draw Buffer.
|
|
|
|
*/
|
|
|
|
void addGeometry(GeometryBuffer* gbuff);
|
|
|
|
};
|
|
|
|
|
2014-07-28 03:27:55 +02:00
|
|
|
#endif
|