BaseMatInstance Class Reference

#include <baseMatInstance.h>

Inheritance diagram for BaseMatInstance:

Inheritance graph
[legend]
List of all members.

Public Member Functions

virtual ~BaseMatInstance ()
virtual void addStateBlockDesc (const GFXStateBlockDesc &desc)=0
 Add this stateblock to the base state block and recalculate everything.
virtual MaterialParametersallocMaterialParameters ()=0
 Get a MaterialParameters block for this BaseMatInstance, caller is responsible for freeing it.
virtual void setMaterialParameters (MaterialParameters *param)=0
 Set the current parameters for this BaseMatInstance.
virtual MaterialParametersgetMaterialParameters ()=0
 Get the current parameters for this BaseMatInstance (BaseMatInstances are created with a default active MaterialParameters which is managed by BaseMatInstance.
virtual MaterialParameterHandlegetMaterialParameterHandle (const String &name)=0
 Returns a MaterialParameterHandle for name.
virtual bool setupPass (SceneState *, const SceneGraphData &sgData)=0
virtual void setTransforms (const MatrixF &world, const MatrixF &view, const MatrixF &projection)=0
virtual void setLightInfo (SceneState *, const SceneGraphData &sgData)=0
virtual void setEyePosition (MatrixF objTrans, Point3F position)=0
virtual void setBuffers (GFXVertexBufferHandleBase *vertBuffer, GFXPrimitiveBufferHandle *primBuffer)=0
virtual void setTextureStages (SceneState *, const SceneGraphData &sgData)=0
virtual void init (const GFXMaterialFeatureData::FeatureListHandle instanceData, const GFXMaterialFeatureData::FeatureListHandle globalData, GFXVertexFlags vertFlags)=0
virtual void reInit (const GFXMaterialFeatureData::FeatureListHandle globalData)=0
virtual BaseMaterialDefinitiongetMaterial ()=0
virtual bool hasGlow ()=0
virtual U32 getCurPass ()=0
virtual U32 getCurStageNum ()=0
virtual RenderPassDatagetPass (U32 pass)=0
virtual GFXMaterialFeatureData::FeatureListHandle getFeatureData () const =0
virtual const GFXVertexFlags getVertFlags () const =0
virtual void dumpShaderInfo () const

Public Attributes

String mMatNameStr
MatInstanceHookmLightingHook

Constructor & Destructor Documentation

virtual BaseMatInstance::~BaseMatInstance (  )  [inline, virtual]


Member Function Documentation

virtual void BaseMatInstance::addStateBlockDesc ( const GFXStateBlockDesc desc  )  [pure virtual]

Add this stateblock to the base state block and recalculate everything.

Implemented in MatInstance.

virtual MaterialParameters* BaseMatInstance::allocMaterialParameters (  )  [pure virtual]

Get a MaterialParameters block for this BaseMatInstance, caller is responsible for freeing it.

Implemented in MatInstance.

virtual void BaseMatInstance::setMaterialParameters ( MaterialParameters param  )  [pure virtual]

Set the current parameters for this BaseMatInstance.

Implemented in MatInstance.

virtual MaterialParameters* BaseMatInstance::getMaterialParameters (  )  [pure virtual]

Get the current parameters for this BaseMatInstance (BaseMatInstances are created with a default active MaterialParameters which is managed by BaseMatInstance.

Implemented in MatInstance.

virtual MaterialParameterHandle* BaseMatInstance::getMaterialParameterHandle ( const String name  )  [pure virtual]

Returns a MaterialParameterHandle for name.

Implemented in MatInstance.

virtual bool BaseMatInstance::setupPass ( SceneState ,
const SceneGraphData sgData 
) [pure virtual]

Implemented in MatInstance.

virtual void BaseMatInstance::setTransforms ( const MatrixF world,
const MatrixF view,
const MatrixF projection 
) [pure virtual]

Implemented in MatInstance.

virtual void BaseMatInstance::setLightInfo ( SceneState ,
const SceneGraphData sgData 
) [pure virtual]

Implemented in MatInstance.

virtual void BaseMatInstance::setEyePosition ( MatrixF  objTrans,
Point3F  position 
) [pure virtual]

Implemented in MatInstance.

virtual void BaseMatInstance::setBuffers ( GFXVertexBufferHandleBase vertBuffer,
GFXPrimitiveBufferHandle primBuffer 
) [pure virtual]

Implemented in MatInstance.

virtual void BaseMatInstance::setTextureStages ( SceneState ,
const SceneGraphData sgData 
) [pure virtual]

Implemented in MatInstance.

virtual void BaseMatInstance::init ( const GFXMaterialFeatureData::FeatureListHandle  instanceData,
const GFXMaterialFeatureData::FeatureListHandle  globalData,
GFXVertexFlags  vertFlags 
) [pure virtual]

Parameters:
instanceData Should contain all of the features that this instance can support. For example, if it supports lightmaps then LightMap should be turned on, but if it's an instance for a mesh without lightmaps, then lightmap should be off.
globalData Used to turn features on and off at a more broad level. By default, just get the one from the MaterialManager. This and instance data are AND'ed together and used with the material setup to figure out which features to turn on and off.
vertFlags The vertex type to be used with this instance.

Implemented in MatInstance.

virtual void BaseMatInstance::reInit ( const GFXMaterialFeatureData::FeatureListHandle  globalData  )  [pure virtual]

Implemented in MatInstance.

virtual BaseMaterialDefinition* BaseMatInstance::getMaterial (  )  [pure virtual]

Implemented in MatInstance.

virtual bool BaseMatInstance::hasGlow (  )  [pure virtual]

Implemented in MatInstance.

virtual U32 BaseMatInstance::getCurPass (  )  [pure virtual]

Implemented in MatInstance.

virtual U32 BaseMatInstance::getCurStageNum (  )  [pure virtual]

Implemented in MatInstance.

virtual RenderPassData* BaseMatInstance::getPass ( U32  pass  )  [pure virtual]

Implemented in MatInstance.

virtual GFXMaterialFeatureData::FeatureListHandle BaseMatInstance::getFeatureData (  )  const [pure virtual]

Implemented in MatInstance.

virtual const GFXVertexFlags BaseMatInstance::getVertFlags (  )  const [pure virtual]

Implemented in MatInstance.

virtual void BaseMatInstance::dumpShaderInfo (  )  const [inline, virtual]

Reimplemented in MatInstance.


Member Data Documentation