galaxy 1.0.0
Real-Time C++23 Game Programming Framework. Built on data-driven design principles and agile software engineering.
Loading...
Searching...
No Matches
galaxy::Renderer Class Referencefinal

#include <Renderer.hpp>

+ Collaboration diagram for galaxy::Renderer:

Public Member Functions

 Renderer ()
 
 ~Renderer ()
 
void prepare ()
 Called only in the update loop when we need to refresh data to render.
 
void begin_pass (RenderPass &pass)
 
void bind_pipeline (RenderPipeline &pipeline)
 
void push_cmd (RenderCmd &&cmd)
 Try not to push too many non-quads, only quads are batched.
 
void end_pass (Camera &camera)
 

Private Attributes

VertexBatch m_quads
 All quads get batched.
 
std::vector< RenderCmdm_commands
 RenderCommands.
 
RenderPassm_pass
 
RenderPipelinem_pipeline
 
ShaderBuffer m_uniform_storage
 Shader uniform data.
 
ShaderBuffer m_camera_storage
 
std::vector< RenderDatam_uniform_data
 

Detailed Description

Definition at line 21 of file Renderer.hpp.

Constructor & Destructor Documentation

◆ Renderer()

galaxy::Renderer::Renderer ( )

Definition at line 20 of file Renderer.cpp.

+ Here is the call graph for this function:

◆ ~Renderer()

galaxy::Renderer::~Renderer ( )

Definition at line 29 of file Renderer.cpp.

Member Function Documentation

◆ prepare()

void galaxy::Renderer::prepare ( )

Called only in the update loop when we need to refresh data to render.

Definition at line 35 of file Renderer.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ begin_pass()

void galaxy::Renderer::begin_pass ( RenderPass & pass)

Definition at line 46 of file Renderer.cpp.

+ Here is the caller graph for this function:

◆ bind_pipeline()

void galaxy::Renderer::bind_pipeline ( RenderPipeline & pipeline)

Definition at line 59 of file Renderer.cpp.

+ Here is the caller graph for this function:

◆ push_cmd()

void galaxy::Renderer::push_cmd ( RenderCmd && cmd)

Try not to push too many non-quads, only quads are batched.

Definition at line 84 of file Renderer.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ end_pass()

void galaxy::Renderer::end_pass ( Camera & camera)

Definition at line 109 of file Renderer.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Member Data Documentation

◆ m_quads

VertexBatch galaxy::Renderer::m_quads
private

All quads get batched.

Definition at line 65 of file Renderer.hpp.

◆ m_commands

std::vector<RenderCmd> galaxy::Renderer::m_commands
private

RenderCommands.

Definition at line 70 of file Renderer.hpp.

◆ m_pass

RenderPass* galaxy::Renderer::m_pass
private

Definition at line 75 of file Renderer.hpp.

◆ m_pipeline

RenderPipeline* galaxy::Renderer::m_pipeline
private

Definition at line 80 of file Renderer.hpp.

◆ m_uniform_storage

ShaderBuffer galaxy::Renderer::m_uniform_storage
private

Shader uniform data.

Definition at line 85 of file Renderer.hpp.

◆ m_camera_storage

ShaderBuffer galaxy::Renderer::m_camera_storage
private

Definition at line 87 of file Renderer.hpp.

◆ m_uniform_data

std::vector<RenderData> galaxy::Renderer::m_uniform_data
private

Definition at line 89 of file Renderer.hpp.


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