![]() |
Rendering Engine 0.2.0
Modular Graphics Rendering Engine | v0.2.0
|
Interface for rendering backend resource aggregation and submission. More...
#include <i_render_resources.hpp>
Inherited by rendering_engine::VulkanRenderResources.
Public Member Functions | |
| virtual | ~IRenderResources ()=default |
| Virtual destructor. | |
| virtual void | Initialize (Material *material, MeshDataGpu *meshData, TextureCache *textureCache)=0 |
| Initializes GPU-side resources using provided material, mesh, and texture cache. | |
| virtual void | SubmitResources (Transformations2D &transformations, const PackedMaterialData &materialParameters)=0 |
| Updates GPU resources and issues a draw call for a 2D object. | |
| virtual void | SubmitResources (Transformations3D &transformations, const PackedMaterialData &materialParameters)=0 |
| Updates GPU resources and issues a draw call for a 3D object. | |
| virtual void | Shutdown ()=0 |
| Releases all allocated GPU resources for this object. | |
Interface for rendering backend resource aggregation and submission.
Implementations of this interface aggregate all GPU-side objects and logic required to render a drawable entity. The interface is backend-agnostic and can be implemented for any graphics API.
The interface is designed to work with shared resource caches (material, mesh, texture), typically owned elsewhere and passed to Initialize().
Definition at line 30 of file i_render_resources.hpp.
|
virtualdefault |
Virtual destructor.
|
pure virtual |
Initializes GPU-side resources using provided material, mesh, and texture cache.
| material | Pointer to the Material describing the shader and its parameters. |
| meshData | Pointer to MeshDataGpu containing vertex and index buffers. |
| textureCache | Pointer to the TextureCache containing all loaded textures. |
Implemented in rendering_engine::VulkanRenderResources.
|
pure virtual |
Releases all allocated GPU resources for this object.
Implemented in rendering_engine::VulkanRenderResources.
|
pure virtual |
Updates GPU resources and issues a draw call for a 2D object.
| transformations | Transformation data (2D). |
| materialParameters | Packed structure with material parameters for the draw call. |
Implemented in rendering_engine::VulkanRenderResources.
|
pure virtual |
Updates GPU resources and issues a draw call for a 3D object.
| transformations | Transformation data (3D). |
| materialParameters | Packed structure with material parameters for the draw call. |
Implemented in rendering_engine::VulkanRenderResources.