Direct3D9::D3D9ShaderInstance Class Reference
#include <d3d9shaderinstance.h>

Detailed Description
D3D9 implementation of CoreGraphics::ShaderInstance.
- Todo:
- lost/reset device handling
Public Member Functions | |
| D3D9ShaderInstance () | |
| constructor | |
| virtual | ~D3D9ShaderInstance () |
| destructor | |
| ID3DXEffect * | GetD3D9Effect () const |
| get pointer to d3d9 effect object | |
| bool | SelectActiveVariation (CoreGraphics::ShaderFeature::Mask featureMask) |
| select active variation by feature mask | |
| SizeT | Begin () |
| begin rendering through the currently selected variation, returns no. passes | |
| void | BeginPass (IndexT passIndex) |
| begin pass | |
| void | Commit () |
| commit changes before rendering | |
| void | EndPass () |
| end pass | |
| void | End () |
| end rendering through variation | |
| void | Discard () |
| discard the shader instance, must be called when instance no longer needed | |
| bool | IsValid () const |
| return true if this object is valid | |
|
const Ptr < CoreGraphics::Shader > & | GetOriginalShader () const |
| get pointer to original shader which created this instance | |
| bool | HasVariableByName (const CoreGraphics::ShaderVariable::Name &n) const |
| return true if the shader instance has a variable by name | |
| bool | HasVariableBySemantic (const CoreGraphics::ShaderVariable::Semantic &n) const |
| return true if shader has variable by semantic | |
| SizeT | GetNumVariables () const |
| get number of variables | |
|
const Ptr < CoreGraphics::ShaderVariable > & | GetVariableByIndex (IndexT i) const |
| get a variable by index | |
|
const Ptr < CoreGraphics::ShaderVariable > & | GetVariableByName (const CoreGraphics::ShaderVariable::Name &n) const |
| get a variable by name | |
|
const Ptr < CoreGraphics::ShaderVariable > & | GetVariableBySemantic (const CoreGraphics::ShaderVariable::Semantic &s) const |
| get a variable by semantic | |
| bool | HasVariation (CoreGraphics::ShaderFeature::Mask featureMask) const |
| return true if variation exists by matching feature mask | |
| SizeT | GetNumVariations () const |
| get number of variations in the shader | |
|
const Ptr < CoreGraphics::ShaderVariation > & | GetVariationByIndex (IndexT i) const |
| get shader variation by index | |
|
const Ptr < CoreGraphics::ShaderVariation > & | GetVariationByFeatureMask (CoreGraphics::ShaderFeature::Mask featureMask) const |
| get shader variation by feature mask | |
|
const Ptr < CoreGraphics::ShaderVariation > & | GetActiveVariation () const |
| get currently active variation | |
| void | AddPreShader (const Ptr< CoreGraphics::PreShader > &preShader) |
| add a pre-shader | |
| void | RemovePreShader (const Ptr< CoreGraphics::PreShader > &preShader) |
| remove a pre-shader | |
|
const Util::Array < Ptr < CoreGraphics::PreShader > > & | GetPreShaders () const |
| get array of pre-shaders | |
| 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 | |
| virtual void | Setup (const Ptr< CoreGraphics::Shader > &origShader) |
| setup the shader instance from its original shader object | |
| virtual void | Cleanup () |
| cleanup the shader instance | |
| void | OnLostDevice () |
| called by d3d9 shader server when d3d9 device is lost | |
| void | OnResetDevice () |
| called by d3d9 shader server when d3d9 device is reset | |
Member Function Documentation
| void Direct3D9::D3D9ShaderInstance::Setup | ( | const Ptr< CoreGraphics::Shader > & | origShader | ) | [protected, virtual] |
setup the shader instance from its original shader object
This method is called by Shader::CreateInstance() to setup the new shader instance.
Reimplemented from Base::ShaderInstanceBase.
| void Base::ShaderInstanceBase::Discard | ( | ) | [inherited] |
discard the shader instance, must be called when instance no longer needed
This method must be called when the object is no longer needed for proper cleanup.
| 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.