Carna Version 3.3.3
Loading...
Searching...
No Matches
VertexBuffer.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2010 - 2015 Leonid Kostrykin
3 *
4 * Chair of Medical Engineering (mediTEC)
5 * RWTH Aachen University
6 * Pauwelsstr. 20
7 * 52074 Aachen
8 * Germany
9 *
10 */
11
12#ifndef VERTEXBUFFER_H_6014714286
13#define VERTEXBUFFER_H_6014714286
14
15#include <Carna/Carna.h>
17#include <iterator>
18
23namespace Carna
24{
25
26namespace base
27{
28
29
30
31// ----------------------------------------------------------------------------------
32// VertexBufferBase
33// ----------------------------------------------------------------------------------
34
42class CARNA_LIB VertexBufferBase : public BaseBuffer
43{
44
45protected:
46
51 void copy( const void* bufferPtr, std::size_t bufferSize, std::size_t verticesCount );
52
53public:
54
59
60}; // VertexBufferBase
61
62
63
64// ----------------------------------------------------------------------------------
65// VertexBuffer
66// ----------------------------------------------------------------------------------
67
74template< typename VertexType >
76{
77
78public:
79
84
89 void copy( const Vertex* verticesPtr, const std::size_t verticesCount );
90
91}; // VertexBuffer
92
93
94template< typename VertexType >
99
100
101
102} // namespace Carna :: base
103
104} // namespace Carna
105
106#endif // VERTEXBUFFER_H_6014714286
Defines Carna::base::BaseBuffer.
Represents an association.
Definition Association.h:45
Implements OpenGL buffer objects maintenance RAII base class.
Definition BaseBuffer.h:40
Maintains GL_ARRAY_BUFFER object that holds vertices. This class realizes the RAII-idiom.
void copy(const void *bufferPtr, std::size_t bufferSize, std::size_t verticesCount)
Copies verticesCount vertices referenced by bufferPtr to the maintained vertex buffer object.
VertexBufferBase()
Creates GL_ARRAY_BUFFER object.
Specializes VertexBufferBase for particular VertexType.
VertexType Vertex
Holds the vertex type maintained by this vertex buffer object.
void copy(const Vertex *verticesPtr, const std::size_t verticesCount)
Copies verticesCount vertices referenced by verticesPtr to the maintained vertex buffer object.