The Nebula Device 3: Base::ShaderVariationBase Class Reference

The Nebula Device 3

Base::ShaderVariationBase Class Reference

#include <shadervariationbase.h>

Inheritance diagram for Base::ShaderVariationBase:

Core::RefCounted Direct3D9::D3D9ShaderVariation CoreGraphics::ShaderVariation

Detailed Description

A shader variation is part of a shader which implements a specific behaviour of the shader, identified by a set of "features". Shader variations may implement a depth-only version of the shader, or geometry-deformed-versions of the shader like skinning or shape-blending. There is no pre-defined set of variation feature, this depends on the actually implemented render pipeline.

(C) 2007 Radon Labs GmbH

Public Member Functions

 ShaderVariationBase ()
 constructor
virtual ~ShaderVariationBase ()
 destructor
const NameGetName () const
 get the shader variation's name
CoreGraphics::ShaderFeature::Mask GetFeatureMask () const
 get the feature bit mask of this variation
SizeT GetNumPasses () const
 get number of passes in this variation
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!)

Protected Member Functions

void SetName (const Name &n)
 set variation name
void SetFeatureMask (CoreGraphics::ShaderFeature::Mask m)
 set feature bit mask of this variation
void SetNumPasses (SizeT n)
 set number of passes

Member Function Documentation

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.