Interface for rendering backend resource aggregation and submission.
virtual ~IRenderResources()=default
Virtual destructor.
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.
virtual void Initialize(Material *material, MeshDataGpu *meshData, TextureCache *textureCache)=0
Initializes GPU-side resources using provided material, mesh, and texture cache.
Represents a material instance with parameter values, texture bindings, and rendering configuration.
Manages mesh data in RAM and GPU, including upload and release operations.
Manages texture loading, GPU uploading, and caching for reuse.
Contains the raw buffer data and layout metadata of packed material parameters.