PixelLightAPI  .
Public Member Functions | Public Attributes | Protected Member Functions
PLScene::SceneRenderer Class Reference

Scene renderer class. More...

#include <SceneRenderer.h>

Inheritance diagram for PLScene::SceneRenderer:
Inheritance graph
[legend]

List of all members.

Public Member Functions

PLS_API SceneRendererManagerGetSceneRendererManager () const
 Returns the scene renderer manager this scene renderer is in.
PLS_API SceneRendererPassCreate (const PLCore::String &sClass, const PLCore::String &sName="", const PLCore::String &sParameters="")
 Creates a new scene renderer pass.
virtual PLS_API bool Unload () override
 Unloads the loadable.
virtual PLS_API PLCore::String GetLoadableTypeName () const override
 Returns the loadable type name.

Public Attributes

PLCore::Event EventDestroyed

Protected Member Functions

PLS_API SceneRenderer (SceneRendererManager &cManager, const PLCore::String &sName)
 Constructor.
virtual PLS_API ~SceneRenderer ()
 Destructor.

Detailed Description

Scene renderer class.

Remarks:
A scene renderer 'just' renders the scene visibility tree provided by the scene cull query. (SQCull) Quite primitive scene renderers can be implemented completely within one scene renderer class. If a lot of special effects and so one are required, we strongly recommend to split up the rendering into multiple self-containing rendering passes. Have a look into the 'SceneRendererPass' class documentation for more information about this topic.
Note:
  • Derived classes should use a 'SR'-prefix (example: SRBegin)
  • Prefer creating new scene renderer passes instead of scene renderer

Constructor & Destructor Documentation

PLS_API PLScene::SceneRenderer::SceneRenderer ( SceneRendererManager cManager,
const PLCore::String sName 
) [protected]

Constructor.

Parameters:
[in]cManagerScene renderer manager using this resource
[in]sNameResource name to set
virtual PLS_API PLScene::SceneRenderer::~SceneRenderer ( ) [protected, virtual]

Destructor.


Member Function Documentation

Returns the scene renderer manager this scene renderer is in.

Returns:
The scene renderer manager this shader is in
PLS_API SceneRendererPass* PLScene::SceneRenderer::Create ( const PLCore::String sClass,
const PLCore::String sName = "",
const PLCore::String sParameters = "" 
)

Creates a new scene renderer pass.

Parameters:
[in]sClassName of the scene renderer pass class to create an instance from
[in]sNameScene renderer pass name
[in]sParametersOptional parameter string
Returns:
Pointer to the new scene renderer pass or a null pointer if something went wrong (maybe unknown class or the class is not derived from SceneRendererPass)
Note:
  • If the desired name is already in use, the name is chosen automatically
virtual PLS_API bool PLScene::SceneRenderer::Unload ( ) [override, virtual]

Unloads the loadable.

Returns:
'true' if all went fine, else 'false'

Reimplemented from PLCore::Loadable.

virtual PLS_API PLCore::String PLScene::SceneRenderer::GetLoadableTypeName ( ) const [override, virtual]

Returns the loadable type name.

Returns:
The loadable type name

Reimplemented from PLCore::Loadable.


Member Data Documentation

Scene renderer destroyed event. When this event is emitted the scene renderer is already in the destruction phase and parts may already be invalid. Best to e.g. only update our scene renderer pointer.


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


PixelLight PixelLight 0.9.11-R1
Copyright (C) 2002-2012 by The PixelLight Team
Last modified Thu Feb 23 2012 14:09:40
The content of this PixelLight document is published under the
Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported