Castor3D  ..
Classes | Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
Castor3D::RenderSystem Class Referenceabstract

The render system representation. More...

+ Inheritance diagram for Castor3D::RenderSystem:
+ Collaboration diagram for Castor3D::RenderSystem:

Classes

struct  ObjectDeclaration
 

Public Member Functions

C3D_API RenderSystem (Engine &p_engine, eRENDERER_TYPE p_eRendererType)
 Constructor. More...
 
virtual C3D_API ~RenderSystem ()
 Destructor. More...
 
C3D_API void Initialise ()
 Initialises the render system. More...
 
C3D_API void Cleanup ()
 Cleans the render system up. More...
 
C3D_API ShaderProgramSPtr CreateShaderProgram (eSHADER_LANGUAGE p_langage)
 Creates a ShaderProgram in a given language. More...
 
C3D_API void RenderAmbientLight (Castor::Colour const &p_clColour, FrameVariableBuffer &p_variableBuffer)
 Renders the scene ambient lighting. More...
 
C3D_API void PushScene (Scene *p_scene)
 Pushes a scene on th stack. More...
 
C3D_API void PopScene ()
 Pops a scene from the stack. More...
 
C3D_API SceneGetTopScene ()
 Retrieves the top scene from the stack. More...
 
C3D_API CameraGetCurrentCamera () const
 Retrieves the currently active camera. More...
 
C3D_API void SetCurrentCamera (Camera *p_pCamera)
 Defines the currently active camera. More...
 
C3D_API GLSL::GlslWriter CreateGlslWriter ()
 
C3D_API ShaderProgramSPtr CreateBillboardsProgram (RenderTechnique const &p_technique, uint32_t p_flags)
 Creates a shader program for billboards rendering use. More...
 
C3D_API Castor::String GetVertexShaderSource (uint32_t p_programFlags)
 Retrieves the vertex shader source matching the given flags. More...
 
bool CheckSupport (eSHADER_MODEL p_model)
 Checks support for given shader model. More...
 
eSHADER_MODEL GetMaxShaderModel ()
 
virtual C3D_API GeometryBuffersSPtr CreateGeometryBuffers (eTOPOLOGY p_topology, ShaderProgram const &p_program, VertexBuffer *p_vtx, IndexBuffer *p_idx, VertexBuffer *p_bones, VertexBuffer *p_inst)=0
 Creates a geometries buffer holder. More...
 
virtual C3D_API ContextSPtr CreateContext ()=0
 Creates a rendering context. More...
 
virtual C3D_API FrameVariableBufferSPtr CreateFrameVariableBuffer (Castor::String const &p_name)=0
 Creates a FrameVariableBuffer. More...
 
virtual C3D_API DepthStencilStateSPtr CreateDepthStencilState ()=0
 Create a depth and stencil states object. More...
 
virtual C3D_API RasteriserStateSPtr CreateRasteriserState ()=0
 Create a rasteriser states object. More...
 
virtual C3D_API BlendStateSPtr CreateBlendState ()=0
 Create a blender states object. More...
 
virtual C3D_API SamplerSPtr CreateSampler (Castor::String const &p_name)=0
 Create a sampler. More...
 
virtual C3D_API ShaderProgramSPtr CreateShaderProgram ()=0
 Creates a ShaderProgram (GLSL or HLSL only) More...
 
virtual C3D_API StaticTextureSPtr CreateStaticTexture ()=0
 Creates a texture. More...
 
virtual C3D_API DynamicTextureSPtr CreateDynamicTexture (uint8_t p_cpuAccess, uint8_t p_gpuAccess)=0
 Creates a texture. More...
 
virtual C3D_API std::shared_ptr< GpuBuffer< uint8_t > > CreateVertexBuffer (CpuBuffer< uint8_t > *p_buffer)=0
 Creates a vertex buffer. More...
 
