Source Engine Shader Fallbacks: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
(→‎Shader Fallbacks: DLed and added HDR fallbacks)
(cleanup)
Line 1: Line 1:
[[Category:Material System]]
This is list of the [[shader]] fallbacks that shipped with Half-Life 2. See [[Material optimization]] and [[DirectX Versions]] for more details.
==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==
{{toc-right}}


===LightmappedGeneric===
===LightmappedGeneric===
Line 96: Line 94:
; <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


==See Also==
[[Category:Material System]]
 
* [[DirectX Versions]] - includes screenshots visually comparing different DirectX levels.

Revision as of 05:54, 21 June 2009

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
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 $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

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 $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