33#include "GLESGraphicsDevice.h"
34#include <NDEVR/Model.h>
124 Time m_last_updated_time;
125 Time m_last_push_update_time;
127 bool m_needs_pipeline_update;
128 bool m_needs_index_buffer_update;
A bitset that stores 8 bits (elements with only two possible values: 0 or 1, true or false,...
The equivelent of std::vector but with a bit more control.
Provides a constant, unmodifiable pointer that has shared ownership of a dynamically allocated object...
A hash-based key-value store, useful for quick associative lookups.
Provides a modifiable pointer that has shared ownership of a dynamically allocated object.
DynamicPointer< GraphicsBuffer > indexBuffer() const
Returns the index buffer for this vertex manager.
GLESVertexManager(const DynamicPointer< GLESGraphicsDevice > &device)
Constructs a GLESVertexManager for the given graphics device.
void createPipeline(GraphicsUpdateArguments &args)
Creates or recreates the rendering pipeline for the current scene.
void setScene(const Scene &scene)
Sets the scene whose vertex data this manager tracks.
Time lastDependencyUpdate() const
Returns the last time a dependency was pushed to GPU.
void commit()
Commits pending vertex data changes to the GPU.
ConstPointer< GraphicsBuffer > getRenderBuffer(const Scene &scene, const StringView &channel) const
Returns the render buffer for a specific scene and channel.
void updateExtraBuffer(GraphicsUpdateArguments &args, const Scene &scene, const StringView &extra_property)
Updates an extra vertex property buffer for a specific scene.
Time lastUpdateTime() const
Returns the last time vertex data was updated.
Buffer< DynamicPointer< OpenGLBuffer > > getRenderBuffers(GraphicsUpdateArguments &args, const StringView &extra_property) const
Returns all render buffers needed for the given extra property.
void updateExtraBuffer(GraphicsUpdateArguments &args, const StringView &extra_property)
Updates an extra vertex property buffer for the current scene.
UUID scene() const
Returns the UUID of the scene being managed.
BitFlag vertexFlags() const
Returns the active vertex property flags.
~GLESVertexManager()
Destroys the vertex manager and frees GPU resources.
void updateUniformBuffer(GraphicsUpdateArguments &args)
Updates uniform buffer data from the current scene state.
uint04 vertexSize() const
Returns the number of vertices in the position buffer.
Options that are used for performing an update on a Graphics Engine call.
The root Model that is responsible for storing the underlying data for all Scene Models.
The core String View class for the NDEVR API.
Represents a timestamp with utilities for manipulation and conversion.
A universally unique identifier (UUID) is a 128-bit number used to identify information in computer s...
The primary namespace for the NDEVR SDK.
VertexProperty
Per-vertex data channels that can be stored in the vertex table to be used by Geometry.
@ Position
XYZ position of the vertex.
@ BitFlag
Per-vertex bit flags (selected, hidden, etc.).
uint32_t uint04
-Defines an alias representing a 4 byte, unsigned integer -Can represent exact integer values 0 throu...
constexpr t_to cast(const Angle< t_from > &value)
Casts an Angle from one backing type to another.