virtual C3D_API std::shared_ptr< GpuBuffer< uint32_t > > CreateIndexBuffer (CpuBuffer< uint32_t > *p_buffer)=0
 Creates an index buffer. More...
 
virtual C3D_API IPipelineImplSPtr GetPipelineImpl ()=0
 
virtual C3D_API FrameBufferSPtr CreateFrameBuffer ()=0
 Creates a frame buffer. More...
 
virtual C3D_API BackBuffersSPtr CreateBackBuffers ()=0
 Creates the window back buffers. More...
 
virtual C3D_API GpuQuerySPtr CreateQuery (eQUERY_TYPE p_type)=0
 Creates a GPU query. More...
 
bool HasShaderType (eSHADER_TYPE p_type) const
 Tells if the RenderSystem supports given shader type. More...
 
bool IsInitialised () const
 Tells if the RenderSystem is initialised. More...
 
bool IsStereoAvailable () const
 Tells if the RenderSystem supports stereo. More...
 
void SetStereoAvailable (bool p_bStereo)
 Defines if the RenderSystem supports stereo. More...
 
Pipeline const & GetPipeline () const
 Retrieves the pipeline. More...
 
PipelineGetPipeline ()
 Retrieves the pipeline. More...
 
eRENDERER_TYPE GetRendererType () const
 Retrieves the renderer API. More...
 
bool HasInstancing () const
 Retrieves the instanced draw calls support. More...
 
bool HasAccumulationBuffer () const
 Retrieves the accumulation buffer support. More...
 
bool HasNonPowerOfTwoTextures () const
 Retrieves the non power of two textures support. More...
 
void SetMainContext (ContextSPtr p_context)
 Sets the main render context. More...
 
ContextSPtr GetMainContext ()
 Retrieves the main render context. More...
 
void SetCurrentContext (Context *p_context)
 Sets the currently active render context. More...
 
ContextGetCurrentContext ()
 Retrieves the currently active render context. More...
 
OverlayRendererSPtr GetOverlayRenderer ()
 Retrieves the overlay renderer. More...
 
template<class Rep , class Period >
void IncGpuTime (std::chrono::duration< Rep, Period > const &p_time)
 Increments the GPU time. More...
 
void ResetGpuTime ()
 Resets the GPU time. More...
 
std::chrono::milliseconds GetGpuTime () const
 Retrieves the GPU time. More...
 
uint32_t GetShaderLanguageVersion () const
 
bool HasConstantsBuffers () const
 
bool HasTextureBuffers () const
 

Protected Member Functions

virtual C3D_API void DoInitialise ()=0
 Initialises the render system. More...
 
virtual C3D_API void DoCleanup ()=0
 Cleans the render system up. More...
 
template<typename T >
bool DoTrack (T *p_object, std::string const &p_type, std::string const &p_file, int p_line, std::string &p_name)
 
bool DoTrack (Castor::Named *p_object, std::string const &p_type, std::string const &p_file, int p_line, std::string &p_name)
 
template<typename T >
bool DoUntrack (T *p_object, ObjectDeclaration &p_declaration)
 
C3D_API void DoReportTracked ()
 

Protected Attributes

std::recursive_mutex m_mutex
 Mutex used to make this class thread safe. More...
 
bool m_initialised
 Tells whether or not it is initialised. More...
 
bool m_instancing
 Tells whether or not the selected render API supports instanced draw calls. More...
 
bool m_accumBuffer
 Tells whether or not the selected render API supports accumulation buffers. More...
 
bool m_nonPowerOfTwoTextures
 Tells whether or not the selected render API supports non power of two textures. More...
 
bool m_stereoAvailable
 Tells the RenderSystem supports stereo. More...
 
bool m_useShader [eSHADER_TYPE_COUNT]
 Tells which types of shaders are supported. More...
 
eSHADER_MODEL m_maxShaderModel
 The maximum supported shader model. More...
 
