Rendering Engine 0.2.0
Modular Graphics Rendering Engine | v0.2.0
Loading...
Searching...
No Matches
rendering_engine::IRendererObserver Class Referenceabstract

Interface for observing renderer resource lifecycle events. More...

#include <i_renderer_observer.hpp>

Inherited by rendering_engine::MaterialCache, rendering_engine::ModelCache, rendering_engine::TextureCache, and rendering_engine::VulkanRenderResources.

Public Member Functions

virtual void OnRenderResourcesRelease ()=0
 Renderer callback: release all GPU resources (used during device loss/reset).
virtual void OnRenderResourcesRebuild ()=0
 Renderer callback: re-upload or recreate all GPU resources (used after device reset/rebuild).
virtual ~IRendererObserver ()=default
 Virtual destructor.

Detailed Description

Interface for observing renderer resource lifecycle events.

Classes implementing this interface can be registered as observers with the renderer. The renderer will call these methods when GPU resources must be released (e.g., device loss, swapchain recreation) and when resources must be rebuilt (e.g., after device reset or window resize).

This enables resource containers (such as caches or per-object resources) to correctly manage device-dependent memory and handles, ensuring a robust and backend-agnostic rendering workflow.

Definition at line 21 of file i_renderer_observer.hpp.

Constructor & Destructor Documentation

◆ ~IRendererObserver()

virtual rendering_engine::IRendererObserver::~IRendererObserver ( )
virtualdefault

Virtual destructor.

Member Function Documentation

◆ OnRenderResourcesRebuild()

virtual void rendering_engine::IRendererObserver::OnRenderResourcesRebuild ( )
pure virtual

Renderer callback: re-upload or recreate all GPU resources (used after device reset/rebuild).

This method will be called after the device or swapchain is recreated, allowing the observer to re-upload or recreate all necessary resources for rendering.

Implemented in rendering_engine::MaterialCache, rendering_engine::ModelCache, rendering_engine::TextureCache, and rendering_engine::VulkanRenderResources.

◆ OnRenderResourcesRelease()

virtual void rendering_engine::IRendererObserver::OnRenderResourcesRelease ( )
pure virtual

Renderer callback: release all GPU resources (used during device loss/reset).

This method will be called before any device or swapchain is destroyed, allowing the observer to safely release all handles and deallocate any GPU memory.

Implemented in rendering_engine::MaterialCache, rendering_engine::ModelCache, rendering_engine::TextureCache, and rendering_engine::VulkanRenderResources.


The documentation for this class was generated from the following file: