The Nebula Device 3: Frame::FramePostEffect Class Reference

The Nebula Device 3

Frame::FramePostEffect Class Reference

#include <frameposteffect.h>

Inheritance diagram for Frame::FramePostEffect:

Frame::FramePassBase Core::RefCounted

Detailed Description

A frame post-effect implements draws a fullscreen quad through a shader which implements the post effect. Additionally it is possible to add render batches to a post effect, these will be called after the fullscreen quad is rendered, allowing the application to render stuff on top of the final frame.

(C) 2007 Radon Labs GmbH

Public Member Functions

 FramePostEffect ()
 constructor
virtual ~FramePostEffect ()
 destructor
void Setup ()
 setup the post effect
virtual void Discard ()
 discard the post effect
virtual void Render ()
 render the post effect
void SetName (const Resources::ResourceId &resId)
 set the name of the frame pass
const Resources::ResourceIdGetName () const
 get the name of the frame pass
void SetShader (const Ptr< CoreGraphics::ShaderInstance > &shd)
 set pass shader
const Ptr< CoreGraphics::ShaderInstance > & GetShader () const
 get pass shader
void SetRenderTarget (const Ptr< CoreGraphics::RenderTarget > &rt)
 set render target
const Ptr< CoreGraphics::RenderTarget > & GetRenderTarget () const
 get render target
void SetMultipleRenderTarget (const Ptr< CoreGraphics::MultipleRenderTarget > &rt)
 set multiple render target
const Ptr< CoreGraphics::MultipleRenderTarget > & GetMultipleRenderTarget () const
 get multiple render target
void AddVariable (const Ptr< CoreGraphics::ShaderVariableInstance > &var)
 add a shader variable instance to the frame pass
SizeT GetNumVariables () const
 get number of shader variables
const Ptr< CoreGraphics::ShaderVariableInstance > & GetVariableByIndex (IndexT i) const
 get shader variable by index
void AddBatch (const Ptr< FrameBatch > &batch)
 add a frame batch to the frame pass
SizeT GetNumBatches () const
 get number of frame batches
const Ptr< FrameBatch > & GetBatchByIndex (IndexT i) const
 get batch by index
void SetClearFlags (uint clearFlags)
 set clear flags (mask of RenderTarget::Clear*)
uint GetClearFlags () const
 get clear flags
void SetClearColor (const Math::float4 &c)
 set clear color for all rendertargets
const Math::float4GetClearColor () const
 get clear color
void SetClearDepth (float d)
 set clear depth for all rendertargets
float GetClearDepth () const
 get clear depth
void SetClearStencil (uchar s)
 set clear stencil value for all rendertargets
uchar GetClearStencil () const
 get clear stencil value
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::StringGetClassName () 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!)

Member Function Documentation

void Frame::FramePostEffect::Setup (  ) 

setup the post effect

This setsup the quad mesh for rendering the fullscreen quad.

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.