Source Engine Shader Fallbacks: Difference between revisions
		
		
		
		
		
		Jump to navigation
		Jump to search
		
				
		
		
	
| m (fixed missing code tag) | TomEdwards (talk | contribs)   (→Shader Fallbacks:  DLed and added HDR fallbacks) | ||
| Line 6: | Line 6: | ||
| ===LightmappedGeneric=== | ===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=== | ===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=== | ===UnlitGeneric=== | ||
| ; <code>UnlitGeneric_DX9</code> : DX9 | |||
| ; <code>UnlitGeneric_DX8</code> : DX8.0, DX8.1 | |||
| ; <code>UnlitGeneric_DX6</code> : DX6, DX7 | |||
| ===Refract=== | ===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=== | ===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=== | ===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=== | ===WorldTwoTextureBlend=== | ||
| ; <code>WorldTwoTextureBlend</code> : DX9 | |||
| ; <code>WorldTwoTextureBlend_DX8</code> : DX8.0, DX8.1 | |||
| ; <code>WorldTwoTextureBlend_DX6</code> : DX6, DX7 | |||
| ===WorldVertexTransition=== | ===WorldVertexTransition=== | ||
| ; <code>WorldVertexTransition_DX9</code> : DX9 | |||
| ; <code>WorldVertexTransition_DX8</code> : DX8.0, DX8.1 | |||
| ; <code>WorldVertexTransition_DX6</code> : DX6, DX7 | |||
| ===WorldVertexAlpha=== | ===WorldVertexAlpha=== | ||
| ; <code>WorldVertexAlpha</code> : DX9 | |||
| ; <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>UnlitGeneric_DX6</code> : DX6, DX7 | |||
| ===Eyes=== | ===Eyes=== | ||
| ; <code>Eyes</code> : DX8.0, DX8.1, DX9 | |||
| ; <code>Eyes_DX6</code> : DX6, DX7 | |||
| ===Modulate=== | ===Modulate=== | ||
| ; <code>Modulate</code> : DX8.0, DX8.1, DX9 | |||
| ; <code>Modulate_DX6</code> : DX6, DX7 | |||
| ===MonitorScreen=== | ===MonitorScreen=== | ||
| ; <code>MonitorScreen</code> : DX8.0, DX8.1, DX9 | |||
| ; <code>LightmappedGeneric_DX6</code> : DX6, DX7 | |||
| ===Predator=== | ===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=== | ===Sprite=== | ||
| ; <code>Sprite_DX8</code> : DX8.0, DX8.1, DX9 | |||
| ; <code>Sprite_DX6</code> : DX6, DX7 | |||
| ===UnlitTwoTexture=== | ===UnlitTwoTexture=== | ||
| ; <code>UnlitTwoTexture</code> : DX8.0, DX8.1, DX9 | |||
| ; <code>UnlitTwoTexture_DX6</code> : DX6, DX7 | |||
| ===WriteZ=== | ===WriteZ=== | ||
| ; <code>WriteZ</code> : DX8.0, DX8.1, DX9 | |||
| ; <code>WriteZ_DX6</code> : DX6, DX7 | |||
| ===WindowImposter=== | ===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 | |||
| ==See Also== | ==See Also== | ||
| * [[DirectX Versions]] - includes screenshots visually comparing different DirectX levels. | * [[DirectX Versions]] - includes screenshots visually comparing different DirectX levels. | ||
Revision as of 09:05, 17 September 2008
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_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 1is 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 $fallbackmaterialfeature 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 $fallbackmaterialfeature 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 $fallbackmaterialfeature 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 $fallbackmaterialfeature 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.