PixelBullet  0.0.1
A C++ game engine
Loading...
Searching...
No Matches
pixelbullet::Renderer Class Referenceabstract

Class used to manage Subrender objects to create a list of render pass. More...

#include <renderer.h>

Public Member Functions

 Renderer ()=default
 
virtual void Start (RenderDevice &render_device)=0
 
virtual void Update (RenderDevice &render_device)=0
 
template<typename T >
bool HasSubrender () const
 
template<typename T >
T * GetSubrender () const
 
template<typename T , typename... Args>
T * AddSubrender (const Subrender::Stage &pipelineStage, Args &&... args)
 
template<typename T >
void RemoveSubrender ()
 
void ClearSubrenders ()
 
RenderStageGetRenderStage (uint32_t index) const
 
void AddRenderStage (std::unique_ptr< RenderStage > &&renderStage)
 
void AddRenderTarget (RenderTargetSpecification specification)
 

Friends

class Graphics
 

Detailed Description

Class used to manage Subrender objects to create a list of render pass.

Constructor & Destructor Documentation

◆ Renderer()

pixelbullet::Renderer::Renderer ( )
default

Creates a new renderer, fill renderStages in your subclass of this.

Member Function Documentation

◆ AddSubrender()

template<typename T , typename... Args>
T * pixelbullet::Renderer::AddSubrender ( const Subrender::Stage & pipelineStage,
Args &&... args )
inline

Adds a Subrender.

Template Parameters
TThe Subrender type.
argsThe constructor arg types.
Parameters
pipelineStageThe Subrender pipeline stage.
argsThe constructor arguments.

◆ ClearSubrenders()

void pixelbullet::Renderer::ClearSubrenders ( )
inline

Clears all Subrenders.

◆ GetSubrender()

template<typename T >
T * pixelbullet::Renderer::GetSubrender ( ) const
inline

Gets a Subrender.

Template Parameters
TThe Subrender type.
Returns
The Subrender.

◆ HasSubrender()

template<typename T >
bool pixelbullet::Renderer::HasSubrender ( ) const
inline

Checks whether a Subrender exists or not.

Template Parameters
TThe Subrender type.
Returns
If the Subrender has the System.

◆ RemoveSubrender()

template<typename T >
void pixelbullet::Renderer::RemoveSubrender ( )
inline

Removes a Subrender.

Template Parameters
TThe Subrender type.

◆ Start()

virtual void pixelbullet::Renderer::Start ( RenderDevice & render_device)
pure virtual

Run when switching to this scene from another, use this method to create Subrender's.

◆ Update()

virtual void pixelbullet::Renderer::Update ( RenderDevice & render_device)
pure virtual

Run when updating the renderer manager.


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