3ds Max C++ API Reference
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Components defines

These are the bits for the active components of bump, reflection, refraction and opacity mapping. More...

Macros

#define HAS_BUMPS   0x01L
 Indicates that the bump mapping is present.
 
#define HAS_REFLECT   0x02L
 Indicates that there is any kind of reflection (raytraced, etc).
 
#define HAS_REFRACT   0x04L
 Indicates that there is any kind of refraction.
 
#define HAS_OPACITY   0x08L
 Indicates that opacity mapping is used.
 
#define HAS_REFLECT_MAP   0x10L
 Indicates that there is a reflection map only.
 
#define HAS_REFRACT_MAP   0x20L
 Indicates that there is a refraction map only.
 
#define HAS_MATTE_MTL   0x40L
 

Detailed Description

These are the bits for the active components of bump, reflection, refraction and opacity mapping.

If the bit is set that component is active. This provides a quick way for a Shader to check if they're used (as opposed to looking through the channels array searching for these channel types).

Macro Definition Documentation

◆ HAS_BUMPS

#define HAS_BUMPS   0x01L

Indicates that the bump mapping is present.

◆ HAS_REFLECT

#define HAS_REFLECT   0x02L

Indicates that there is any kind of reflection (raytraced, etc).

◆ HAS_REFRACT

#define HAS_REFRACT   0x04L

Indicates that there is any kind of refraction.

◆ HAS_OPACITY

#define HAS_OPACITY   0x08L

Indicates that opacity mapping is used.

◆ HAS_REFLECT_MAP

#define HAS_REFLECT_MAP   0x10L

Indicates that there is a reflection map only.

This is used by the Strauss shader for example. If it sees a reflection map present it dims the diffuse channel.

◆ HAS_REFRACT_MAP

#define HAS_REFRACT_MAP   0x20L

Indicates that there is a refraction map only.

◆ HAS_MATTE_MTL

#define HAS_MATTE_MTL   0x40L