3 #include "VertexSeq.fpp"
4 #include "HotVertexSeq.fpp"
5 #include "HotProgram.fpp"
6 #include "GLObject.hpp"
7 #include "../config/BaseProxy.hpp"
60 void create(uint16_t vertexSize,
62 uint32_t indexCount = 0);
74 template <
typename... Cs,
typename L>
104 static void setupOpenGL();
107 explicit operator bool()
const;
110 GLuint m_vertexHandle;
111 GLuint m_indexHandle;
112 GLuint m_vertexArrayObject;
113 uint32_t m_vertexCount;
114 uint32_t m_indexCount;
115 uint16_t m_vertexSize;
118 static bool s_isPrimed;
123 void bindVAO()
const;
124 void unbindVAO()
const;
134 #include "VertexSeq.tpp"
Definition: HotVertexSeq.hpp:20
GLuint nativeIndexHandle() const
Returns the native OpenGL handle of the index buffer.
Definition: VertexSeq.tpp:97
void prime(L lambda)
Primes the VertexSeq to obtain a HotVertexSeq.
Definition: VertexSeq.tpp:68
int size() const
Returns the number of vertices in the sequence.
Definition: VertexSeq.tpp:105
Hot version of VertexSeq.
Definition: HotVertexSeq.fpp:9
Hot version of Program.
Definition: HotProgram.hpp:18
Definition: GLObject.hpp:37
GLuint nativeVAOHandle() const
Returns the native OpenGL handle of the vertex array object.
Definition: VertexSeq.tpp:101
The type-unsafe variant of HotVertexSeq.
Definition: HotVertexSeq.hpp:72
void create(uint16_t vertexSize, uint32_t vertexCount, uint32_t indexCount=0)
Creates internal data structures.
Definition: VertexSeq.cpp:29
GLuint nativeVertexHandle() const
Returns the native OpenGL handle of the vertex buffer.
Definition: VertexSeq.tpp:93
bool isVertexLayoutActive() const
Determines if a vertex layout is active.
Definition: VertexSeq.tpp:109
Represents a sequence of vertices.
Definition: VertexSeq.hpp:32