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 
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 	
 
Category:Material System
Category:Shader parameters