An interface that holds the data for an individual parameter in the D3D effect. This will include global parameters, samplers and transform data.
The IGameFX interface will try to match any parameter with its host data. For the DxMaterial this would be the paramblock that drives basic parameters. For the DxStdMtl the parameters are driven by the host StdMtl2, but all lighting data is patched in so a "binding" node can be access. A binding node is a max node that drives the data. For a light this could be position, direction, color, falloff and hotspot. The semantic will define the usage. A binding token will eventually be used to define by name where the parameter lives in the scenegraph
#include <IGameFX.h>
Public Types |
|
enum | IGameFXPropUsage { IGAMEFX_GENERAL, IGAMEFX_SAMPLER, IGAMEFX_LIGHT, IGAMEFX_TEXTURE } |
Public Member Functions |
|
virtual | ~IGameFXProperty () |
Destructor. |
|
virtual IGameProperty * | GetIGameProperty ()=0 |
Get the IGameProperty of the effect
property. |
|
virtual IGameFXPropUsage | GetPropertyUsage ()=0 |
This defines what the property is - General
means a basic parameter, Sampler means a texture sampler. you can
use this to determine whether pipe state exist. |
|
virtual const MCHAR * | GetFXSemantic ()=0 |
Get the semantic for the parameter. |
|
virtual int | GetNumberOfFXAnnotations ()=0 |
The number of annotations for the parameter.
|
|
virtual bool | GetFXAnnotation (int index, MSTR *languageType, MSTR *key, MSTR *value)=0 |
A key/Value pair defining the name of value
of the annotation. The High level language type id also provided.
|
|
virtual const MCHAR * | GetFXDefaultValue ()=0 |
the default value of the parameter if
supplied |
|
virtual int | GetNumberofFXPipeStates ()=0 |
The number of render states values the
parameter has. This would typicaly be based on a Sampler. |
|
virtual bool | GetPipeStates (int index, MSTR *key, MSTR *value)=0 |
The key/value pair of any pipeline states
supported in the effect. At the parameter level this will usually
be a Sampler. |
|
virtual const MCHAR * | GetPropertyName ()=0 |
The name of the property fround in the
effect file. |
|
virtual const MCHAR * | GetPropertyType ()=0 |
The type of the property e.g. float4, int,
bool etc.. |
|
virtual IGameNode * | GetBindingNode ()=0 |
Get the Binding Node. |
enum IGameFXPropUsage |
IGAMEFX_GENERAL |
General property, such a a float or transform param. |
IGAMEFX_SAMPLER |
A texture sampler, will propabaly have a pipe state. |
IGAMEFX_LIGHT |
A light property - a binding node is used. |
IGAMEFX_TEXTURE |
A Texture property - this would be a Bitmap in max. |
virtual ~IGameFXProperty | ( | ) | [inline, virtual] |
Destructor.
{;}
virtual IGameProperty* GetIGameProperty | ( | ) | [pure virtual] |
Get the IGameProperty of the effect property.
The IGameFx interface will try to extract all relevant data between the host material and the effect. Any paramblock data that is used to drive the effect will be stored in an IGameProperty
virtual IGameFXPropUsage GetPropertyUsage | ( | ) | [pure virtual] |
This defines what the property is - General means a basic parameter, Sampler means a texture sampler. you can use this to determine whether pipe state exist.
virtual const MCHAR* GetFXSemantic | ( | ) | [pure virtual] |
Get the semantic for the parameter.
virtual int GetNumberOfFXAnnotations | ( | ) | [pure virtual] |
The number of annotations for the parameter.
virtual bool GetFXAnnotation | ( | int | index, |
MSTR * | languageType, | ||
MSTR * | key, | ||
MSTR * | value | ||
) | [pure virtual] |
A key/Value pair defining the name of value of the annotation. The High level language type id also provided.
virtual const MCHAR* GetFXDefaultValue | ( | ) | [pure virtual] |
the default value of the parameter if supplied
virtual int GetNumberofFXPipeStates | ( | ) | [pure virtual] |
The number of render states values the parameter has. This would typicaly be based on a Sampler.
The key/value pair of any pipeline states supported in the effect. At the parameter level this will usually be a Sampler.
virtual const MCHAR* GetPropertyName | ( | ) | [pure virtual] |
The name of the property fround in the effect file.
virtual const MCHAR* GetPropertyType | ( | ) | [pure virtual] |
The type of the property e.g. float4, int, bool etc..
virtual IGameNode* GetBindingNode | ( | ) | [pure virtual] |
Get the Binding Node.