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 . Furthermore,
Source 2013 also no longer support anything below DirectX 8, so it would be unnecessary to create shader fallbacks below DX8.
mNo edit summary |
SirYodaJedi (talk | contribs) mNo edit summary |
||
Line 4: | Line 4: | ||
{{toc-right}} | {{toc-right}} | ||
===LightmappedGeneric=== | === [[LightmappedGeneric]] === | ||
; <code>LightmappedGeneric_HDR_DX9</code> : DX9 with [[HDR]] | ; <code>LightmappedGeneric_HDR_DX9</code> : DX9 with [[HDR]] | ||
; <code>LightmappedGeneric_DX9</code> : DX9 | ; <code>LightmappedGeneric_DX9</code> : DX9 | ||
Line 11: | Line 11: | ||
; <code>LightmappedGeneric_DX6</code> : DX6, DX7 | ; <code>LightmappedGeneric_DX6</code> : DX6, DX7 | ||
===VertexLitGeneric=== | === [[VertexLitGeneric]] === | ||
; <code>VertexLitGeneric_HDR_DX9</code> : DX9 with [[HDR]] | ; <code>VertexLitGeneric_HDR_DX9</code> : DX9 with [[HDR]] | ||
; <code>VertexLitGeneric_DX9</code> : DX9 | ; <code>VertexLitGeneric_DX9</code> : DX9 | ||
Line 18: | Line 18: | ||
; <code>VertexLitGeneric_DX6</code> : DX6 | ; <code>VertexLitGeneric_DX6</code> : DX6 | ||
===UnlitGeneric=== | === [[UnlitGeneric]] === | ||
; <code>UnlitGeneric_DX9</code> : DX9 | ; <code>UnlitGeneric_DX9</code> : DX9 | ||
; <code>UnlitGeneric_DX8</code> : DX8.0, DX8.1 | ; <code>UnlitGeneric_DX8</code> : DX8.0, DX8.1 | ||
; <code>UnlitGeneric_DX6</code> : DX6, DX7 | ; <code>UnlitGeneric_DX6</code> : DX6, DX7 | ||
===Refract=== | === [[Refract]] === | ||
; <code>Refract_DX90</code> : DX9 | ; <code>Refract_DX90</code> : DX9 | ||
; <code>Refract_DX80</code> : DX8.0, DX8.1 | ; <code>Refract_DX80</code> : DX8.0, DX8.1 | ||
Line 29: | Line 29: | ||
; <code>UnlitGeneric_DX6</code> : DX6, DX7: If you neglect to define a fallback shader, unlit generic is used. | ; <code>UnlitGeneric_DX6</code> : DX6, DX7: If you neglect to define a fallback shader, unlit generic is used. | ||
===ShatteredGlass=== | === [[ShatteredGlass]] === | ||
; <code>ShatteredGlass</code> : DX9 | ; <code>ShatteredGlass</code> : DX9 | ||
; <code>ShatteredGlass_DX8</code> : DX8.0, DX8.1 | ; <code>ShatteredGlass_DX8</code> : DX8.0, DX8.1 | ||
Line 35: | Line 35: | ||
; <code>Wireframe</code> : DX6: Shattered glass isn't supported under DX6. | ; <code>Wireframe</code> : DX6: Shattered glass isn't supported under DX6. | ||
===Water=== | === [[Water (shader)|Water]] === | ||
; <code>Water_HDR_DX90</code> : DX9 with [[HDR]] | ; <code>Water_HDR_DX90</code> : DX9 with [[HDR]] | ||
; <code>Water_DX90</code> : DX9 | ; <code>Water_DX90</code> : DX9 | ||
Line 43: | Line 43: | ||
; <code>LightmappedGeneric_DX6</code> : DX7/DX6: This is used if you neglect to define a fallback shader. | ; <code>LightmappedGeneric_DX6</code> : DX7/DX6: This is used if you neglect to define a fallback shader. | ||
===WorldTwoTextureBlend=== | === [[WorldTwoTextureBlend]] === | ||
; <code>WorldTwoTextureBlend</code> : DX9 | ; <code>WorldTwoTextureBlend</code> : DX9 | ||
; <code>WorldTwoTextureBlend_DX8</code> : DX8.0, DX8.1 | ; <code>WorldTwoTextureBlend_DX8</code> : DX8.0, DX8.1 | ||
; <code>WorldTwoTextureBlend_DX6</code> : DX6, DX7 | ; <code>WorldTwoTextureBlend_DX6</code> : DX6, DX7 | ||
===WorldVertexTransition=== | === [[WorldVertexTransition]] === | ||
; <code>WorldVertexTransition_DX9</code> : DX9 | ; <code>WorldVertexTransition_DX9</code> : DX9 | ||
; <code>WorldVertexTransition_DX8</code> : DX8.0, DX8.1 | ; <code>WorldVertexTransition_DX8</code> : DX8.0, DX8.1 | ||
; <code>WorldVertexTransition_DX6</code> : DX6, DX7 | ; <code>WorldVertexTransition_DX6</code> : DX6, DX7 | ||
===WorldVertexAlpha=== | === [[WorldVertexAlpha]] === | ||
; <code>WorldVertexAlpha</code> : DX9 | ; <code>WorldVertexAlpha</code> : DX9 | ||
; <code>WorldVertexAlpha_DX8</code> : DX8.0, DX8.1: Note this shader has no fallbacks to DX7 or below. | ; <code>WorldVertexAlpha_DX8</code> : DX8.0, DX8.1: Note this shader has no fallbacks to DX7 or below. | ||
===Cable=== | === [[Cable]] === | ||
; <code>Cable</code> : DX8.0, DX8.1, DX9 | ; <code>Cable</code> : DX8.0, DX8.1, DX9 | ||
; <code>UnlitGeneric_DX6</code> : DX6, DX7 | ; <code>UnlitGeneric_DX6</code> : DX6, DX7 | ||
===Eyes=== | === [[Eyes]] === | ||
; <code>Eyes</code> : DX9 | ; <code>Eyes</code> : DX9 | ||
; <code>Eyes_dx8</code>: DX8.0, DX8.1 | ; <code>Eyes_dx8</code>: DX8.0, DX8.1 | ||
; <code>Eyes_dx6</code> : DX6, DX7 | ; <code>Eyes_dx6</code> : DX6, DX7 | ||
===EyeRefract=== | === [[EyeRefract]] === | ||
; <code>EyeRefract</code> : DX9 | ; <code>EyeRefract</code> : DX9 | ||
; <code>Eyes_dx8</code> : DX8.0, DX8.1 | ; <code>Eyes_dx8</code> : DX8.0, DX8.1 | ||
; <code>Eyes_dx6</code> : DX6, DX7 | ; <code>Eyes_dx6</code> : DX6, DX7 | ||
===Modulate=== | === [[Modulate]] === | ||
; <code>Modulate</code> : DX8.0, DX8.1, DX9 | ; <code>Modulate</code> : DX8.0, DX8.1, DX9 | ||
; <code>Modulate_DX6</code> : DX6, DX7 | ; <code>Modulate_DX6</code> : DX6, DX7 | ||
===MonitorScreen=== | === [[MonitorScreen]] === | ||
; <code>MonitorScreen</code> : DX8.0, DX8.1, DX9 | ; <code>MonitorScreen</code> : DX8.0, DX8.1, DX9 | ||
; <code>LightmappedGeneric_DX6</code> : DX6, DX7 | ; <code>LightmappedGeneric_DX6</code> : DX6, DX7 | ||
===Predator=== | === [[Predator]] === | ||
; <code>Predator_DX80</code> : DX8.0, DX8.1, DX9 | ; <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>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. | ; <code>UnlitGeneric_DX6</code> : DX6, DX7: This is used if you neglect to define a fallback shader. | ||
===Sprite=== | === [[Sprite (shader)|Sprite]] === | ||
; <code>Sprite_DX8</code> : DX8.0, DX8.1, DX9 | ; <code>Sprite_DX8</code> : DX8.0, DX8.1, DX9 | ||
; <code>Sprite_DX6</code> : DX6, DX7 | ; <code>Sprite_DX6</code> : DX6, DX7 | ||
===Teeth=== | === [[Teeth]] === | ||
; <code>Teeth</code> : DX9 | ; <code>Teeth</code> : DX9 | ||
; <code>Teeth_DX8</code> : DX8.0, DX8.1 | ; <code>Teeth_DX8</code> : DX8.0, DX8.1 | ||
; <code>Teeth_DX6</code> : DX6, DX7 | ; <code>Teeth_DX6</code> : DX6, DX7 | ||
===UnlitTwoTexture=== | === [[UnlitTwoTexture]] === | ||
; <code>UnlitTwoTexture</code> : DX8.0, DX8.1, DX9 | ; <code>UnlitTwoTexture</code> : DX8.0, DX8.1, DX9 | ||
; <code>UnlitTwoTexture_DX6</code> : DX6, DX7 | ; <code>UnlitTwoTexture_DX6</code> : DX6, DX7 | ||
===VortWarp=== | === [[VortWarp]] === | ||
; <code>VortWarp</code> : DX9 | ; <code>VortWarp</code> : DX9 | ||
; <code>VortWarp_DX8</code> : DX8.0, DX8.1 | ; <code>VortWarp_DX8</code> : DX8.0, DX8.1 | ||
Line 103: | Line 103: | ||
; <code>VertexLitGeneric_DX6</code> : DX6 | ; <code>VertexLitGeneric_DX6</code> : DX6 | ||
===WriteZ=== | === [[WriteZ]] === | ||
; <code>WriteZ</code> : DX8.0, DX8.1, DX9 | ; <code>WriteZ</code> : DX8.0, DX8.1, DX9 | ||
; <code>WriteZ_DX6</code> : DX6, DX7 | ; <code>WriteZ_DX6</code> : DX6, DX7 | ||
===WindowImposter=== | === [[WindowImposter]] === | ||
; <code>WindowImposter_DX80</code> : DX8.0, DX8.1, DX9 | ; <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>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. |
Revision as of 10:30, 21 May 2024
This is list of the shader fallbacks that shipped with Half-Life 2. 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