Source Engine Shader Fallbacks: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
m (Tiddying and TOC!)
Line 63: Line 63:
| <code>Water_dx80</code> || dx8.0
| <code>Water_dx80</code> || dx8.0
|-
|-
| 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>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.
| <code>LightmappedGeneric_dx6</code> || dx7/dx6: This is used if you neglect to define a fallback shader.

Revision as of 02:51, 18 July 2005

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 1 is 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 when mat_reducefillrate 1 is 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 $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_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

See Also

  • DirectX Versions - includes screenshots visually comparing different DirectX levels.