OverlayRendererSPtr m_overlayRenderer
 The overlay renderer. More...
 
ContextSPtr m_mainContext
 The main render context. More...
 
ContextRPtr m_currentContext
 The currently active render context. More...
 
std::unique_ptr< Pipelinem_pipeline
 The matrix pipeline. More...
 
std::stack< SceneRPtr > m_stackScenes
 Scene stack. More...
 
eRENDERER_TYPE m_rendererType
 The current loaded renderer api type. More...
 
CameraRPtr m_pCurrentCamera
 The currently active camera. More...
 
std::chrono::milliseconds m_gpuTime
 The time spent on GPU for current frame. More...
 
uint32_t m_shaderLanguageVersion
 The shader language version. More...
 
bool m_hasConstantsBuffers
 The constants buffers support status. More...
 
bool m_hasTextureBuffers
 The texture buffers support status. More...
 
uint32_t m_id = 0
 
std::list< ObjectDeclarationm_allocated
 

Friends

template<class Ty >
struct RendererCreator
 
template<class Ty >
struct RendererAdder
 

Detailed Description

The render system representation.

Author
Sylvain DOREMUS
Date
09/02/2010
Version
0.1
Remarks
This is the class which is the link between Castor3D and the renderer driver (OpenGL or Direct3D)
Hence it is also the only class which can create the renderers

Constructor & Destructor Documentation

◆ RenderSystem()

C3D_API Castor3D::RenderSystem::RenderSystem ( Engine p_engine,
eRENDERER_TYPE  p_eRendererType 
)

Constructor.

Parameters
[in]p_engineThe engine
[in]p_eRendererTypeThe render API

◆ ~RenderSystem()

virtual C3D_API Castor3D::RenderSystem::~RenderSystem ( )
virtual

Destructor.

Member Function Documentation

◆ CheckSupport()

bool Castor3D::RenderSystem::CheckSupport ( eSHADER_MODEL  p_model)
inline

Checks support for given shader model.

Parameters
[in]p_modelThe shader model
Returns
false if the given model is not supported by current API

References m_maxShaderModel.

◆ Cleanup()

C3D_API void Castor3D::RenderSystem::Cleanup ( )

Cleans the render system up.

◆ CreateBackBuffers()

virtual C3D_API BackBuffersSPtr Castor3D::RenderSystem::CreateBackBuffers ( )
pure virtual

Creates the window back buffers.

Returns
The created back buffers.

◆ CreateBillboardsProgram()

C3D_API ShaderProgramSPtr Castor3D::RenderSystem::CreateBillboardsProgram ( RenderTechnique const &  p_technique,
uint32_t  p_flags 
)

Creates a shader program for billboards rendering use.

Returns
The created program.

◆ CreateBlendState()

virtual C3D_API BlendStateSPtr Castor3D::RenderSystem::CreateBlendState ( )
pure virtual

Create a blender states object.

Returns
The object

◆ CreateContext()

virtual C3D_API ContextSPtr Castor3D::RenderSystem::CreateContext ( )
pure virtual

Creates a rendering context.

Returns
The created context

◆ CreateDepthStencilState()

virtual C3D_API DepthStencilStateSPtr Castor3D::RenderSystem::CreateDepthStencilState ( )
pure virtual

Create a depth and stencil states object.

Returns
The object

◆ CreateDynamicTexture()

virtual C3D_API DynamicTextureSPtr Castor3D::RenderSystem::CreateDynamicTexture ( uint8_t  p_cpuAccess,
uint8_t  p_gpuAccess 
)
pure virtual

Creates a texture.

Parameters
[in]p_cpuAccessThe required CPU access (combination of eACCESS_TYPE).
[in]p_gpuAccessThe required GPU access (combination of eACCESS_TYPE).
Returns
The created texture, dependant of current API.

◆ CreateFrameBuffer()

virtual C3D_API FrameBufferSPtr Castor3D::RenderSystem::CreateFrameBuffer ( )
pure virtual

