![]() |
NDEVR
API Documentation
|
Creates and manages the resources necessary for converting a DesignObjectLookup into 3D rendered data in the OpenGL engine. More...
Public Member Functions | |
| GLESGraphicsSession (const DynamicPointer< GLESGraphicsDevice > &device) | |
| Constructs a GLESGraphicsSession for the given device. | |
| virtual | ~GLESGraphicsSession () override |
| Destroys the session and releases all managed resources. | |
| bool | addRenderGeometry (const Geometry &geo) override |
| Adds a geometry to the render pipeline. | |
| virtual void | checkModelStructure (GraphicsUpdateArguments &args) |
| Checks whether the model structure has changed and updates accordingly. | |
| bool | checkPipeline (bool add_if_needed) |
| Validates and optionally creates the render pipeline. | |
| bool | checkPipeline (GeometryUpdateObject &geo_prop, bool add_if_needed) |
| Validates and optionally creates the pipeline for a specific geometry. | |
| virtual void | cleanResources () override |
| No-op resource cleanup. | |
| virtual void | cleanup () override |
| No-op cleanup. | |
| void | clearAll () |
| Clears all render objects, managers, and cached state. | |
| virtual void | commit (GraphicsUpdateArguments &args) override |
| Commits all pending changes to the GPU. | |
| virtual bool | createPipeline (GraphicsUpdateArguments &args) override |
| Creates or recreates the rendering pipeline. | |
| virtual DynamicPointer< GraphicsPipeline > | createRenderPipeline () override |
| Creates a new render pipeline for a viewport. | |
| virtual const ConstPointer< GraphicsDevice > & | device () const override |
| Returns the graphics device as a const pointer. | |
| virtual const DynamicPointer< GraphicsDevice > & | device () override |
| Returns the graphics device as a mutable pointer. | |
| virtual void | drawFrame (GraphicsUpdateArguments &args) override |
| Draws one complete frame. | |
| virtual void | ensureLastRenderComplete () override |
| No-op to ensure the last render is complete. | |
| DynamicPointer< GLESCameraManager > | getCameraManager (const UUID &camera) |
| Returns or creates a camera manager for the given camera UUID. | |
| virtual bool | hasCommand () const override |
| Checks whether there is a pending command. | |
| virtual void | init (GraphicsUpdateArguments &args) override |
| Initializes the graphics session for rendering. | |
| virtual void | postClearAll () override |
| No-op post-clear callback. | |
| virtual void | readShader (const StringView &) override |
| No-op shader reader for the GLES session. | |
| void | removeRenderGeometry (const Geometry &geo) override |
| Removes a geometry from the render pipeline. | |
| virtual bool | runCommand (GraphicsUpdateArguments &) override |
| No-op command runner for the GLES session. | |
| virtual void | setWindowInstance (WindowInstance *) override |
| No-op window instance setter. | |
| virtual void | updateUniformBuffer (GraphicsUpdateArguments &args) override |
| Updates all uniform buffers for the current frame. | |
| virtual UUID | uuid () override |
| Returns the UUID of this graphics session. | |
| Public Member Functions inherited from GraphicsSession | |
| virtual | ~GraphicsSession () |
| Destructor. | |
| virtual void | addCamera (const UUID &object) |
| Adds a camera to this session. | |
| bool | isActive () const |
| Checks whether this session is active. | |
| virtual void | removeCamera (const UUID &camera) |
| Removes a camera from this session. | |
| void | setActive (bool active) |
| Sets whether this session is active. | |
| Public Member Functions inherited from GraphicsPipeline | |
| virtual | ~GraphicsPipeline () |
| Destructor. | |
Static Public Member Functions | |
| static const DynamicPointer< GraphicsSession > & | DefaultSession () |
| Returns the default singleton graphics session. | |
| static UUID | GLESRenderEngineID () |
| Returns the UUID identifying the GLES render engine. | |
Protected Attributes | |
| Dictionary< UUID, DynamicPointer< GLESCameraManager > > | m_camera_managers |
| Per-camera camera managers. | |
| DynamicPointer< GLESGraphicsDevice > | m_device |
| The GLES graphics device. | |
| Buffer< GeometryUpdateObject > | m_geometries |
| All tracked geometry update objects. | |
| DynamicPointer< GraphicsDevice > | m_graphics_device |
| The abstract graphics device. | |
| DynamicPointer< GLESImageManager > | m_image_manager |
| The shared image manager. | |
| Dictionary< uint08, DynamicPointer< GLESMaterialManager > > | m_material_managers |
| Per-material material managers. | |
| Dictionary< uint08, GLESRenderObject * > | m_pipelines |
| Per-material render object pipelines. | |
| DynamicPointer< GLESShaderManager > | m_shader_manager |
| The shared shader manager. | |
| Dictionary< UUID, DynamicPointer< GLESVertexManager > > | m_vertex_managers |
| Per-scene vertex managers. | |
| Protected Attributes inherited from GraphicsSession | |
| Buffer< UUID > | m_added_cameras |
| Cameras registered with this session. | |
| bool | m_is_active = false |
| Whether this session is currently active. | |
| bool | m_needs_clear_all = false |
| Whether a full clear is pending. | |
| bool | m_needs_command_refresh = false |
| Whether command buffers need refreshing. | |
Additional Inherited Members | |
| Public Types inherited from GraphicsSession | |
| enum | AddObjectMode { e_add_object , e_ensure_pipeline , e_ensure_pipeline_and_add } |
| Modes for adding objects to the session. More... | |
Creates and manages the resources necessary for converting a DesignObjectLookup into 3D rendered data in the OpenGL engine.
Definition at line 25 of file GLESGraphicsSession.h.
| GLESGraphicsSession::GLESGraphicsSession | ( | const DynamicPointer< GLESGraphicsDevice > & | device | ) |
Constructs a GLESGraphicsSession for the given device.
| [in] | device | The OpenGL graphics device. |
References device().
Referenced by DefaultSession().
|
overridevirtual |
Adds a geometry to the render pipeline.
| [in] | geo | The geometry to add. |
Implements GraphicsSession.
|
virtual |
Checks whether the model structure has changed and updates accordingly.
| [in] | args | The graphics update context. |
| bool GLESGraphicsSession::checkPipeline | ( | bool | add_if_needed | ) |
Validates and optionally creates the render pipeline.
| [in] | add_if_needed | Whether to create missing pipeline entries. |
| bool GLESGraphicsSession::checkPipeline | ( | GeometryUpdateObject & | geo_prop, |
| bool | add_if_needed ) |
Validates and optionally creates the pipeline for a specific geometry.
| [in] | geo_prop | The geometry update object to check. |
| [in] | add_if_needed | Whether to create missing pipeline entries. |
|
overridevirtual |
Commits all pending changes to the GPU.
| [in] | args | The graphics update context. |
Implements GraphicsPipeline.
|
overridevirtual |
Creates or recreates the rendering pipeline.
| [in] | args | The graphics update context. |
Implements GraphicsPipeline.
|
overridevirtual |
Creates a new render pipeline for a viewport.
Implements GraphicsSession.
|
inlinestatic |
Returns the default singleton graphics session.
Definition at line 52 of file GLESGraphicsSession.h.
References GLESGraphicsSession(), ViewportOptions::default_render_engine, GLESGraphicsDevice::DefaultGLESDevice(), and GLESRenderEngineID().
Referenced by GLESCameraViewFactory::canCreateView().
|
overridevirtual |
Returns the graphics device as a const pointer.
Implements GraphicsPipeline.
Referenced by GLESGraphicsSession().
|
overridevirtual |
Returns the graphics device as a mutable pointer.
Implements GraphicsPipeline.
|
overridevirtual |
Draws one complete frame.
| [in] | args | The graphics update context. |
Implements GraphicsPipeline.
| DynamicPointer< GLESCameraManager > GLESGraphicsSession::getCameraManager | ( | const UUID & | camera | ) |
Returns or creates a camera manager for the given camera UUID.
| [in] | camera | The camera UUID. |
|
inlinestatic |
Returns the UUID identifying the GLES render engine.
Definition at line 49 of file GLESGraphicsSession.h.
References UUID::CreateUUID().
Referenced by DefaultSession(), and uuid().
|
inlineoverridevirtual |
Checks whether there is a pending command.
Implements GraphicsPipeline.
Definition at line 118 of file GLESGraphicsSession.h.
|
overridevirtual |
Initializes the graphics session for rendering.
| [in] | args | The graphics update context. |
Implements GraphicsPipeline.
|
overridevirtual |
Removes a geometry from the render pipeline.
| [in] | geo | The geometry to remove. |
Implements GraphicsSession.
|
inlineoverridevirtual |
No-op command runner for the GLES session.
Implements GraphicsPipeline.
Definition at line 93 of file GLESGraphicsSession.h.
|
overridevirtual |
Updates all uniform buffers for the current frame.
| [in] | args | The graphics update context. |
Implements GraphicsPipeline.
|
inlineoverridevirtual |
Returns the UUID of this graphics session.
Implements GraphicsSession.
Definition at line 78 of file GLESGraphicsSession.h.
References GLESRenderEngineID().