Public Types | Public Member Functions

IGameFXProperty Class Reference

Search for all occurrences

Detailed Description

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>

Inheritance diagram for IGameFXProperty:
Inheritance graph
[legend]

List of all members.

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.

Member Enumeration Documentation

Enumerator:
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.


Constructor & Destructor Documentation

virtual ~IGameFXProperty ( ) [inline, virtual]

Destructor.

{;}

Member Function Documentation

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.

virtual bool GetPipeStates ( int  index,
MSTR key,
MSTR value 
) [pure virtual]

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.


IGameFXProperty IGameFXProperty IGameFXProperty IGameFXProperty IGameFXProperty IGameFXProperty IGameFXProperty IGameFXProperty IGameFXProperty IGameFXProperty
IGameFXProperty IGameFXProperty IGameFXProperty IGameFXProperty IGameFXProperty IGameFXProperty IGameFXProperty IGameFXProperty IGameFXProperty IGameFXProperty