Creates a frame buffer.

Returns
The created frame buffer.

◆ CreateFrameVariableBuffer()

virtual C3D_API FrameVariableBufferSPtr Castor3D::RenderSystem::CreateFrameVariableBuffer ( Castor::String const &  p_name)
pure virtual

Creates a FrameVariableBuffer.

Returns
The created FrameVariableBuffer

◆ CreateGeometryBuffers()

virtual C3D_API GeometryBuffersSPtr Castor3D::RenderSystem::CreateGeometryBuffers ( eTOPOLOGY  p_topology,
ShaderProgram const &  p_program,
VertexBuffer p_vtx,
IndexBuffer p_idx,
VertexBuffer p_bones,
VertexBuffer p_inst 
)
pure virtual

Creates a geometries buffer holder.

Parameters
[in]p_topologyThe buffers topology.
[in]p_programThe shader program.
[in]p_vtxThe vertex buffer.
[in]p_idxThe index buffer.
[in]p_bonesThe bones data buffer.
[in]p_instThe instances matrices buffer.

◆ CreateGlslWriter()

C3D_API GLSL::GlslWriter Castor3D::RenderSystem::CreateGlslWriter ( )
Returns
A pre-configured GlslWriter instance.

◆ CreateIndexBuffer()

virtual C3D_API std::shared_ptr< GpuBuffer< uint32_t > > Castor3D::RenderSystem::CreateIndexBuffer ( CpuBuffer< uint32_t > *  p_buffer)
pure virtual

Creates an index buffer.

Remarks
Only the render system can do that
Parameters
[in]p_bufferThe hardware buffer to which the index buffer will be linked
Returns
The created index buffer, dependant of current API

◆ CreateQuery()

virtual C3D_API GpuQuerySPtr Castor3D::RenderSystem::CreateQuery ( eQUERY_TYPE  p_type)
pure virtual

Creates a GPU query.

Parameters
[in]p_typeThe query type.
Returns
The created GPU query.

◆ CreateRasteriserState()

virtual C3D_API RasteriserStateSPtr Castor3D::RenderSystem::CreateRasteriserState ( )
pure virtual

Create a rasteriser states object.

Returns
The object

◆ CreateSampler()

virtual C3D_API SamplerSPtr Castor3D::RenderSystem::CreateSampler ( Castor::String const &  p_name)
pure virtual

Create a sampler.

Parameters
[in]p_nameThe sampler name
Returns
The object

Referenced by Castor3D::SamplerManager::Create().

+ Here is the caller graph for this function:

◆ CreateShaderProgram() [1/2]

C3D_API ShaderProgramSPtr Castor3D::RenderSystem::CreateShaderProgram ( eSHADER_LANGUAGE  p_langage)

Creates a ShaderProgram in a given language.

Remarks
Only the render system can do that
Parameters
[in]p_langageThe shader language
Returns
The created ShaderProgram

◆ CreateShaderProgram() [2/2]

virtual C3D_API ShaderProgramSPtr Castor3D::RenderSystem::CreateShaderProgram ( )
pure virtual

Creates a ShaderProgram (GLSL or HLSL only)

Returns
The created ShaderProgram

◆ CreateStaticTexture()

virtual C3D_API StaticTextureSPtr Castor3D::RenderSystem::CreateStaticTexture ( )
pure virtual

Creates a texture.

Returns
The created texture, dependant of current API.

◆ CreateVertexBuffer()

virtual C3D_API std::shared_ptr< GpuBuffer< uint8_t > > Castor3D::RenderSystem::CreateVertexBuffer ( CpuBuffer< uint8_t > *  p_buffer)
pure virtual

Creates a vertex buffer.

Remarks
Only the render system can do that
Parameters
[in]p_bufferThe hardware buffer to which the vertex buffer will be linked
Returns
The created vertex buffer, dependant of current API

