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

Defines an abstract interface for rendering backends. More...

#include <i_renderer.hpp>

Inherited by rendering_engine::VulkanRenderer.

Public Member Functions

virtual void InitializeRenderer ()=0
 Initializes all rendering subsystems and GPU resources.
virtual void DrawFrame ()=0
 Executes a full frame rendering cycle.
virtual bool BeginFrame ()=0
 Begins frame rendering operations.
virtual void BeginRenderPass ()=0
 Begins the active render pass for the current frame.
virtual void EndRenderPass ()=0
 Ends the active render pass.
virtual void EndFrame ()=0
 Completes the current frame rendering and presents the result.
virtual void WaitIdle ()=0
 Waits until the GPU has finished all pending rendering operations.
virtual void ShutdownRenderer ()=0
 Destroys and cleans up all rendering resources.
virtual void RegisterObserver (IRendererObserver *notifier)=0
 Registers an observer for rendering events.
virtual void UnregisterObserver (IRendererObserver *notifier)=0
 Unregisters a previously registered observer.
virtual IRenderResourcesProvideRenderResources () const =0
 Provides access to the general rendering resource manager.
virtual ITextureRenderResourcesProvideTextureRenderResources () const =0
 Provides access to texture-related GPU resources.
virtual IMaterialRenderResourcesProvideMaterialRenderResources () const =0
 Provides access to material-related GPU resources.
virtual IMeshRenderResourcesProvideMeshRenderResources () const =0
 Provides access to mesh-related GPU resources.
virtual ~IRenderer ()=default
 Virtual destructor for safe polymorphic deletion.

Detailed Description

Defines an abstract interface for rendering backends.

Provides a unified API for initializing, executing, and shutting down the rendering system. Specific graphics backends implement this interface to handle platform-dependent operations.

See also
IRenderResources
IRendererObserver

Definition at line 28 of file i_renderer.hpp.

Constructor & Destructor Documentation

◆ ~IRenderer()

virtual rendering_engine::IRenderer::~IRenderer ( )
virtualdefault

Virtual destructor for safe polymorphic deletion.

Member Function Documentation

◆ BeginFrame()

virtual bool rendering_engine::IRenderer::BeginFrame ( )
pure virtual

Begins frame rendering operations.

Returns
True if the frame can proceed.

Implemented in rendering_engine::VulkanRenderer.

◆ BeginRenderPass()

virtual void rendering_engine::IRenderer::BeginRenderPass ( )
pure virtual

Begins the active render pass for the current frame.

Implemented in rendering_engine::VulkanRenderer.

◆ DrawFrame()

virtual void rendering_engine::IRenderer::DrawFrame ( )
pure virtual

Executes a full frame rendering cycle.

Implemented in rendering_engine::VulkanRenderer.

◆ EndFrame()

virtual void rendering_engine::IRenderer::EndFrame ( )
pure virtual

Completes the current frame rendering and presents the result.

Implemented in rendering_engine::VulkanRenderer.

◆ EndRenderPass()

virtual void rendering_engine::IRenderer::EndRenderPass ( )
pure virtual

Ends the active render pass.

Implemented in rendering_engine::VulkanRenderer.

◆ InitializeRenderer()

virtual void rendering_engine::IRenderer::InitializeRenderer ( )
pure virtual

Initializes all rendering subsystems and GPU resources.

Implemented in rendering_engine::VulkanRenderer.

◆ ProvideMaterialRenderResources()

virtual IMaterialRenderResources * rendering_engine::IRenderer::ProvideMaterialRenderResources ( ) const
pure virtual

Provides access to material-related GPU resources.

Returns
Pointer to the IMaterialRenderResources interface.

Implemented in rendering_engine::VulkanRenderer.

◆ ProvideMeshRenderResources()

virtual IMeshRenderResources * rendering_engine::IRenderer::ProvideMeshRenderResources ( ) const
pure virtual

Provides access to mesh-related GPU resources.

Returns
Pointer to the IMeshRenderResources interface.

Implemented in rendering_engine::VulkanRenderer.

◆ ProvideRenderResources()

virtual IRenderResources * rendering_engine::IRenderer::ProvideRenderResources ( ) const
pure virtual

Provides access to the general rendering resource manager.

Returns
Pointer to the IRenderResources interface.

Implemented in rendering_engine::VulkanRenderer.

◆ ProvideTextureRenderResources()

virtual ITextureRenderResources * rendering_engine::IRenderer::ProvideTextureRenderResources ( ) const
pure virtual

Provides access to texture-related GPU resources.

Returns
Pointer to the ITextureRenderResources interface.

Implemented in rendering_engine::VulkanRenderer.

◆ RegisterObserver()

virtual void rendering_engine::IRenderer::RegisterObserver ( IRendererObserver * notifier)
pure virtual

Registers an observer for rendering events.

Parameters
notifierPointer to the observer to register.

Implemented in rendering_engine::VulkanRenderer.

◆ ShutdownRenderer()

virtual void rendering_engine::IRenderer::ShutdownRenderer ( )
pure virtual

Destroys and cleans up all rendering resources.

Implemented in rendering_engine::VulkanRenderer.

◆ UnregisterObserver()

virtual void rendering_engine::IRenderer::UnregisterObserver ( IRendererObserver * notifier)
pure virtual

Unregisters a previously registered observer.

Parameters
notifierPointer to the observer to remove.

Implemented in rendering_engine::VulkanRenderer.

◆ WaitIdle()

virtual void rendering_engine::IRenderer::WaitIdle ( )
pure virtual

Waits until the GPU has finished all pending rendering operations.

Implemented in rendering_engine::VulkanRenderer.


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