Public Member Functions | Protected Attributes | List of all members
ion::Scene::CRenderPass Class Reference

#include <CRenderPass.h>

Collaboration diagram for ion::Scene::CRenderPass:
Collaboration graph
[legend]

Public Member Functions

 CRenderPass (SharedPointer< Graphics::IGraphicsContext > GraphicsContext)
 
virtual void SetRenderTarget (SharedPointer< Graphics::IRenderTarget > RenderTarget)
 
virtual string const & GetName () const
 
virtual CGraphicsAPIGetGraphicsAPI ()
 
virtual SharedPointer< Graphics::IGraphicsContextGetGraphicsContext ()
 
virtual ICameraGetActiveCamera ()
 
virtual ICamera const * GetActiveCamera () const
 
virtual void SetActiveCamera (ICamera *Camera)
 
virtual void AddLight (ILight *Light)
 
virtual void RemoveLight (ILight *Light)
 
virtual void AddSceneObject (ISceneObject *SceneObject)
 
virtual void RemoveSceneObject (ISceneObject *SceneObject)
 
virtual void SetUniform (string const &Name, SharedPointer< Graphics::IUniform > Uniform)
 
virtual void SetTexture (string const &Name, SharedPointer< Graphics::ITexture > Texture)
 
virtual void Load ()
 
virtual void Draw ()
 
virtual void ReloadAll ()
 
virtual void PreparePipelineStateForRendering (SharedPointer< Graphics::IPipelineState > PipelineState, ISceneObject *SceneObject)
 
virtual void SubmitPipelineStateForRendering (SharedPointer< Graphics::IPipelineState > PipelineState, ISceneObject *SceneObject, uint const InstanceCount=1, uint const RenderCategory=0)
 

Protected Attributes

ICameraActiveCamera = nullptr
 
set< ISceneObject * > SceneObjects
 
map< string, vector< ILight * > > Lights
 
map< string, SharedPointer< Graphics::IUniform > > Uniforms
 
map< string, SharedPointer< Graphics::ITexture > > Textures
 
vector< vector< std::tuple< ISceneObject *, SharedPointer< Graphics::IPipelineState >, uint > > > RenderQueue
 
string Name
 
SingletonPointer< CGraphicsAPIGraphicsAPI
 
SharedPointer< Graphics::IGraphicsContextGraphicsContext
 
SharedPointer< Graphics::IRenderTargetRenderTarget
 
Graphics::CUniform< glm::mat4 > uProjectionMatrix
 
Graphics::CUniform< glm::mat4 > uViewMatrix
 
Graphics::CUniform< glm::mat4 > uProjectionViewMatrix
 
Graphics::CUniform< glm::mat4 > uInvProjectionViewMatrix
 
Graphics::CUniform< vec3fuCameraPosition
 
Graphics::CUniform< glm::mat4 > uModelMatrix
 
Graphics::CUniform< glm::mat4 > uNormalMatrix
 
Graphics::CUniform< glm::mat4 > uCameraMatrix
 
Graphics::CUniform< glm::mat4 > uInvCameraMatrix
 

Constructor & Destructor Documentation

ion::Scene::CRenderPass::CRenderPass ( SharedPointer< Graphics::IGraphicsContext GraphicsContext)

Member Function Documentation

void ion::Scene::CRenderPass::AddLight ( ILight Light)
virtual
void ion::Scene::CRenderPass::AddSceneObject ( ISceneObject SceneObject)
virtual
void ion::Scene::CRenderPass::Draw ( )
virtual
ICamera * ion::Scene::CRenderPass::GetActiveCamera ( )
virtual
ICamera const * ion::Scene::CRenderPass::GetActiveCamera ( ) const
virtual
CGraphicsAPI * ion::Scene::CRenderPass::GetGraphicsAPI ( )
virtual
SharedPointer< Graphics::IGraphicsContext > ion::Scene::CRenderPass::GetGraphicsContext ( )
virtual
string const & ion::Scene::CRenderPass::GetName ( ) const
virtual
void ion::Scene::CRenderPass::Load ( )
virtual
void ion::Scene::CRenderPass::PreparePipelineStateForRendering ( SharedPointer< Graphics::IPipelineState PipelineState,
ISceneObject SceneObject 
)
virtual
void ion::Scene::CRenderPass::ReloadAll ( )
virtual
void ion::Scene::CRenderPass::RemoveLight ( ILight Light)
virtual
void ion::Scene::CRenderPass::RemoveSceneObject ( ISceneObject SceneObject)
virtual
void ion::Scene::CRenderPass::SetActiveCamera ( ICamera Camera)
virtual
void ion::Scene::CRenderPass::SetRenderTarget ( SharedPointer< Graphics::IRenderTarget RenderTarget)
virtual
void ion::Scene::CRenderPass::SetTexture ( string const &  Name,
SharedPointer< Graphics::ITexture Texture 
)
virtual
void ion::Scene::CRenderPass::SetUniform ( string const &  Name,
SharedPointer< Graphics::IUniform Uniform 
)
virtual
void ion::Scene::CRenderPass::SubmitPipelineStateForRendering ( SharedPointer< Graphics::IPipelineState PipelineState,
ISceneObject SceneObject,
uint const  InstanceCount = 1,
uint const  RenderCategory = 0 
)
virtual

Member Data Documentation

ICamera* ion::Scene::CRenderPass::ActiveCamera = nullptr
protected
SingletonPointer<CGraphicsAPI> ion::Scene::CRenderPass::GraphicsAPI
protected
SharedPointer<Graphics::IGraphicsContext> ion::Scene::CRenderPass::GraphicsContext
protected
map<string, vector<ILight *> > ion::Scene::CRenderPass::Lights
protected
string ion::Scene::CRenderPass::Name
protected
vector<vector<std::tuple<ISceneObject *, SharedPointer<Graphics::IPipelineState>, uint> > > ion::Scene::CRenderPass::RenderQueue
protected
SharedPointer<Graphics::IRenderTarget> ion::Scene::CRenderPass::RenderTarget
protected
set<ISceneObject *> ion::Scene::CRenderPass::SceneObjects
protected
map<string, SharedPointer<Graphics::ITexture> > ion::Scene::CRenderPass::Textures
protected
Graphics::CUniform<glm::mat4> ion::Scene::CRenderPass::uCameraMatrix
protected
Graphics::CUniform<vec3f> ion::Scene::CRenderPass::uCameraPosition
protected
Graphics::CUniform<glm::mat4> ion::Scene::CRenderPass::uInvCameraMatrix
protected
Graphics::CUniform<glm::mat4> ion::Scene::CRenderPass::uInvProjectionViewMatrix
protected
Graphics::CUniform<glm::mat4> ion::Scene::CRenderPass::uModelMatrix
protected
map<string, SharedPointer<Graphics::IUniform> > ion::Scene::CRenderPass::Uniforms
protected
Graphics::CUniform<glm::mat4> ion::Scene::CRenderPass::uNormalMatrix
protected
Graphics::CUniform<glm::mat4> ion::Scene::CRenderPass::uProjectionMatrix
protected
Graphics::CUniform<glm::mat4> ion::Scene::CRenderPass::uProjectionViewMatrix
protected
Graphics::CUniform<glm::mat4> ion::Scene::CRenderPass::uViewMatrix
protected

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