Source Engine Shader Fallbacks
Jump to navigation
Jump to search
Introduction
The following a list of the shader fallbacks for the materials shipped with Half-Life 2. For a description of how shader fallbacks are used, see the Material choices and rendering performance in Controlling Geometry Visibility and Compile Times.
Shader Fallbacks
LightmappedGeneric
LightmappedGeneric_HDR_DX9- DX9 with HDR
LightmappedGeneric_DX9- DX9
LightmappedGeneric_DX8- DX8.0, DX8.1
LightmappedGeneric_NoBump_DX8- DX8.0, DX8.1, but only used when
mat_reducefillrate 1is set (usually by dxsupport.cfg). Note that this fallback doesn't actually cause the shader code to do anything different, it's only there to allow a material to specify different parameters. LightmappedGeneric_DX6- DX6, DX7
VertexLitGeneric
VertexLitGeneric_HDR_DX9- DX9 with HDR
VertexLitGeneric_DX9- DX9
VertexLitGeneric_DX8- DX8.0, DX8.1
VertexLitGeneric_DX7- DX7
VertexLitGeneric_DX6- DX6
UnlitGeneric
UnlitGeneric_DX9- DX9
UnlitGeneric_DX8- DX8.0, DX8.1
UnlitGeneric_DX6- DX6, DX7
Refract
Refract_DX90- DX9
Refract_DX80- DX8.0, DX8.1
Refract_DX60- DX6, DX7: refraction isn't supported under DX6 and DX7, this fallback shader is only defined to allow you to use the
$fallbackmaterialfeature to cause the material system to use a different material under DX6 and DX7. UnlitGeneric_DX6- DX6, DX7: If you neglect to define a fallback shader, unlit generic is used.
ShatteredGlass
ShatteredGlass- DX9
ShatteredGlass_DX8- DX8.0, DX8.1
ShatteredGlass_DX7- DX7
Wireframe- DX6: Shattered glass isn't supported under DX6.
Water
Water_HDR_DX90- DX9 with HDR
Water_DX90- DX9
Water_DX81- DX8.1
Water_DX80- DX8.0
Water_DX60- DX7/DX6: this fallback shader is only defined to allow you to use the
$fallbackmaterialfeature to cause the material system to use a different material under DX6 and DX7. LightmappedGeneric_DX6- DX7/DX6: This is used if you neglect to define a fallback shader.
WorldTwoTextureBlend
WorldTwoTextureBlend- DX9
WorldTwoTextureBlend_DX8- DX8.0, DX8.1
WorldTwoTextureBlend_DX6- DX6, DX7
WorldVertexTransition
WorldVertexTransition_DX9- DX9
WorldVertexTransition_DX8- DX8.0, DX8.1
WorldVertexTransition_DX6- DX6, DX7
WorldVertexAlpha
WorldVertexAlpha- DX9
WorldVertexAlpha_DX8- DX8.0, DX8.1: Note this shader has no fallbacks to DX7 or below.
Cable
Cable- DX8.0, DX8.1, DX9
UnlitGeneric_DX6- DX6, DX7
Eyes
Eyes- DX8.0, DX8.1, DX9
Eyes_DX6- DX6, DX7
Modulate
Modulate- DX8.0, DX8.1, DX9
Modulate_DX6- DX6, DX7
MonitorScreen
MonitorScreen- DX8.0, DX8.1, DX9
LightmappedGeneric_DX6- DX6, DX7
Predator
Predator_DX80- DX8.0, DX8.1, DX9
Predator_DX60- DX6, DX7: this fallback shader is only defined to allow you to use the
$fallbackmaterialfeature to cause the material system to use a different material under DX6 and DX7. UnlitGeneric_DX6- DX6, DX7: This is used if you neglect to define a fallback shader.
Sprite
Sprite_DX8- DX8.0, DX8.1, DX9
Sprite_DX6- DX6, DX7
UnlitTwoTexture
UnlitTwoTexture- DX8.0, DX8.1, DX9
UnlitTwoTexture_DX6- DX6, DX7
WriteZ
WriteZ- DX8.0, DX8.1, DX9
WriteZ_DX6- DX6, DX7
WindowImposter
WindowImposter_DX80- DX8.0, DX8.1, DX9
WindowImposter_DX60- DX6, DX7: this fallback shader is only defined to allow you to use the
$fallbackmaterialfeature to cause the material system to use a different material under DX6 and DX7. UnlitGeneric_DX6- DX6, DX7: This is used if you neglect to define a fallback shader
See Also
- DirectX Versions - includes screenshots visually comparing different DirectX levels.