12 #ifndef MESH_H_6014714286 13 #define MESH_H_6014714286 66 const std::unique_ptr< Association< VertexBufferBase > > myVertexBuffer;
67 const std::unique_ptr< Association< IndexBufferBase > > myIndexBuffer;
89 const unsigned int id;
134 template<
typename VertexType,
typename IndexType >
152 template<
typename VertexType,
typename IndexType >
156 :
MeshBase( VertexType::attributes, vertexBuffer, indexBuffer )
166 #endif // MESH_H_6014714286 const unsigned int id
Holds the ID of the OpenGL vertex array object.
Implements MeshBase class for particular VertexType and IndexType.
Mesh(Association< VertexBufferBase > *vertexBuffer, Association< IndexBufferBase > *indexBuffer)
Defines Carna::base::VertexAttributes.
Maintains GL_ARRAY_BUFFER object that holds vertices. This class realizes the RAII-idiom.
Defines Carna::base::IndexBuffer.
IndexType Index
Holds the element type of the index buffer.
const GLContext & glContext
References the OpenGL context this mesh is valid within.
Format-independent abstract Mesh base class. Each mesh consists of a VertexBuffer, an IndexBuffer and a vertex array. This class realizes the RAII-idiom w.r.t. the vertex array.
VertexType Vertex
Holds the element type of the vertex buffer.
Represents an association.
Wraps and represents an OpenGL context.
std::vector< VertexAttribute > VertexAttributes
Defines VertexAttribute vector.
Defines Carna::base::VertexBuffer.
Maintains GL_ELEMENT_ARRAY_BUFFER object that holds the vertex indices, that interconnect the vertice...