◆ DoCleanup()

virtual C3D_API void Castor3D::RenderSystem::DoCleanup ( )
protectedpure virtual

Cleans the render system up.

◆ DoInitialise()

virtual C3D_API void Castor3D::RenderSystem::DoInitialise ( )
protectedpure virtual

Initialises the render system.

◆ DoReportTracked()

C3D_API void Castor3D::RenderSystem::DoReportTracked ( )
protected

◆ DoTrack() [1/2]

template<typename T >
bool Castor3D::RenderSystem::DoTrack ( T *  p_object,
std::string const &  p_type,
std::string const &  p_file,
int  p_line,
std::string &  p_name 
)
inlineprotected

References m_allocated, and m_id.

Referenced by DoTrack().

+ Here is the caller graph for this function:

◆ DoTrack() [2/2]

bool Castor3D::RenderSystem::DoTrack ( Castor::Named *  p_object,
std::string const &  p_type,
std::string const &  p_file,
int  p_line,
std::string &  p_name 
)
inlineprotected

References DoTrack().

+ Here is the call graph for this function:

◆ DoUntrack()

template<typename T >
bool Castor3D::RenderSystem::DoUntrack ( T *  p_object,
ObjectDeclaration p_declaration 
)
inlineprotected

◆ GetCurrentCamera()

C3D_API Camera* Castor3D::RenderSystem::GetCurrentCamera ( ) const

Retrieves the currently active camera.

Returns
The camera

◆ GetCurrentContext()

Context* Castor3D::RenderSystem::GetCurrentContext ( )
inline

Retrieves the currently active render context.

Returns
The context

References m_currentContext.

◆ GetGpuTime()

std::chrono::milliseconds Castor3D::RenderSystem::GetGpuTime ( ) const
inline

Retrieves the GPU time.

Returns
The value.

References m_gpuTime.

◆ GetMainContext()

ContextSPtr Castor3D::RenderSystem::GetMainContext ( )
inline

Retrieves the main render context.

Returns
The context

References m_mainContext.

◆ GetMaxShaderModel()

eSHADER_MODEL Castor3D::RenderSystem::GetMaxShaderModel ( )
inline
Returns
The maximum supported shader model.

References m_maxShaderModel.

◆ GetOverlayRenderer()

OverlayRendererSPtr Castor3D::RenderSystem::GetOverlayRenderer ( )
inline

Retrieves the overlay renderer.

Returns
The value

References m_overlayRenderer.

◆ GetPipeline() [1/2]

Pipeline const& Castor3D::RenderSystem::GetPipeline ( ) const
inline

Retrieves the pipeline.

References m_pipeline.

◆ GetPipeline() [2/2]

Pipeline& Castor3D::RenderSystem::GetPipeline ( )
inline

Retrieves the pipeline.

References m_pipeline.

◆ GetPipelineImpl()

virtual C3D_API IPipelineImplSPtr Castor3D::RenderSystem::GetPipelineImpl ( )
pure virtual
Returns
A pipeline implementation, depending on loaded API

◆ GetRendererType()

eRENDERER_TYPE Castor3D::RenderSystem::GetRendererType ( ) const
inline

Retrieves the renderer API.

References m_rendererType.

◆ GetShaderLanguageVersion()

uint32_t Castor3D::RenderSystem::GetShaderLanguageVersion ( ) const
inline
Returns
The shader language version.

References m_shaderLanguageVersion.

◆ GetTopScene()

C3D_API Scene* Castor3D::RenderSystem::GetTopScene ( )

Retrieves the top scene from the stack.

Returns
The scene, nullptr if the stack is void

◆ GetVertexShaderSource()

C3D_API Castor::String Castor3D::RenderSystem::GetVertexShaderSource ( uint32_t  p_programFlags)

Retrieves the vertex shader source matching the given flags.

Parameters
[in]p_programFlagsBitwise ORed ePROGRAM_FLAG

