#include <FCDEffectPass.h>
Inheritance diagram for FCDEffectPass:
Public Member Functions | |
FCDEffectPass (FCDocument *document, FCDEffectTechnique *_parent) | |
Constructor: do not use directly. | |
virtual | ~FCDEffectPass () |
Destructor: do not use directly. | |
FCDEffectTechnique * | GetParent () |
Retrieves the effect techniques which contains this effect pass. | |
const FCDEffectTechnique * | GetParent () const |
See above. | |
const string & | GetDaeId () const |
Retrieves the COLLADA id of the parent effect. | |
const fstring & | GetPassName () const |
Retrieves the sub-id of the effect pass. | |
void | SetPassName (const fstring &_name) |
Sets the optional sub-id for the effect pass. | |
const MeshDataList & | GetMeshData () const |
size_t | GetShaderCount () const |
Retrieves the number of shaders contained within the effect pass. | |
FCDEffectPassShader * | GetShader (size_t index) |
Retrieves a specific shader. | |
const FCDEffectPassShader * | GetShader (size_t index) const |
See above. | |
FCDEffectPassShader * | AddShader () |
Adds a new shader to the pass. | |
void | ReleaseShader (FCDEffectPassShader *shader) |
Releases a shader contained within the pass. | |
FCDEffectPassShader * | GetVertexShader () |
Retrieves the vertex shader for this effect pass. | |
const FCDEffectPassShader * | GetVertexShader () const |
See above. | |
FCDEffectPassShader * | GetFragmentShader () |
Retrieves the fragment shader for this effect pass. | |
const FCDEffectPassShader * | GetFragmentShader () const |
See above. | |
FCDEffectPassShader * | AddVertexShader () |
Adds a new vertex shader to the pass. | |
FCDEffectPassShader * | AddFragmentShader () |
Adds a new fragment shader to the pass. | |
FCDEffectPass * | Clone (FCDEffectTechnique *newParent) const |
[INTERNAL] Clones the full effect pass. | |
FUStatus | LoadFromXML (xmlNode *passNode, xmlNode *techniqueNode, xmlNode *profileNode) |
[INTERNAL] Reads in the effect pass from a given COLLADA XML tree node. | |
xmlNode * | WriteToXML (xmlNode *parentNode) const |
[INTERNAL] Writes out the effect pass to the given COLLADA XML tree node. |
The effect pass contains a list of effect shaders. While they may be missing, it does not make sense for the effect pass to contain more than two shaders: a vertex shader and a fragment/pixel shader.
For this reason, we provide the GetVertexShader and the GetFragmentShader which we expect will be used for most applications, rather than looking through the list of shader objects.
|
Constructor: do not use directly. Instead, use the FCDEffectTechnique::AddPass function.
|
|
Destructor: do not use directly. Instead, use the FCDEffectTechnique::ReleasePass function. |
|
Adds a new fragment shader to the pass. If a fragment shader already exists within the pass, it will be released.
|
|
Adds a new shader to the pass.
|
|
Adds a new vertex shader to the pass. If a vertex shader already exists within the pass, it will be released.
|
|
[INTERNAL] Clones the full effect pass.
|
|
Retrieves the COLLADA id of the parent effect. This function is mostly useful as a shortcut for debugging and reporting.
|
|
Retrieves the fragment shader for this effect pass.
|
|
|
|
Retrieves the effect techniques which contains this effect pass.
|
|
Retrieves the sub-id of the effect pass. This sub-id is optional.
|
|
Retrieves a specific shader.
|
|
Retrieves the number of shaders contained within the effect pass.
|
|
Retrieves the vertex shader for this effect pass.
|
|
[INTERNAL] Reads in the effect pass from a given COLLADA XML tree node.
|
|
Releases a shader contained within the pass.
|
|
Sets the optional sub-id for the effect pass. This sub-id is optional.
|
|
[INTERNAL] Writes out the effect pass to the given COLLADA XML tree node.
|