Lighting::LightPrePassServer Class Reference
#include <lightprepassserver.h>
Inheritance diagram for Lighting::LightPrePassServer:

Detailed Description
A LightServer which implements pre-light-pass rendering. Check here for details: http://diaryofagraphicsprogrammer.blogspot.com/2008/03/light-pre-pass-renderer.html(C) 2009 Radon Labs GmbH
Public Member Functions | |
| LightPrePassServer () | |
| constructor | |
| virtual | ~LightPrePassServer () |
| destructor | |
| void | Open () |
| open the light server | |
| void | Close () |
| close the light server | |
| bool | NeedsLightModelLinking () const |
| pre-light-pass doesn't require light/model linking | |
| void | AttachVisibleLight (const Ptr< InternalAbstractLightEntity > &lightEntity) |
| attach a visible light source | |
| void | EndFrame () |
| end lighting frame | |
| void | RenderLights () |
| render light pass | |
| bool | IsOpen () const |
| return true if light server is open | |
| void | BeginFrame (const Ptr< InternalGraphics::InternalCameraEntity > &cameraEntity) |
| begin lighting frame | |
| void | BeginAttachVisibleLights () |
| begin attaching visible light sources | |
| void | EndAttachVisibleLights () |
| end attaching visible light sources | |
| void | ApplyModelEntityLights (const Ptr< InternalGraphics::InternalModelEntity > &modelEntity) |
| apply lighting parameters for a visible model entity | |
| int | GetRefCount () const |
| get the current refcount | |
| void | AddRef () |
| increment refcount by one | |
| void | Release () |
| decrement refcount and destroy object if refcount is zero | |
| bool | IsInstanceOf (const Rtti &rtti) const |
| return true if this object is instance of given class | |
| bool | IsInstanceOf (const Util::String &className) const |
| return true if this object is instance of given class by string | |
| bool | IsInstanceOf (const Util::FourCC &classFourCC) const |
| return true if this object is instance of given class by fourcc | |
| bool | IsA (const Rtti &rtti) const |
| return true if this object is instance of given class, or a derived class | |
| bool | IsA (const Util::String &rttiName) const |
| return true if this object is instance of given class, or a derived class, by string | |
| bool | IsA (const Util::FourCC &rttiFourCC) const |
| return true if this object is instance of given class, or a derived class, by fourcc | |
| const Util::String & | GetClassName () const |
| get the class name | |
| Util::FourCC | GetClassFourCC () const |
| get the class FourCC code | |
Static Public Member Functions | |
| static void | DumpRefCountingLeaks () |
| dump refcounting leaks, call at end of application (NEBULA3_DEBUG builds only!) | |
Protected Member Functions | |
| void | RenderGlobalLight () |
| render the global light | |
| void | RenderPointLights () |
| render all point lights | |
| void | RenderSpotLights () |
| render all spot lights | |
| void | AssignRenderBufferTextures () |
| assign render buffers to shaders (one time init) | |
Member Function Documentation
| bool Lighting::LightPrePassServer::NeedsLightModelLinking | ( | ) | const |
pre-light-pass doesn't require light/model linking
Indicate whether the light server requires visibility links between lights and models. Deferred lighting solutions usually don't need this. FIXME: EXCEPT for shadow map rendering!!
Reimplemented from Lighting::LightServerBase.
| void Lighting::LightPrePassServer::RenderGlobalLight | ( | ) | [protected] |
render the global light
Render the global light as a fullscreen quad.
| void Lighting::LightPrePassServer::RenderPointLights | ( | ) | [protected] |
render all point lights
Render point lights into the LightBuffer.
| void Lighting::LightPrePassServer::AssignRenderBufferTextures | ( | ) | [protected] |
assign render buffers to shaders (one time init)
This does a one-time init of setting the NormalDepthBuffer and LightBuffer as shader variables.
| void Lighting::LightServerBase::ApplyModelEntityLights | ( | const Ptr< InternalGraphics::InternalModelEntity > & | modelEntity | ) | [inherited] |
apply lighting parameters for a visible model entity
This method is called during rendering to apply lighting parameters to the provided ModelEntity.
Reimplemented in Lighting::SM30LightServer.
| int Core::RefCounted::GetRefCount | ( | ) | const [inline, inherited] |
get the current refcount
Return the current refcount of the object.
| void Core::RefCounted::AddRef | ( | ) | [inline, inherited] |
increment refcount by one
Increment the refcount of the object.
| void Core::RefCounted::Release | ( | ) | [inline, inherited] |
decrement refcount and destroy object if refcount is zero
Decrement the refcount and destroy object if refcount is zero.
| const Util::String & Core::RefCounted::GetClassName | ( | ) | const [inline, inherited] |
get the class name
Get the class name of the object.
| Util::FourCC Core::RefCounted::GetClassFourCC | ( | ) | const [inline, inherited] |
get the class FourCC code
Get the class FourCC of the object.
| void Core::RefCounted::DumpRefCountingLeaks | ( | ) | [static, inherited] |
dump refcounting leaks, call at end of application (NEBULA3_DEBUG builds only!)
This method should be called as the very last before an application exits.