ProcessedCustomMaterial Class Reference

#include <processedCustomMaterial.h>

Inheritance diagram for ProcessedCustomMaterial:

Inheritance graph
[legend]
List of all members.

Public Member Functions

 ProcessedCustomMaterial (Material &mat)
 ~ProcessedCustomMaterial ()
virtual bool setupPass (SceneState *, const SceneGraphData &sgData, U32 pass)
 Sets up the given pass for rendering.
virtual void init (const GFXMaterialFeatureData::FeatureListHandle &features, GFXVertexFlags vertFlags)
 Creates the passes, generates our shaders, and all that other initialization stuff.
virtual void setTextureStages (SceneState *, const SceneGraphData &sgData, U32 pass)
 Binds all of the necessary textures for the given pass.
virtual void cleanup (U32 pass)
 Cleans up the given pass (or will anyways).
virtual MaterialParametersallocMaterialParameters ()
 Returns a shader constant block.

Protected Member Functions

virtual void _setStageData ()
 Loads textures and such for all of our stages.
virtual bool _hasCubemap (U32 pass)
 Do we have a cubemap on pass?
void _initPassStateBlock (const Material::BlendOp blendOp, U32 numTex, const U32 texFlags[Material::MAX_TEX_PER_PASS], GFXStateBlockDesc &result)
 Does the base render state block setting, normally per pass.
virtual void _initPassStateBlocks ()

Private Types

typedef ProcessedShaderMaterial Parent

Private Member Functions

template<typename T>
void setMaterialParameter (MaterialParameters *param, MaterialParameterHandle *handle, const String &value)
void setMatrixParameter (MaterialParameters *param, MaterialParameterHandle *handle, const String &value, GFXShaderConstType matrixType)

Private Attributes

CustomMaterialmCustomMaterial
U32 mMaxTex
 How many textures we have.

Member Typedef Documentation


Constructor & Destructor Documentation

ProcessedCustomMaterial::ProcessedCustomMaterial ( Material mat  ) 

ProcessedCustomMaterial::~ProcessedCustomMaterial (  ) 


Member Function Documentation

virtual bool ProcessedCustomMaterial::setupPass ( SceneState ,
const SceneGraphData sgData,
U32  pass 
) [virtual]

Sets up the given pass for rendering.

Reimplemented from ProcessedShaderMaterial.

virtual void ProcessedCustomMaterial::init ( const GFXMaterialFeatureData::FeatureListHandle features,
GFXVertexFlags  vertFlags 
) [virtual]

Creates the passes, generates our shaders, and all that other initialization stuff.

Reimplemented from ProcessedShaderMaterial.

virtual void ProcessedCustomMaterial::setTextureStages ( SceneState ,
const SceneGraphData sgData,
U32  pass 
) [virtual]

Binds all of the necessary textures for the given pass.

Reimplemented from ProcessedShaderMaterial.

virtual void ProcessedCustomMaterial::cleanup ( U32  pass  )  [virtual]

Cleans up the given pass (or will anyways).

Reimplemented from ProcessedShaderMaterial.

virtual MaterialParameters* ProcessedCustomMaterial::allocMaterialParameters (  )  [virtual]

Returns a shader constant block.

Reimplemented from ProcessedShaderMaterial.

virtual void ProcessedCustomMaterial::_setStageData (  )  [protected, virtual]

Loads textures and such for all of our stages.

Reimplemented from ProcessedShaderMaterial.

virtual bool ProcessedCustomMaterial::_hasCubemap ( U32  pass  )  [protected, virtual]

Do we have a cubemap on pass?

Reimplemented from ProcessedShaderMaterial.

void ProcessedCustomMaterial::_initPassStateBlock ( const Material::BlendOp  blendOp,
U32  numTex,
const U32  texFlags[Material::MAX_TEX_PER_PASS],
GFXStateBlockDesc result 
) [protected, virtual]

Does the base render state block setting, normally per pass.

Reimplemented from ProcessedMaterial.

virtual void ProcessedCustomMaterial::_initPassStateBlocks (  )  [protected, virtual]

template<typename T>
void ProcessedCustomMaterial::setMaterialParameter ( MaterialParameters param,
MaterialParameterHandle handle,
const String value 
) [private]

void ProcessedCustomMaterial::setMatrixParameter ( MaterialParameters param,
MaterialParameterHandle handle,
const String value,
GFXShaderConstType  matrixType 
) [private]


Member Data Documentation

How many textures we have.