Source Engine Shader Fallbacks

From Valve Developer Community
Revision as of 17:44, 20 July 2005 by JeffLane (talk | contribs) (made table headers into sections for table of contents.)
Jump to navigation Jump to search

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.