Material Flags
Material $flags
and $flags2
parameters control how the material is rendered. $flag
can be changed in real-time to allow changes in rendering, but $flags2
is read-only and assists the engine or other code in using the material correctly. Enumerations found in https://github.com/ValveSoftware/source-sdk-2013/blob/master/mp/src/public/materialsystem/imaterial.h
The flags can also be set via the .vmt Example:
#Sets the MATERIAL_VAR_VERTEXCOLOR and MATERIAL_VAR_VERTEXALPHA flag UnlitGeneric { $basetexture brick/brickwall003a $vertexcolor 1 $vertexalpha 1 }
$flags
$flags can contain the following flags:
Flag | Hex Value | Dec Value | Comment |
MATERIAL_VAR_DEBUG | 0x0001 | 1 | $debug |
MATERIAL_VAR_NO_DEBUG_OVERRIDE | 0x0002 | 2 | $no_fullbright |
MATERIAL_VAR_NO_DRAW | 0x0004 | 4 | $no_draw |
MATERIAL_VAR_USE_IN_FILLRATE_MODE | 0x0008 | 8 | $use_in_fillrate_mode |
MATERIAL_VAR_VERTEXCOLOR | 0x0010 | 16 | $vertexcolor |
MATERIAL_VAR_VERTEXALPHA | 0x0020 | 32 | $vertexalpha |
MATERIAL_VAR_SELFILLUM | 0x0040 | 64 | $selfillum |
MATERIAL_VAR_ADDITIVE | 0x0080 | 128 | $additive |
MATERIAL_VAR_ALPHATEST | 0x0100 | 256 | $alphatest |
MATERIAL_VAR_MULTIPASS | 0x0200 | 512 | $multipass |
MATERIAL_VAR_ZNEARER | 0x0400 | 1024 | $znearer |
MATERIAL_VAR_MODEL | 0x0800 | 2048 | $model |
MATERIAL_VAR_FLAT | 0x1000 | 4096 | $flat |
MATERIAL_VAR_NOCULL | 0x2000 | 8192 | $nocull |
MATERIAL_VAR_NOFOG | 0x4000 | 16384 | $nofog |
MATERIAL_VAR_IGNOREZ | 0x8000 | 32768 | $ignorez |
MATERIAL_VAR_DECAL | 0x10000 | 65536 | $decal |
MATERIAL_VAR_ENVMAPSPHERE | 0x20000 | 131072 | $envmapsphere |
MATERIAL_VAR_NOALPHAMOD | 0x40000 | 262144 | $noalphamod |
MATERIAL_VAR_ENVMAPCAMERASPACE | 0x80000 | 524288 | $envmapcameraspace |
MATERIAL_VAR_BASEALPHAENVMAPMASK | 0x100000 | 1048576 | $basealphaenvmapmask |
MATERIAL_VAR_TRANSLUCENT | 0x200000 | 2097152 | $translucent |
MATERIAL_VAR_NORMALMAPALPHAENVMAPMASK | 0x400000 | 4194304 | $normalmapalphaenvmapmask |
MATERIAL_VAR_NEEDS_SOFTWARE_SKINNING | 0x800000 | 8388608 | $softwareskin |
MATERIAL_VAR_OPAQUETEXTURE | 0x1000000 | 16777216 | $opaquetexture |
MATERIAL_VAR_ENVMAPMODE | 0x2000000 | 33554432 | $envmapmode |
MATERIAL_VAR_SUPPRESS_DECALS | 0x4000000 | 67108864 | $nodecal |
MATERIAL_VAR_HALFLAMBERT | 0x8000000 | 134217728 | $halflambert |
MATERIAL_VAR_WIREFRAME | 0x10000000 | 268435456 | $wireframe |
MATERIAL_VAR_ALLOWALPHATOCOVERAGE | 0x20000000 | 536870912 | $allowalphatocoverage |
MATERIAL_VAR_IGNORE_ALPHA_MODULATION | 0x40000000 | 1073741824 |
$flags2
$flags2 can contain the following flags:
Flag | Dec Value | Comment |
MATERIAL_VAR2_LIGHTING_UNLIT | 0 | |
MATERIAL_VAR2_LIGHTING_VERTEX_LIT | 1 | |
MATERIAL_VAR2_LIGHTING_LIGHTMAP0 | 2 | |
MATERIAL_VAR2_LIGHTING_BUMPED_LIGHTMAP | 4 | |
MATERIAL_VAR2_LIGHTING_MASK | 7 | Sum of 3 above |
MATERIAL_VAR2_DIFFUSE_BUMPMAPPED_MODEL | 8 | |
MATERIAL_VAR2_USES_ENV_CUBEMAP | 16 | |
MATERIAL_VAR2_NEEDS_TANGENT_SPACES | 32 | |
MATERIAL_VAR2_NEEDS_SOFTWARE_LIGHTING | 64 | |
MATERIAL_VAR2_BLEND_WITH_LIGHTMAP_ALPHA | 128 | |
MATERIAL_VAR2_NEEDS_BAKED_LIGHTING_SNAPSHOTS | 256 | |
MATERIAL_VAR2_USE_FLASHLIGHT | 512 | |
MATERIAL_VAR2_USE_FIXED_FUNCTION_BAKED_LIGHTING | 1024 | |
MATERIAL_VAR2_NEEDS_FIXED_FUNCTION_FLASHLIGHT | 2048 | |
MATERIAL_VAR2_USE_EDITOR | 4096 | |
MATERIAL_VAR2_NEEDS_POWER_OF_TWO_FRAME_BUFFER_TEXTURE | 8192 | |
MATERIAL_VAR2_NEEDS_FULL_FRAME_BUFFER_TEXTURE | 16384 | |
MATERIAL_VAR2_IS_SPRITECARD | 32768 | |
MATERIAL_VAR2_USES_VERTEXID | 65536 | |
MATERIAL_VAR2_SUPPORTS_HW_SKINNING | 131072 | |
MATERIAL_VAR2_SUPPORTS_FLASHLIGHT | 262144 |