Classes | Public Types | Public Member Functions

imrShaderTranslation Class Reference

This reference page is linked to from the following overview topics: Mental Ray Classes, Translation of Texture Map and Materials, Advanced Parameter Translation, Translation of Object Plug-ins.


Search for all occurrences

#include <imrShaderTranslation.h>

Inheritance diagram for imrShaderTranslation:
Inheritance graph
[legend]

List of all members.

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.

                                                {

    return IMRSHADERTRANSLATION_INTERFACE_ID;
}

imrShaderTranslation imrShaderTranslation imrShaderTranslation imrShaderTranslation imrShaderTranslation imrShaderTranslation imrShaderTranslation imrShaderTranslation imrShaderTranslation imrShaderTranslation
imrShaderTranslation imrShaderTranslation imrShaderTranslation imrShaderTranslation imrShaderTranslation imrShaderTranslation imrShaderTranslation imrShaderTranslation imrShaderTranslation imrShaderTranslation