Material Requirements Flags

Material Requirements Flags

Module description

See also
Class MtlBase, Class RenderInstance

Macros

#define MTLREQ_2SIDE   (1<<0)
 The material is 2-sided. More...
 
#define MTLREQ_WIRE   (1<<1)
 The material is wire frame material. More...
 
#define MTLREQ_WIRE_ABS   (1<<2)
 Wire frame material, absolute size. More...
 
#define MTLREQ_TRANSP   (1<<3)
 The material uses transparency. More...
 
#define MTLREQ_UV   (1<<4)
 The material requires UVW coordinates. More...
 
#define MTLREQ_FACEMAP   (1<<5)
 The material uses "face map" UV coordinates. More...
 
#define MTLREQ_XYZ   (1<<6)
 The material requires object XYZ coordinates. More...
 
#define MTLREQ_OXYZ   (1<<7)
 The material requires object ORIGINAL XYZ coordinates. More...
 
#define MTLREQ_BUMPUV   (1<<8)
 The Material requires UV bump vectors. More...
 
#define MTLREQ_BGCOL   (1<<9)
 The material requires background color (e.g. More...
 
#define MTLREQ_PHONG   (1<<10)
 The material requires interpolated normal. More...
 
#define MTLREQ_AUTOREFLECT   (1<<11)
 The material needs to build auto-reflect map. More...
 
#define MTLREQ_AUTOMIRROR   (1<<12)
 The material needs to build auto-mirror map. More...
 
#define MTLREQ_NOATMOS   (1<<13)
 This is used by the Matte material for example. More...
 
#define MTLREQ_ADDITIVE_TRANSP   (1<<14)
 Normally, if this is not specified, the background color is attenuated. More...
 
#define MTLREQ_VIEW_DEP   (1<<15)
 Maps or materials which depend on the view should set this bit in their Requirements() method. More...
 
#define MTLREQ_UV2   (1<<16)
 The material requires second uv channel values (vertex colors). More...
 
#define MTLREQ_BUMPUV2   (1<<17)
 The material requires second uv channel bump vectors. More...
 
#define MTLREQ_PREPRO   (1<<18)
 Pre-processing. More...
 
#define MTLREQ_DONTMERGE_FRAGMENTS   (1<<19)
 No longer used. More...
 
#define MTLREQ_DISPLACEMAP   (1<<20)
 Material has a Displacement map channel. More...
 
#define MTLREQ_SUPERSAMPLE   (1<<21)
 This tells the scanline renderer that you want super sampling - the Standard material uses this. More...
 
#define MTLREQ_WORLDCOORDS   (1<<22)
 This flag is set by UVGen and XYZGen when world coordinates are involved. More...
 
#define MTLREQ_TRANSP_IN_VP   (1<<23)
 This flag should be returned true for any material that wants to be transparent in the viewport. More...
 
#define MTLREQ_FACETED   (1<<24)
 The material should be rendered faceted in the viewports. More...
 
#define MTLREQ_NOEXPOSURE   (1<<25)
 Do not do the tone-op (ie, for matte/shadow material, etc) More...
 
#define MTLREQ_SS_GLOBAL   (1<<26)
 Material requires supersampling but use global sampler. More...
 
#define MTLREQ_REND1   (1<<28)
 USED IN RENDERER. More...
 
#define MTLREQ_REND2   (1<<29)
 USED IN RENDERER. More...
 
#define MTLREQ_REND3   (1<<30)
 USED IN RENDERER. More...
 
#define MTLREQ_REND4   (1<<31)
 USED IN RENDERER. More...
 

Macro Definition Documentation

#define MTLREQ_2SIDE   (1<<0)

The material is 2-sided.

#define MTLREQ_WIRE   (1<<1)

The material is wire frame material.

#define MTLREQ_WIRE_ABS   (1<<2)

Wire frame material, absolute size.

#define MTLREQ_TRANSP   (1<<3)

The material uses transparency.

#define MTLREQ_UV   (1<<4)

The material requires UVW coordinates.

#define MTLREQ_FACEMAP   (1<<5)

The material uses "face map" UV coordinates.

#define MTLREQ_XYZ   (1<<6)

The material requires object XYZ coordinates.

#define MTLREQ_OXYZ   (1<<7)

The material requires object ORIGINAL XYZ coordinates.

#define MTLREQ_BUMPUV   (1<<8)

The Material requires UV bump vectors.

#define MTLREQ_BGCOL   (1<<9)

The material requires background color (e.g.

Matte mtl).

#define MTLREQ_PHONG   (1<<10)

The material requires interpolated normal.

#define MTLREQ_AUTOREFLECT   (1<<11)

The material needs to build auto-reflect map.

#define MTLREQ_AUTOMIRROR   (1<<12)

The material needs to build auto-mirror map.

#define MTLREQ_NOATMOS   (1<<13)

This is used by the Matte material for example.

The matte material samples the background itself and handles the fogging characteristics, so it does not need to have the atmospheric shader do this again. This suppresses the atmospheric shader. (used by Matte mtl)

#define MTLREQ_ADDITIVE_TRANSP   (1<<14)

Normally, if this is not specified, the background color is attenuated.

For instance, for a material that 30% transparent (70% opaque), 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. Specifies that transparent composites are done additively.

#define MTLREQ_VIEW_DEP   (1<<15)

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

#define MTLREQ_UV2   (1<<16)

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

#define MTLREQ_BUMPUV2   (1<<17)

The material requires second uv channel bump vectors.

#define MTLREQ_PREPRO   (1<<18)

Pre-processing.

MtlBase::BuildMaps is called on every frame.

#define MTLREQ_DONTMERGE_FRAGMENTS   (1<<19)

No longer used.

#define MTLREQ_DISPLACEMAP   (1<<20)

Material has a Displacement map channel.

#define MTLREQ_SUPERSAMPLE   (1<<21)

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. The material requires supersampling

#define MTLREQ_WORLDCOORDS   (1<<22)

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. The material has world coordinates are used in material/map evaluation.

#define MTLREQ_TRANSP_IN_VP   (1<<23)

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

The material is transparent in the viewport ( opacity < 100, or opacity map & ShowMapInVP set).

#define MTLREQ_FACETED   (1<<24)

The material should be rendered faceted in the viewports.

#define MTLREQ_NOEXPOSURE   (1<<25)

Do not do the tone-op (ie, for matte/shadow material, etc)

#define MTLREQ_SS_GLOBAL   (1<<26)

Material requires supersampling but use global sampler.

#define MTLREQ_REND1   (1<<28)

USED IN RENDERER.

#define MTLREQ_REND2   (1<<29)

USED IN RENDERER.

#define MTLREQ_REND3   (1<<30)

USED IN RENDERER.

#define MTLREQ_REND4   (1<<31)

USED IN RENDERER.