List of Material Requirement Flags

3DS Max Plug-In SDK

List of Material Requirement Flags

See Also: Class MtlBase, Class RenderInstance.

Material requirements flags. One or more of the following values:

MTLREQ_2SIDE

The material is 2-sided.

MTLREQ_WIRE

The material is a wire frame material.

MTLREQ_WIRE_ABS

The material is a wire frame material, absolute size.

MTLREQ_TRANSP

The material uses transparency

MTLREQ_UV

The material requires UVW coordinates

MTLREQ_FACEMAP

The material uses "face map" UV coordinates.

MTLREQ_XYZ

The material requires object XYZ coordinates.

MTLREQ_OXYZ

This is not used.

MTLREQ_BUMPUV

The material requires UV bump vectors.

MTLREQ_BGCOL

The material requires the background color.

MTLREQ_PHONG

The material requires an interpolated normal.

MTLREQ_AUTOREFLECT

The material needs to build an auto-reflect map.

MTLREQ_AUTOMIRROR

The material needs to build an auto-mirror map

MTLREQ_NOATMOS

This suppress the atmospheric shader. This is used by the Matte material for example. The matte material samples the background itself and handles the fogging characteristics. Thus it does not need to have the atmospheric shader do this again.

MTLREQ_ADDITIVE_TRANSP

Specifies that transparent composites are done additively. Normally, if this is not specified, the background color is attenuated. For instance, say you have a material that is 30% transparent (70% opaque). This means that you take 30% of the background color and 70% of the material color.

Setting this flag causes the computation to be done by multiplying 0.7 times the material color and then adding this to the background color (which is left un-attenuated).

MTLREQ_VIEW_DEP

This flag is available in release 2.0 and later only.

Maps or materials which depend on the view should set this bit in their Requirements() method.

MTLREQ_UV2

This flag is available in release 2.0 and later only.

The material requires the second uv channel values (vertex colors).

MTLREQ_BUMPUV2

This flag is available in release 2.0 and later only.

The material requires the second uv channel bump vectors.

MTLREQ_PREPRO

This flag is available in release 2.0 and later only.

Setting this flag will cause MtlBase::BuildMaps() to be called on every frame.

MTLREQ_DONTMERGE_FRAGMENTS

This is no longer used.

MTLREQ_DISPLACEMAP

This flag is available in release 2.0 and later only.

Material has a Displacement map channel.

MTLREQ_SUPERSAMPLE

This flag is available in release 2.0 and later only.

Material requires super sampling. This tells the scanline renderer that you want super sampling (the Standard material uses this). This takes multiple samples spread around in the pixel which provides an additional level of anti-aliasing.

MTLREQ_WORLDCOORDS

This flag is available in release 3.0 and later only.

Material has world coordinates that are used in material / map evaluation This flag is set by UVGen and XYZGen when world coordinates are involved. The renderer looks at this and if it is set, takes the validity interval of the Node's transform matrix into account in computing the validity of a displacement mapped mesh.

MTLREQ_TRANSP_IN_VP

This flag is available in release 4.0 and later only.

This flag should be returned true for any material that wants to be transparent in the viewport.

MTLREQ_FACETED

This flag is available in release 4.0 and later only.

This material should be rendered faceted in the viewports.