2#include <QOpenGLShaderProgram>
3#include <QOpenGLVertexArrayObject>
63 Q_DECLARE_FLAGS(RenderOptions, ERenderOption)
75 virtual
void draw() = 0;
80 virtual
void paint() = 0;
86 virtual
bool hasColor() const = 0;
92 virtual
bool hasTexture() const = 0;
108 static const
Color& getDefaultColor();
113 static
void setDefaultColor(const QColor& color);
128 void triggerGenerate();
133 void setRenderOptions(RenderOptions options);
138 RenderOptions getRenderOptions() const;
144 virtual
bool setup() = 0;
149 virtual
void clearData() = 0;
160 virtual
void generate() = 0;
168 virtual
void modifyContext(
bool before,
bool draw,
size_t mode_index);
175 bool isTriggered() const;
181 bool _triggerGenerate;
186 RenderOptions _renderOptions;
Counted vector having additional methods and operators for ease of usage. This template class extends...
Definition TVector.h:19
Color class used in vertex arrays and a layout of 4 x GLfloat.
Definition Color.h:14
Base class for vertex-array derived classes.
Definition VertexArrayBase.h:15
EVertexMember
Possible member of a vertex structure. Where the position cannot be omitted as part of the vertex.
Definition VertexArrayBase.h:29
TVector< std::pair< vector3f, vector3f > > NormalsDataType
Type for extracting normals from all used vertices.
Definition VertexArrayBase.h:118
ERenderOption
Render options.
Definition VertexArrayBase.h:55
EDrawMode
Drawing mode of by the template.
Definition VertexArrayBase.h:44
@ dmDrawArrays
Definition VertexArrayBase.h:46
unsigned VertexMember
Type used to describe vertex structure members.
Definition VertexArrayBase.h:22
Definition DemoRenderer.h:6
std::array< GLfloat, 3 > vector3f
Type which corresponds with a GLSL type and used to implement Vertex structures.
Definition Types.h:21
#define _XGL_CLASS
Definition xgl/global.h:35