NDEVR
API Documentation
GLESVertexManager

Manages vertex buffers for the OpenGL engine. More...

Public Member Functions

 GLESVertexManager (const DynamicPointer< GLESGraphicsDevice > &device)
 Constructs a GLESVertexManager for the given graphics device.
 ~GLESVertexManager ()
 Destroys the vertex manager and frees GPU resources.
void commit ()
 Commits pending vertex data changes to the GPU.
void createPipeline (GraphicsUpdateArguments &args)
 Creates or recreates the rendering pipeline for the current scene.
ConstPointer< GraphicsBuffergetRenderBuffer (const Scene &scene, const StringView &channel) const
 Returns the render buffer for a specific scene and channel.
Buffer< DynamicPointer< OpenGLBuffer > > getRenderBuffers (GraphicsUpdateArguments &args, const StringView &extra_property) const
 Returns all render buffers needed for the given extra property.
DynamicPointer< GraphicsBufferindexBuffer () const
 Returns the index buffer for this vertex manager.
Time lastDependencyUpdate () const
 Returns the last time a dependency was pushed to GPU.
Time lastUpdateTime () const
 Returns the last time vertex data was updated.
UUID scene () const
 Returns the UUID of the scene being managed.
void setScene (const Scene &scene)
 Sets the scene whose vertex data this manager tracks.
void updateExtraBuffer (GraphicsUpdateArguments &args, const Scene &scene, const StringView &extra_property)
 Updates an extra vertex property buffer for a specific scene.
void updateExtraBuffer (GraphicsUpdateArguments &args, const StringView &extra_property)
 Updates an extra vertex property buffer for the current scene.
void updateUniformBuffer (GraphicsUpdateArguments &args)
 Updates uniform buffer data from the current scene state.
BitFlag vertexFlags () const
 Returns the active vertex property flags.
uint04 vertexSize () const
 Returns the number of vertices in the position buffer.

Detailed Description

Manages vertex buffers for the OpenGL engine.


Definition at line 44 of file GLESBufferManager.h.

Constructor & Destructor Documentation

◆ GLESVertexManager()

GLESVertexManager::GLESVertexManager ( const DynamicPointer< GLESGraphicsDevice > & device)

Constructs a GLESVertexManager for the given graphics device.

Parameters
[in]deviceThe OpenGL graphics device.

References GLESVertexManager().

Referenced by GLESVertexManager().

Member Function Documentation

◆ createPipeline()

void GLESVertexManager::createPipeline ( GraphicsUpdateArguments & args)

Creates or recreates the rendering pipeline for the current scene.

Parameters
[in]argsThe graphics update context.

◆ getRenderBuffer()

ConstPointer< GraphicsBuffer > GLESVertexManager::getRenderBuffer ( const Scene & scene,
const StringView & channel ) const

Returns the render buffer for a specific scene and channel.

Parameters
[in]sceneThe scene to query.
[in]channelThe vertex channel name.
Returns
A ConstPointer to the GraphicsBuffer.

References scene().

◆ getRenderBuffers()

Buffer< DynamicPointer< OpenGLBuffer > > GLESVertexManager::getRenderBuffers ( GraphicsUpdateArguments & args,
const StringView & extra_property ) const

Returns all render buffers needed for the given extra property.

Parameters
[in]argsThe graphics update context.
[in]extra_propertyThe name of the extra property channel.
Returns
A buffer of OpenGL buffer pointers.

◆ indexBuffer()

DynamicPointer< GraphicsBuffer > GLESVertexManager::indexBuffer ( ) const

Returns the index buffer for this vertex manager.

Returns
A DynamicPointer to the index GraphicsBuffer.

◆ lastDependencyUpdate()

Time GLESVertexManager::lastDependencyUpdate ( ) const
inline

Returns the last time a dependency was pushed to GPU.

Returns
The last push update time.

Definition at line 55 of file GLESBufferManager.h.

◆ lastUpdateTime()

Time GLESVertexManager::lastUpdateTime ( ) const
inline

Returns the last time vertex data was updated.

Returns
The last update time.

Definition at line 58 of file GLESBufferManager.h.

◆ scene()

UUID GLESVertexManager::scene ( ) const
inline

Returns the UUID of the scene being managed.

Returns
The scene UUID.

Definition at line 102 of file GLESBufferManager.h.

Referenced by getRenderBuffer(), setScene(), and updateExtraBuffer().

◆ setScene()

void GLESVertexManager::setScene ( const Scene & scene)

Sets the scene whose vertex data this manager tracks.

Parameters
[in]sceneThe scene to manage.

References scene().

◆ updateExtraBuffer() [1/2]

void GLESVertexManager::updateExtraBuffer ( GraphicsUpdateArguments & args,
const Scene & scene,
const StringView & extra_property )

Updates an extra vertex property buffer for a specific scene.

Parameters
[in]argsThe graphics update context.
[in]sceneThe scene to update from.
[in]extra_propertyThe name of the extra property channel.

References scene().

◆ updateExtraBuffer() [2/2]

void GLESVertexManager::updateExtraBuffer ( GraphicsUpdateArguments & args,
const StringView & extra_property )

Updates an extra vertex property buffer for the current scene.

Parameters
[in]argsThe graphics update context.
[in]extra_propertyThe name of the extra property channel.

◆ updateUniformBuffer()

void GLESVertexManager::updateUniformBuffer ( GraphicsUpdateArguments & args)

Updates uniform buffer data from the current scene state.

Parameters
[in]argsThe graphics update context.

◆ vertexFlags()

BitFlag GLESVertexManager::vertexFlags ( ) const
inline

Returns the active vertex property flags.

Returns
The BitFlag of active vertex properties.

Definition at line 88 of file GLESBufferManager.h.

◆ vertexSize()

uint04 GLESVertexManager::vertexSize ( ) const
inline

Returns the number of vertices in the position buffer.

Returns
The vertex count.

Definition at line 99 of file GLESBufferManager.h.

References cast(), and Position.


The documentation for this class was generated from the following file: