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
Left 4 Dead (which also deprecated DirectX 8 feature level). Furthermore, since
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.
Createdbyx (talk | contribs) |
No edit summary |
||
(14 intermediate revisions by 7 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]] === | |||
; <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 2013. See Material optimization and DirectX Versions for more details.




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 1
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. 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
$fallbackmaterial
feature 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
$fallbackmaterial
feature 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
$fallbackmaterial
feature 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
$fallbackmaterial
feature 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