cangine
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Public Attributes | Static Private Attributes | List of all members
cangine::RenderSystem Class Reference

Singleton aggregating the engine's renderers. More...

#include <render_system.hpp>

Collaboration diagram for cangine::RenderSystem:
Collaboration graph
[legend]

Public Member Functions

 RenderSystem (Shader &shader)
 Constructs the render system and its sub-renderers.
 
 ~RenderSystem ()
 Destroys the owned renderers.
 
void setShader (Shader &shader)
 Sets the shader on the owned renderers.
 

Static Public Member Functions

static RenderSystem * getInstance ()
 Returns the singleton instance.
 

Public Attributes

QuadRenderer * quadRenderer
 Renderer for textured quads.
 
PrimitiveRenderer * primitiveRenderer
 Renderer for untextured primitives.
 
TextRenderer * textRenderer
 Renderer for text.
 

Static Private Attributes

static RenderSystem * instance = nullptr
 Singleton instance.
 

Detailed Description

Singleton aggregating the engine's renderers.

Owns the QuadRenderer, PrimitiveRenderer and TextRenderer and provides a single access point for submitting draw work.

Constructor & Destructor Documentation

◆ RenderSystem()

cangine::RenderSystem::RenderSystem ( Shader &  shader)

Constructs the render system and its sub-renderers.

Parameters
shaderDefault shader shared by the renderers.

◆ ~RenderSystem()

cangine::RenderSystem::~RenderSystem ( )

Destroys the owned renderers.

Member Function Documentation

◆ getInstance()

RenderSystem * cangine::RenderSystem::getInstance ( )
static

Returns the singleton instance.

Returns
Pointer to the RenderSystem instance.

◆ setShader()

void cangine::RenderSystem::setShader ( Shader &  shader)

Sets the shader on the owned renderers.

Parameters
shaderShader to apply.

Member Data Documentation

◆ instance

RenderSystem * cangine::RenderSystem::instance = nullptr
staticprivate

Singleton instance.

◆ primitiveRenderer

PrimitiveRenderer* cangine::RenderSystem::primitiveRenderer

Renderer for untextured primitives.

◆ quadRenderer

QuadRenderer* cangine::RenderSystem::quadRenderer

Renderer for textured quads.

◆ textRenderer

TextRenderer* cangine::RenderSystem::textRenderer

Renderer for text.


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