imrShaderTranslation Class Reference
 
 
 
imrShaderTranslation Class Reference

#include <imrShaderTranslation.h>

Inheritance diagram for imrShaderTranslation:
BaseInterface InterfaceServer MaxHeapOperators imrMaterialPhenomenonTranslation

Classes

struct   AdditionalDependency

Public Types

enum   Requirement { kReq_TangentBasisVectors = 0 }
typedef Tab< AdditionalDependency AdditionalDependencyTable

Public Member Functions

virtual imrShader GetMRShader (imrShaderCreation &shaderCreation)=0
virtual void  ReleaseMRShader ()=0
virtual bool  NeedsAutomaticParamBlock2Translation ()=0
virtual void  TranslateParameters (imrTranslation &translationInterface, imrShader *shader, TimeValue t, Interval &valid)=0
virtual void  GetAdditionalReferenceDependencies (AdditionalDependencyTable &refTargets)=0
virtual void  TranslateParameters_Advanced (imrAdvancedTranslation &advancedTranslation, TimeValue t, Interval &valid)
virtual bool  HasRequirement (Requirement requirement, TimeValue t, Interval &valid, void *arg=NULL)
virtual Interface_ID  GetID ()

Member Typedef Documentation


Member Enumeration Documentation

Enumerator:
kReq_TangentBasisVectors 
                         {
                // This shader requires tangent basis vectors.
                // The tangent basis vectors will be translated for the object on which
                // this shader is used. 
                // Return true if the vectors are needed, false otherwise. 
                // The 't', and 'valid' parameters are not used.
                // The 'arg' variable is a pointer to an 'int', to which to map channel
                // to be used should be assigned.
                kReq_TangentBasisVectors = 0,
        };

Member Function Documentation

virtual imrShader* GetMRShader ( imrShaderCreation shaderCreation ) [pure virtual]
virtual void ReleaseMRShader ( ) [pure virtual]
virtual bool NeedsAutomaticParamBlock2Translation ( ) [pure virtual]
virtual void TranslateParameters ( imrTranslation translationInterface,
imrShader shader,
TimeValue  t,
Interval valid 
) [pure virtual]
virtual void GetAdditionalReferenceDependencies ( AdditionalDependencyTable refTargets ) [pure virtual]
void TranslateParameters_Advanced ( imrAdvancedTranslation advancedTranslation,
TimeValue  t,
Interval valid 
) [inline, virtual]
                                                                                                                                        {

        // Default implementation does nothing
}
bool HasRequirement ( Requirement  requirement,
TimeValue  t,
Interval valid,
void *  arg = NULL 
) [inline, virtual]
                                                                                                     {

        // Default implementation has no requirements
        return 0;
}
Interface_ID GetID ( ) [inline, virtual]
Remarks:
This method returns the unique interface ID.

Reimplemented from BaseInterface.

Reimplemented in imrMaterialPhenomenonTranslation.