#include <FCDEffectProfileFX.h>
Inheritance diagram for FCDEffectProfileFX:
Public Member Functions | |
FCDEffectProfileFX (FCDocument *document, FCDEffect *parent, FUDaeProfileType::Type type) | |
Constructor: do not use directly. | |
virtual | ~FCDEffectProfileFX () |
Destructor: do not use directly. | |
virtual FUDaeProfileType::Type | GetType () const |
Retrieves the profile type for this effect. | |
const string & | GetIncludeFilename () const |
const fstring & | GetPlatform () const |
Retrieves the name of the platform in which to use the effect profile. | |
void | SetPlatform (fstring &_platform) |
Sets the name of the platform in which to use the effect profile. | |
FCDEffectTechniqueList & | GetTechniqueList () |
Retrieves the list of techniques contained within this effect profile. | |
const FCDEffectTechniqueList & | GetTechniqueList () const |
See above. | |
size_t | GetTechniqueCount () const |
Retrieves the number of techniques contained within this effect profile. | |
FCDEffectTechnique * | GetTechnique (size_t index) |
Retrieves a technique contained within this effect profile. | |
const FCDEffectTechnique * | GetTechnique (size_t index) const |
See above. | |
FCDEffectTechnique * | AddTechnique () |
Adds a new technique to this effect profile. | |
void | ReleaseTechnique (FCDEffectTechnique *technique) |
Releases a technique contained within this effect profile. | |
FCDEffectCodeList & | GetCodeList () |
Retrieves the list of code inclusions. | |
const FCDEffectCodeList & | GetCodeList () const |
See above. | |
size_t | GetCodeCount () const |
Retrieves the number of code inclusions contained within the effect profile. | |
FCDEffectCode * | GetCode (size_t index) |
Retrieves a code inclusion contained within the effect profile. | |
const FCDEffectCode * | GetCode (size_t index) const |
See above. | |
FCDEffectCode * | FindCode (const string &sid) |
Retrieves the code inclusion with the given sub-id. | |
const FCDEffectCode * | FindCode (const string &sid) const |
See above. | |
FCDEffectCode * | AddCode () |
Adds a new code inclusion to this effect profile. | |
void | ReleaseCode (FCDEffectCode *code) |
Releases a code inclusion contained within this effect profile. | |
FCDEffectParameterList * | GetParameters () |
Retrieves the list of effect parameters contained within the effect profile. | |
const FCDEffectParameterList * | GetParameters () const |
See above. | |
void | AddParameter (FCDEffectParameter *parameter) |
[INTERNAL] Inserts an existing parameter into the list of effect parameters at this abstraction level. | |
const FCDEffectParameter * | FindParameter (const char *reference) const |
Retrieves an effect parameter. | |
virtual FCDEffectParameter * | FindParameterBySemantic (const string &semantic) |
Retrieves an effect parameter. | |
virtual void | FindParametersBySemantic (const string &semantic, FCDEffectParameterList ¶meters) |
Retrieves a subset of the effect parameter list. | |
virtual void | FindParametersByReference (const string &reference, FCDEffectParameterList ¶meters) |
Retrieves a subset of the effect parameter list. | |
virtual FCDEffectProfile * | Clone (FCDEffect *newParent) |
[INTERNAL] Clones the full effect profile. | |
virtual void | Flatten () |
[INTERNAL] Flattens this effect profile. | |
virtual FUStatus | LoadFromXML (xmlNode *profileNode) |
[INTERNAL] Reads in the effect profile from a given COLLADA XML tree node. | |
virtual xmlNode * | WriteToXML (xmlNode *parentNode) const |
[INTERNAL] Writes out the effect profile to the given COLLADA XML tree node. |
The general effect profile contains all the information necessary to implement the advanced effect profiles, such as CG, HLSL, GLSL and GLES. Since these effect profiles contains extremely similar information, they use the same description structure. For the COMMON profile, see the FCDEffectStandard class.
You should use the GetType function to figure out which profile this structure addresses. You can then retrieve one or many of the FCDEffectTechnique objects that describe how to render for this profile. You may want to check the FCDEffectMaterialTechniqueHint objects at the FCDMaterial level, in order to determine which technique(s) to use for your platform. At the profile level of abstraction, parameters may be generated within the FCDEffectParamterList.
|
Constructor: do not use directly. Instead, use the FCDEffect::AddProfile function.
|
|
Destructor: do not use directly. Instead, use the FCDEffect:RemoveProfile function. |
|
Adds a new code inclusion to this effect profile.
|
|
[INTERNAL] Inserts an existing parameter into the list of effect parameters at this abstraction level. This function is used during the flattening of a material.
|
|
Adds a new technique to this effect profile.
|
|
[INTERNAL] Clones the full effect profile.
Implements FCDEffectProfile. |
|
Retrieves the code inclusion with the given sub-id.
|
|
Retrieves an effect parameter. Looks for the effect parameter with the correct reference, in order to bind or override its value. This function searches through the effect profile and the level of abstractions below.
|
|
Retrieves an effect parameter. Looks for the effect parameter with the correct semantic, in order to bind or override its value. This function searches through the effect profile and the level of abstractions below.
Implements FCDEffectProfile. |
|
Retrieves a subset of the effect parameter list. Look for the effect parameter generators with the correct reference. This function searches through the effect profile and the level of abstractions below.
Implements FCDEffectProfile. |
|
Retrieves a subset of the effect parameter list. Look for the effect parameter generators with the correct semantic. This function searches through the effect profile and the level of abstractions below.
Implements FCDEffectProfile. |
|
[INTERNAL] Flattens this effect profile. Pushes all the effect parameter overrides into the effect parameter generators and moves all the parameters to the effect technique level of abstraction. To flatten the material, use the FCDMaterialInstance::FlattenMaterial function. Implements FCDEffectProfile. |
|
Retrieves a code inclusion contained within the effect profile.
|
|
Retrieves the number of code inclusions contained within the effect profile.
|
|
Retrieves the list of code inclusions.
|
|
|
|
Retrieves the list of effect parameters contained within the effect profile. At this level of abstraction, there should be only effect parameter generators.
|
|
Retrieves the name of the platform in which to use the effect profile. This parameter is very optional.
|
|
Retrieves a technique contained within this effect profile. You may want to check the FCDEffectMaterialTechniqueHint objects at the FCDMaterial level, in order to determine which technique(s) to use for your platform.
|
|
Retrieves the number of techniques contained within this effect profile.
|
|
Retrieves the list of techniques contained within this effect profile. You may want to check the FCDEffectMaterialTechniqueHint objects at the FCDMaterial level, in order to determine which technique(s) to use for your platform.
|
|
Retrieves the profile type for this effect. This function is a part of the FCDEffectProfile interface and allows you to up-cast an effect profile pointer safely to this class.
Implements FCDEffectProfile. |
|
[INTERNAL] Reads in the effect profile from a given COLLADA XML tree node.
Implements FCDEffectProfile. |
|
Releases a code inclusion contained within this effect profile.
|
|
Releases a technique contained within this effect profile.
|
|
Sets the name of the platform in which to use the effect profile. This parameter is very optional.
|
|
[INTERNAL] Writes out the effect profile to the given COLLADA XML tree node.
Implements FCDEffectProfile. |