3ds Max C++ API Reference
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. More...
 
#define HAS_REFLECT   0x02L
 Indicates that there is any kind of reflection (raytraced, etc). More...
 
#define HAS_REFRACT   0x04L
 Indicates that there is any kind of refraction. More...
 
#define HAS_OPACITY   0x08L
 Indicates that opacity mapping is used. More...
 
#define HAS_REFLECT_MAP   0x10L
 Indicates that there is a reflection map only. More...
 
#define HAS_REFRACT_MAP   0x20L
 Indicates that there is a refraction map only. More...
 
#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