Документ взят из кэша поисковой машины. Адрес
оригинального документа
: http://astro.uni-altai.ru/~aw/stellarium/api/classStelQGLArrayVertexBufferBackend.html
Дата изменения: Unknown Дата индексирования: Fri Feb 28 08:03:11 2014 Кодировка: Поисковые слова: п п п |
Stellarium 0.12.3
|
Base class for QGL-using vertex buffer backends based on separate attribute arrays. More...
#include <StelQGLArrayVertexBufferBackend.hpp>
Public Member Functions | |
virtual void | addVertex (const void *const vertexInPtr) |
Add a new vertex to the buffer. More... | |
virtual void | getVertex (const int index, void *const vertexOutPtr) const |
Get a vertex from the buffer. More... | |
virtual void | setVertex (const int index, const void *const vertexInPtr) |
Rewrite a vertex in the buffer. More... | |
virtual void | lock () |
Lock the buffer. Must be called before drawing. More... | |
virtual void | unlock () |
Unlock the buffer. Must be called to modify the buffer after drawing. More... | |
virtual void | clear () |
Clear the buffer, removing all vertices. More... | |
void | projectVertices (StelProjector *projector, class StelQGLIndexBuffer *indexBuffer) |
Use a StelProjector to project vertex positions. More... | |
int | length () const |
Get the number of vertices in the buffer. More... | |
PrimitiveType | getPrimitiveType () const |
Return graphics primitive type formed by the vertices of the buffer,. More... | |
Public Member Functions inherited from StelVertexBufferBackend | |
StelVertexBufferBackend (const QVector< StelVertexAttribute > &attributes) | |
Construct a StelVertexBufferBackend, specifying attributes of the vertex type. More... | |
virtual | ~StelVertexBufferBackend () |
Required to ensure that derived classes get properly deallocated. More... | |
void | validateVertexType (const int vertexSize) |
Assert that the user-specified (in StelVertexBuffer) vertex type is valid. More... | |
Protected Member Functions | |
StelQGLArrayVertexBufferBackend (const PrimitiveType type, const QVector< StelVertexAttribute > &attributes) | |
Construct a StelQGLArrayVertexBufferBackend. More... | |
Protected Attributes | |
bool | locked |
Is the vertex buffer locked (i.e. ready to draw?). More... | |
PrimitiveType | primitiveType |
Graphics primitive type formed by the vertices of this buffer. More... | |
int | vertexCount |
Number of vertices in the buffer. More... | |
int | vertexCapacity |
Number of vertices we have allocated space for. More... | |
void * | attributeBuffers [AttributeInterpretation_MAX] |
Buffers storing vertex attributes. More... | |
bool | usingProjectedPositions |
Are we using vertex positions projected by a StelProjector? More... | |
Vec3f * | projectedPositions |
Projected vertex positions to draw when we're projecting vertices with a StelProjector. More... | |
int | projectedPositionsCapacity |
Allocated capacity of the projectedPositions array. More... | |
Protected Attributes inherited from StelVertexBufferBackend | |
const Attributes | attributes |
Specifies layout of vertex attributes in the vertex type. More... | |
Base class for QGL-using vertex buffer backends based on separate attribute arrays.
Definition at line 33 of file StelQGLArrayVertexBufferBackend.hpp.
|
protected |
Construct a StelQGLArrayVertexBufferBackend.
Initializes vertex attribute buffers.
type | Graphics primitive type stored in the buffer. |
attributes | Specifications of vertex attributes that will be stored in the buffer. |
|
virtual |
Add a new vertex to the buffer.
StelVertexBuffer guarantees that when this is called, buffer is not locked and index is in range.
vertexInPtr | Pointer to the beginning of the vertex. Data members of the vertex must match vertex attributes of the buffer. |
Implements StelVertexBufferBackend.
|
inlinevirtual |
Clear the buffer, removing all vertices.
The backend implementation might reuse previously allocated storage after clearing, so calling clear() might be more efficient than destroying a buffer and then constructing a new one.
Implements StelVertexBufferBackend.
Definition at line 57 of file StelQGLArrayVertexBufferBackend.hpp.
|
inline |
Return graphics primitive type formed by the vertices of the buffer,.
Definition at line 81 of file StelQGLArrayVertexBufferBackend.hpp.
|
virtual |
Get a vertex from the buffer.
StelVertexBuffer guarantees that when this is called, buffer is not locked and index is in range.
index | Index of the vertex to read. |
vertexOutPtr | Pointer to the beginning of the output vertex. Data members of the vertex must match vertex attributes of the buffer. |
Implements StelVertexBufferBackend.
|
inline |
Get the number of vertices in the buffer.
Definition at line 75 of file StelQGLArrayVertexBufferBackend.hpp.
|
inlinevirtual |
Lock the buffer. Must be called before drawing.
Implements StelVertexBufferBackend.
Definition at line 47 of file StelQGLArrayVertexBufferBackend.hpp.
void StelQGLArrayVertexBufferBackend::projectVertices | ( | StelProjector * | projector, |
class StelQGLIndexBuffer * | indexBuffer | ||
) |
Use a StelProjector to project vertex positions.
Can be called only immediately before drawing. The projected vertex positions are only used for one draw call - another one might use a different/modified projector or index buffer.
projector | Projector to project the vertices. |
indexBuffer | Index buffer specifying which vertices to project. If NULL, all vertices are projected. |
|
< |