MeshRenderer Class
Abstract base class for mesh rendering operations. More...
Declaration
Derived Classes
| class | OpenGLMeshRenderer |
|
OpenGL implementation of the MeshRenderer interface. More... | |
Public Destructor Index
| ~MeshRenderer ()=default | |
|
Virtual destructor for proper cleanup in derived classes. More... | |
Public Member Functions Index
| void | render (const helios::rendering::mesh::MeshRenderCommand &command, const helios::rendering::shader::UniformValueMap &frameUniformValues) noexcept=0 |
|
Renders a mesh using the provided render command and frame-level uniforms. More... | |
Description
Abstract base class for mesh rendering operations.
MeshRenderer defines the interface for rendering mesh geometry using a specific graphics API. Implementations of this class are responsible for translating abstract render commands into API-specific draw calls.
This class follows the Strategy pattern, allowing the rendering backend to be swapped without affecting higher-level rendering logic.
Example usage: ```cpp // Typically used polymorphically through a concrete implementation std::unique_ptr<MeshRenderer> renderer = std::make_unique<OpenGLMeshRenderer>(); renderer->render(command, frameUniforms); ```
Definition at line 32 of file MeshRenderer.ixx.
Public Destructor
~MeshRenderer()
| virtual default |
Virtual destructor for proper cleanup in derived classes.
Definition at line 38 of file MeshRenderer.ixx.
Public Member Functions
render()
| noexcept |
Renders a mesh using the provided render command and frame-level uniforms.
Implementations should apply the shader, bind the mesh geometry, set uniform values, and issue the appropriate draw call for the target graphics API.
- Parameters
-
command The render command containing mesh, material, and per-object uniform data.
frameUniformValues Frame-level uniform values (e.g., view/projection matrices).
Definition at line 50 of file MeshRenderer.ixx.
The documentation for this class was generated from the following file:
Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.15.0.