Raven Engine v0.1
Loading...
Searching...
No Matches
Raven::SceneRenderer Class Reference

Responsible for rendering a Scene, managing framebuffers, pipelines, and draw calls. More...

#include <SceneRenderer.h>

Public Member Functions

void Init ()
 Initializes renderer resources and pipelines based on current window size.
void Shutdown ()
 Releases all renderer resources and cleans up GPU allocations.
void BeginScene (const Ref< Scene > &scene)
 Begins a new scene for rendering by binding the given scene reference.
void EndScene (const Camera &camera)
 Ends the current scene rendering by submitting draw calls.
Ref< RenderPassGetFinalRenderPass () const
 Returns the final geometry render pass used for scene rendering.
Ref< Image2DGetFinalImage () const
 Returns the output image of the final render pass.
ShaderSettingsDataGetSettings ()
PointLightDataGetPointLightData ()

Detailed Description

Responsible for rendering a Scene, managing framebuffers, pipelines, and draw calls.

Handles initialization and shutdown of renderer resources, manages rendering passes, uploads camera data, and issues draw commands for submitted meshes.

Member Function Documentation

◆ BeginScene()

void Raven::SceneRenderer::BeginScene ( const Ref< Scene > & scene)

Begins a new scene for rendering by binding the given scene reference.

Parameters
sceneReference-counted pointer to the active scene to render.

This prepares the renderer to draw the specified scene.

◆ EndScene()

void Raven::SceneRenderer::EndScene ( const Camera & camera)

Ends the current scene rendering by submitting draw calls.

Updates camera data and issues draw commands for all submitted static meshes.

Parameters
cameraThe active camera providing view and projection matrices.

◆ GetFinalImage()

Ref< Image2D > Raven::SceneRenderer::GetFinalImage ( ) const
inline

Returns the output image of the final render pass.

Returns
Reference-counted pointer to the 2D image representing the final rendered scene.

◆ GetFinalRenderPass()

Ref< RenderPass > Raven::SceneRenderer::GetFinalRenderPass ( ) const
inline

Returns the final geometry render pass used for scene rendering.

Returns
Reference-counted pointer to the geometry render pass.

◆ GetPointLightData()

PointLightData & Raven::SceneRenderer::GetPointLightData ( )
inline
Returns
Reference to the Point Light's Settings

◆ GetSettings()

ShaderSettingsData & Raven::SceneRenderer::GetSettings ( )
inline
Returns
Reference to the Settings Structure

◆ Init()

void Raven::SceneRenderer::Init ( )

Initializes renderer resources and pipelines based on current window size.

Creates framebuffer, depth image, pipelines, uniform buffers, and other GPU resources. Should be called once before rendering begins.

◆ Shutdown()

void Raven::SceneRenderer::Shutdown ( )

Releases all renderer resources and cleans up GPU allocations.

Should be called before application shutdown or when recreating renderer resources.


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