◆ HasAccumulationBuffer()

bool Castor3D::RenderSystem::HasAccumulationBuffer ( ) const
inline

Retrieves the accumulation buffer support.

Returns
The value

References m_accumBuffer.

◆ HasConstantsBuffers()

bool Castor3D::RenderSystem::HasConstantsBuffers ( ) const
inline
Returns
The constant buffers support status.

References m_hasConstantsBuffers.

◆ HasInstancing()

bool Castor3D::RenderSystem::HasInstancing ( ) const
inline

Retrieves the instanced draw calls support.

Returns
The value

References m_instancing.

◆ HasNonPowerOfTwoTextures()

bool Castor3D::RenderSystem::HasNonPowerOfTwoTextures ( ) const
inline

Retrieves the non power of two textures support.

Returns
The value

References m_nonPowerOfTwoTextures.

◆ HasShaderType()

bool Castor3D::RenderSystem::HasShaderType ( eSHADER_TYPE  p_type) const
inline

Tells if the RenderSystem supports given shader type.

Parameters
[in]p_typeThe shader type

References m_useShader.

◆ HasTextureBuffers()

bool Castor3D::RenderSystem::HasTextureBuffers ( ) const
inline
Returns
The texture buffers support status.

References m_hasTextureBuffers.

◆ IncGpuTime()

template<class Rep , class Period >
void Castor3D::RenderSystem::IncGpuTime ( std::chrono::duration< Rep, Period > const &  p_time)
inline

Increments the GPU time.

Parameters
[in]p_timeThe increment value.

References m_gpuTime.

◆ Initialise()

C3D_API void Castor3D::RenderSystem::Initialise ( )

Initialises the render system.

◆ IsInitialised()

bool Castor3D::RenderSystem::IsInitialised ( ) const
inline

Tells if the RenderSystem is initialised.

References m_initialised.

◆ IsStereoAvailable()

bool Castor3D::RenderSystem::IsStereoAvailable ( ) const
inline

Tells if the RenderSystem supports stereo.

References m_stereoAvailable.

◆ PopScene()

C3D_API void Castor3D::RenderSystem::PopScene ( )

Pops a scene from the stack.

◆ PushScene()

C3D_API void Castor3D::RenderSystem::PushScene ( Scene p_scene)

Pushes a scene on th stack.

Parameters
[in]p_sceneThe scene

◆ RenderAmbientLight()

C3D_API void Castor3D::RenderSystem::RenderAmbientLight ( Castor::Colour const &  p_clColour,
FrameVariableBuffer p_variableBuffer 
)

Renders the scene ambient lighting.

Parameters
[in]p_clColourThe light colour
[in]p_variableBufferThe variable buffer that receives the ambient light

◆ ResetGpuTime()

void Castor3D::RenderSystem::ResetGpuTime ( )
inline

Resets the GPU time.

References m_gpuTime.

◆ SetCurrentCamera()

C3D_API void Castor3D::RenderSystem::SetCurrentCamera ( Camera p_pCamera)

Defines the currently active camera.

Parameters
[in]p_pCameraThe camera

◆ SetCurrentContext()

void Castor3D::RenderSystem::SetCurrentContext ( Context p_context)
inline

Sets the currently active render context.

Parameters
[in]p_contextThe context

References m_currentContext.

◆ SetMainContext()

void Castor3D::RenderSystem::SetMainContext ( ContextSPtr  p_context)
inline

Sets the main render context.

Parameters
[in]p_contextThe context

References m_mainContext.

◆ SetStereoAvailable()

void Castor3D::RenderSystem::SetStereoAvailable ( bool  p_bStereo)
inline

Defines if the RenderSystem supports stereo.

References m_stereoAvailable.

Friends And Related Function Documentation

◆ RendererAdder

template<class Ty >
friend struct RendererAdder
friend

◆ RendererCreator

