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_dx9 | dx9 | 
| LightmappedGeneric_dx8 | dx8.0/dx8.1 | 
| LightmappedGeneric_NoBump_DX8 | dx8.0/dx8.1, but only used when mat_reducefillrate 1is set. Note that this fallback doesn't actually cause the shader code to do anything different, it's only there to allow a .VMT to specify different shader parameters or a fallback material whenmat_reducefillrate 1is set. | 
| LightmappedGeneric_dx6 | dx6/dx7 | 
| VertexLitGeneric | |
| 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_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.