Maria GDK 5.0.0.738
Documentation of native code in develop branch
Loading...
Searching...
No Matches
STK::SceneRenderer Class Reference

#include <StkSceneRenderer.h>

Inheritance diagram for STK::SceneRenderer:
STK::CSMSceneRenderer Maria3D::SceneRenderer

Public Member Functions

 SceneRenderer (std::shared_ptr< STK::ShaderProgramManager > prg_mgr, std::shared_ptr< STK::Light > light=nullptr)
 
std::shared_ptr< ShaderProgramManagergetShaderProgramManager ()
 
void clear ()
 
void addModel (std::shared_ptr< STK::GraphicsModel > model)
 
std::shared_ptr< const STK::GraphicsModelgetModel (const int i) const
 
void removeModel (const std::shared_ptr< GraphicsModel > &model)
 
const std::vector< std::shared_ptr< STK::GraphicsModel > > & getModels () const
 
void setLight (std::shared_ptr< STK::Light > light)
 
std::shared_ptr< const STK::LightgetLight () const
 
void addGlobalUniform (std::shared_ptr< STK::Uniform > uni)
 
virtual void render (const Camera &cam, const Viewport &vp)
 

Protected Member Functions

void updateLightUniforms (const Camera &cam)
 

Protected Attributes

std::shared_ptr< ShaderProgramManagerprg_mgr_
 
std::vector< std::shared_ptr< STK::GraphicsModel > > models_
 
std::shared_ptr< STK::Lightlight_
 
std::vector< std::shared_ptr< STK::Uniform > > global_uniforms_
 
std::shared_ptr< STK::Uniformu_light_dir_eye_
 
std::shared_ptr< STK::Uniformu_light_dir_world_
 

Detailed Description

SceneRenderer - Simple scene renderer. Handles rendering of a set of models

Member Function Documentation

◆ addGlobalUniform()

void STK::SceneRenderer::addGlobalUniform ( std::shared_ptr< STK::Uniform uni)
inline

Add a global uniform. The global uniform list is an array of shared pointers to uniforms These are applied each frame for all shaders and can be updated from the outside via the shared pointer. They are not thread safe, so only update uniform values from the rendering thread.


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