template<class Ty >
friend struct RendererCreator
friend

Member Data Documentation

◆ m_accumBuffer

bool Castor3D::RenderSystem::m_accumBuffer
protected

Tells whether or not the selected render API supports accumulation buffers.

Referenced by HasAccumulationBuffer().

◆ m_allocated

std::list< ObjectDeclaration > Castor3D::RenderSystem::m_allocated
protected

Referenced by DoTrack(), and DoUntrack().

◆ m_currentContext

ContextRPtr Castor3D::RenderSystem::m_currentContext
protected

The currently active render context.

Referenced by GetCurrentContext(), and SetCurrentContext().

◆ m_gpuTime

std::chrono::milliseconds Castor3D::RenderSystem::m_gpuTime
protected

The time spent on GPU for current frame.

Referenced by GetGpuTime(), IncGpuTime(), and ResetGpuTime().

◆ m_hasConstantsBuffers

bool Castor3D::RenderSystem::m_hasConstantsBuffers
protected

The constants buffers support status.

Referenced by HasConstantsBuffers().

◆ m_hasTextureBuffers

bool Castor3D::RenderSystem::m_hasTextureBuffers
protected

The texture buffers support status.

Referenced by HasTextureBuffers().

◆ m_id

uint32_t Castor3D::RenderSystem::m_id = 0
protected

Referenced by DoTrack().

◆ m_initialised

bool Castor3D::RenderSystem::m_initialised
protected

Tells whether or not it is initialised.

Referenced by IsInitialised().

◆ m_instancing

bool Castor3D::RenderSystem::m_instancing
protected

Tells whether or not the selected render API supports instanced draw calls.

Referenced by HasInstancing().

◆ m_mainContext

ContextSPtr Castor3D::RenderSystem::m_mainContext
protected

The main render context.

Referenced by GetMainContext(), and SetMainContext().

◆ m_maxShaderModel

eSHADER_MODEL Castor3D::RenderSystem::m_maxShaderModel
protected

The maximum supported shader model.

Referenced by CheckSupport(), and GetMaxShaderModel().

◆ m_mutex

std::recursive_mutex Castor3D::RenderSystem::m_mutex
protected

Mutex used to make this class thread safe.

◆ m_nonPowerOfTwoTextures

bool Castor3D::RenderSystem::m_nonPowerOfTwoTextures
protected

Tells whether or not the selected render API supports non power of two textures.

Referenced by HasNonPowerOfTwoTextures().

◆ m_overlayRenderer

OverlayRendererSPtr Castor3D::RenderSystem::m_overlayRenderer
protected

The overlay renderer.

Referenced by GetOverlayRenderer().

◆ m_pCurrentCamera

CameraRPtr Castor3D::RenderSystem::m_pCurrentCamera
protected

The currently active camera.

◆ m_pipeline

std::unique_ptr< Pipeline > Castor3D::RenderSystem::m_pipeline
protected

The matrix pipeline.

Referenced by GetPipeline().

◆ m_rendererType

eRENDERER_TYPE Castor3D::RenderSystem::m_rendererType
protected

The current loaded renderer api type.

Referenced by GetRendererType().

◆ m_shaderLanguageVersion

uint32_t Castor3D::RenderSystem::m_shaderLanguageVersion
protected

The shader language version.

Referenced by GetShaderLanguageVersion().

◆ m_stackScenes

std::stack< SceneRPtr > Castor3D::RenderSystem::m_stackScenes
protected

Scene stack.

◆ m_stereoAvailable

bool Castor3D::RenderSystem::m_stereoAvailable
protected

Tells the RenderSystem supports stereo.

Referenced by IsStereoAvailable(), and SetStereoAvailable().

◆ m_useShader

bool Castor3D::RenderSystem::m_useShader[eSHADER_TYPE_COUNT]
protected

Tells which types of shaders are supported.

Referenced by HasShaderType().


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