Source Engine Shader Fallbacks: Difference between revisions
		
		
		
		
		
		Jump to navigation
		Jump to search
		
				
		 Note:These DirectX shader fallbacks have been removed and replaced by the shader and effect detail systems since
Note:These DirectX shader fallbacks have been removed and replaced by the shader and effect detail systems since  Left 4 Dead (which also deprecated DirectX 8 feature level). Furthermore, since
 Left 4 Dead (which also deprecated DirectX 8 feature level). Furthermore, since  Source 2007 (also applies to
 Source 2007 (also applies to  Source 2013) also no longer support anything below DirectX 8, so it would be unnecessary to create shader fallbacks below DX8.
 Source 2013) also no longer support anything below DirectX 8, so it would be unnecessary to create shader fallbacks below DX8.
		
	
| m (fixed missing code tag) | No edit summary | ||
| (11 intermediate revisions by 5 users not shown) | |||
| Line 1: | Line 1: | ||
| [[ | This is list of the [[shader]] fallbacks that shipped with {{src04|2}} to {{src13|2}}. See [[Material optimization]] and [[DirectX Versions]] for more details. | ||
| == | {{note|These DirectX shader fallbacks have been removed and replaced by the shader and effect detail systems since {{Left 4 Dead|2}} (which also deprecated DirectX 8 feature level). Furthermore, since {{src07|2}} (also applies to {{src13|2}}) also no longer support anything below DirectX 8, so it would be unnecessary to create shader fallbacks below DX8.}} | ||
| {{toc-right}} | |||
| === [[LightmappedGeneric]] === | |||
| ; <code>LightmappedGeneric_HDR_DX9</code> : DX9 with [[HDR]] | |||
| ; <code>LightmappedGeneric_DX9</code> : DX9 | |||
| ; <code>LightmappedGeneric_DX8</code> : DX8.0, DX8.1 | |||
| ; <code>LightmappedGeneric_NoBump_DX8</code> : DX8.0, DX8.1, but only used when <code>mat_reducefillrate 1</code> is 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. | |||
| ; <code>LightmappedGeneric_DX6</code> : DX6, DX7 | |||
| == | === [[VertexLitGeneric]] === | ||
| ; <code>VertexLitGeneric_HDR_DX9</code> : DX9 with [[HDR]] | |||
| ; <code>VertexLitGeneric_DX9</code> : DX9 | |||
| ; <code>VertexLitGeneric_DX8</code> : DX8.0, DX8.1 | |||
| ; <code>VertexLitGeneric_DX7</code> : DX7 | |||
| ; <code>VertexLitGeneric_DX6</code> : DX6 | |||
| === | === [[UnlitGeneric]] === | ||
| ; <code>UnlitGeneric_DX9</code> : DX9 | |||
| ; <code>UnlitGeneric_DX8</code> : DX8.0, DX8.1 | |||
| ; <code>UnlitGeneric_DX6</code> : DX6, DX7 | |||
| === | === [[Refract]] === | ||
| ; <code>Refract_DX90</code> : DX9 | |||
| ; <code>Refract_DX80</code> : DX8.0, DX8.1 | |||
| ; <code>Refract_DX60</code> : DX6, DX7: refraction isn't supported under DX6 and DX7, this fallback shader is only defined to allow you to use the <code>$fallbackmaterial</code> feature to cause the material system to use a different material under DX6 and DX7. | |||
| ; <code>UnlitGeneric_DX6</code> : DX6, DX7: If you neglect to define a fallback shader, unlit generic is used. | |||
| === | === [[ShatteredGlass]] === | ||
| ; <code>ShatteredGlass</code> : DX9 | |||
| ; <code>ShatteredGlass_DX8</code> : DX8.0, DX8.1 | |||
| ; <code>ShatteredGlass_DX7</code> : DX7 | |||
| ; <code>Wireframe</code> : DX6: Shattered glass isn't supported under DX6. | |||
| === | === [[Water (shader)|Water]] === | ||
| ; <code>Water_HDR_DX90</code> : DX9 with [[HDR]] | |||
| ; <code>Water_DX90</code> : DX9 | |||
| ; <code>Water_DX81</code> : DX8.1 | |||
| ; <code>Water_DX80</code> : DX8.0 | |||
| ; <code>Water_DX60</code> : DX7/DX6: this fallback shader is only defined to allow you to use the <code>$fallbackmaterial</code> feature to cause the material system to use a different material under DX6 and DX7. | |||
| ; <code>LightmappedGeneric_DX6</code> : DX7/DX6: This is used if you neglect to define a fallback shader. | |||
| === | === [[WorldTwoTextureBlend]] === | ||
| ; <code>WorldTwoTextureBlend</code> : DX9 | |||
| ; <code>WorldTwoTextureBlend_DX8</code> : DX8.0, DX8.1 | |||
| ; <code>WorldTwoTextureBlend_DX6</code> : DX6, DX7 | |||
| === | === [[WorldVertexTransition]] === | ||
| ; <code>WorldVertexTransition_DX9</code> : DX9 | |||
| ; <code>WorldVertexTransition_DX8</code> : DX8.0, DX8.1 | |||
| ; <code>WorldVertexTransition_DX6</code> : DX6, DX7 | |||
| === | === [[WorldVertexAlpha]] === | ||
| ; <code>WorldVertexAlpha</code> : DX9 | |||
| ; <code>WorldVertexAlpha_DX8</code> : DX8.0, DX8.1: Note this shader has no fallbacks to DX7 or below. | |||
| === | === [[Cable]] === | ||
| ; <code>Cable</code> : DX8.0, DX8.1, DX9 | |||
| ; <code>UnlitGeneric_DX6</code> : DX6, DX7 | |||
| === | === [[Eyes]] === | ||
| ; <code>Eyes</code> : DX9 | |||
| ; <code>Eyes_dx8</code>: DX8.0, DX8.1 | |||
| ; <code>Eyes_dx6</code> : DX6, DX7 | |||
| === | === [[EyeRefract]] === | ||
| ; <code>EyeRefract</code> : DX9 | |||
| ; <code>Eyes_dx8</code> : DX8.0, DX8.1 | |||
| ; <code>Eyes_dx6</code> : DX6, DX7 | |||
| === | === [[Modulate]] === | ||
| ; <code>Modulate</code> : DX8.0, DX8.1, DX9 | |||
| ; <code>Modulate_DX6</code> : DX6, DX7 | |||
| === | === [[MonitorScreen]] === | ||
| ; <code>MonitorScreen</code> : DX8.0, DX8.1, DX9 | |||
| ; <code>LightmappedGeneric_DX6</code> : DX6, DX7 | |||
| === | === [[Predator]] === | ||
| ; <code>Predator_DX80</code> : DX8.0, DX8.1, DX9 | |||
| ; <code>Predator_DX60</code> : DX6, DX7: this fallback shader is only defined to allow you to use the <code>$fallbackmaterial</code> feature to cause the material system to use a different material under DX6 and DX7. | |||
| ; <code>UnlitGeneric_DX6</code> : DX6, DX7: This is used if you neglect to define a fallback shader. | |||
| === | === [[Sprite (shader)|Sprite]] === | ||
| ; <code>Sprite_DX8</code> : DX8.0, DX8.1, DX9 | |||
| ; <code>Sprite_DX6</code> : DX6, DX7 | |||
| === | === [[Teeth]] === | ||
| ; <code>Teeth</code> : DX9 | |||
| ; <code>Teeth_DX8</code> : DX8.0, DX8.1 | |||
| ; <code>Teeth_DX6</code> : DX6, DX7 | |||
| ===UnlitTwoTexture=== | === [[UnlitTwoTexture]] === | ||
| ; <code>UnlitTwoTexture</code> : DX8.0, DX8.1, DX9 | |||
| ; <code>UnlitTwoTexture_DX6</code> : DX6, DX7 | |||
| === | === [[VortWarp]] === | ||
| ; <code>VortWarp</code> : DX9 | |||
| ; <code>VortWarp_DX8</code> : DX8.0, DX8.1 | |||
| ; <code>VortWarp_DX7</code> : DX7 | |||
| ; <code>VertexLitGeneric_DX6</code> : DX6 | |||
| === | === [[WriteZ]] === | ||
| ; <code>WriteZ</code> : DX8.0, DX8.1, DX9 | |||
| ; <code>WriteZ_DX6</code> : DX6, DX7 | |||
| == | === [[WindowImposter]] === | ||
| ; <code>WindowImposter_DX80</code> : DX8.0, DX8.1, DX9 | |||
| ; <code>WindowImposter_DX60</code> : DX6, DX7: this fallback shader is only defined to allow you to use the <code>$fallbackmaterial</code> feature to cause the material system to use a different material under DX6 and DX7. | |||
| ; <code>UnlitGeneric_DX6</code> : DX6, DX7: This is used if you neglect to define a fallback shader | |||
| [[Category:Material System]] | |||
Latest revision as of 23:14, 12 July 2025
This is list of the shader fallbacks that shipped with  Source 2004 to
 Source 2004 to  Source 2013. See Material optimization and DirectX Versions for more details.
 Source 2013. See Material optimization and DirectX Versions for more details.
 Note:These DirectX shader fallbacks have been removed and replaced by the shader and effect detail systems since
Note:These DirectX shader fallbacks have been removed and replaced by the shader and effect detail systems since  Left 4 Dead (which also deprecated DirectX 8 feature level). Furthermore, since
 Left 4 Dead (which also deprecated DirectX 8 feature level). Furthermore, since  Source 2007 (also applies to
 Source 2007 (also applies to  Source 2013) also no longer support anything below DirectX 8, so it would be unnecessary to create shader fallbacks below DX8.
 Source 2013) also no longer support anything below DirectX 8, so it would be unnecessary to create shader fallbacks below DX8.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
- DX9
- Eyes_dx8
- DX8.0, DX8.1
- Eyes_dx6
- DX6, DX7
EyeRefract
- EyeRefract
- DX9
- Eyes_dx8
- DX8.0, DX8.1
- 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
Teeth
- Teeth
- DX9
- Teeth_DX8
- DX8.0, DX8.1
- Teeth_DX6
- DX6, DX7
UnlitTwoTexture
- UnlitTwoTexture
- DX8.0, DX8.1, DX9
- UnlitTwoTexture_DX6
- DX6, DX7
VortWarp
- VortWarp
- DX9
- VortWarp_DX8
- DX8.0, DX8.1
- VortWarp_DX7
- DX7
- VertexLitGeneric_DX6
- DX6
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