Element type: miSCENE_MATERIAL
Data type: miMaterial
Sizes: -
Defaults: all nulls
typedef struct miMaterial {
        miBoolean       opaque;                 /* no transparency? */
        miTag           shader;                 /* material shader */
        miTag           displace;               /* opt. displacement shader */
        miTag           shadow;                 /* opt. shadow shader */
        miTag           volume;                 /* opt. volume shader */
        miTag           environment;            /* opt. environment shader */
        miTag           contour;                /* opt. contour shader */
        miTag           photon;                 /* opt. photon RT shader */
        miTag           photonvol;              /* opt. photon volume shader */
        miTag           lightmap;               /* used for lightmaps */
        miTag           hardware;               /* hardware shader */
} miMaterial;

A translator must provide: shader.

A translator may provide: all others.

opaque informs mental ray that the material is always opaque and casts an opaque shadow. This is a hint to mental ray and may not be used by all renderers.

shader is the tag of a material shading function. It must refer to a database element of type miSCENE_FUNCTION. This tag may not be miNULLTAG.

displace is the tag of an optional displacement shader function.

shadow is the tag of an optional shadow shader function.

volume is the tag of an optional volume shader function.

environment is the tag of an optional environment shader function.

contour is the tag of an optional contour shader function.

photon is the tag of an optional photon shader function.

photonvol is the tag of an optional photon volume shader function.

lightmap is the tag of an optional lightmap shader function.

hardware is the tag of an optional hardware shader.

Note that mental ray 3.3 will append several new fields to this structure. Shaders keeping a local copy of a miMaterial will have to be recompiled for mental ray 3.3.

Copyright © 1986, 2013 NVIDIA Corporation