Shaders in Dev\: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
(→‎screenspace_general: Updated and explained)
(These shader sources can be found in the modern SDK (some were added with TF2 source code, others were there already))
 
(One intermediate revision by one other user not shown)
Line 2: Line 2:


*[[LightmappedGeneric]] is used for 77 materials.
*[[LightmappedGeneric]] is used for 77 materials.
*[[Shaders_in_Nature\#LightmappedGeneric_DX6|LightmappedGeneric_DX6]] is used for the <code>dev_monitor.vmt</code> material (as a fallback shader for the ''LightmappedGeneric'' shader).
**[[LightmappedGeneric_DX6]] is used for the <code>dev_monitor.vmt</code> material (as a fallback shader for the ''LightmappedGeneric'' shader).
*[[Water (shader)|Water]] is used for 10 materials.
*[[Water (shader)|Water]] is used for 10 materials.
*[[Shaders_in_Nature\#Water_DX60|Water_DX60]] is used for 10 materials (as a fallback shader for the ''Water'' shader).
** Water_DX60 is used for 10 materials (as a fallback shader for the ''Water'' shader).
*[[Shaders_in_Nature\#Water_DX90|Water_DX90]] is used for the <code>dev_water3.vmt</code> material (as a fallback shader for the ''Water'' shader).
** Water_DX90 is used for the <code>dev_water3.vmt</code> material (as a fallback shader for the ''Water'' shader).
*[[UnlitTwoTexture]] is used for 10 materials.
*[[UnlitTwoTexture]] is used for 10 materials.
*[[UnlitGeneric]] is used for 6 materials.
*[[UnlitGeneric]] is used for 6 materials.
*[[Shaders_in_Nature\#WorldVertexTransition|WorldVertexTransition]] is used for the <code>dev_blendmeasure.vmt</code> and <code>dev_blendmeasure2.vmt</code> materials.
*[[WorldVertexTransition]] is used for the <code>dev_blendmeasure.vmt</code> and <code>dev_blendmeasure2.vmt</code> materials.
*[[VertexLitGeneric]] is used for the <code>dev_measureice01.vmt</code> material.
*[[VertexLitGeneric]] is used for the <code>dev_measureice01.vmt</code> material.


Line 26: Line 26:
===BlurFilterX===
===BlurFilterX===
* Used by the materials <code>blurfilterx.vmt</code> and <code>blurfilterx_nohdr.vmt</code> only.  
* Used by the materials <code>blurfilterx.vmt</code> and <code>blurfilterx_nohdr.vmt</code> only.  
* Not defined by released mod code, but materials are referred to.  
* Can be found in [[Source SDK 2013]] source code.
* Used to horizontally blur the screen. One of two blur passes for Bloom.
* Used to horizontally blur the screen. One of two blur passes for Bloom.


===BlurFilterY===
===BlurFilterY===
* Used by the materials <code>blurfiltery.vmt</code>, <code>blurfiltery_nohdr.vmt</code> and <code>blurfiltery_and_add_nohdr.vmt</code> only.
* Used by the materials <code>blurfiltery.vmt</code>, <code>blurfiltery_nohdr.vmt</code> and <code>blurfiltery_and_add_nohdr.vmt</code> only.
* Not defined by released mod code, but materials are referred to.  
* Can be found in Source SDK 2013 source code.
* Used to vertically blur the screen. One of two blur passes for Bloom.
* Used to vertically blur the screen. One of two blur passes for Bloom.


===Downsample===
===Downsample===
* Used in only one material: <code>downsample.vmt</code>
* Used in only one material: <code>downsample.vmt</code>
* Not found in released mod code (but materials possibly containing it are referred to).
* Can be found in [[Source SDK 2013 MP]] source code.
* Downsamples the framebuffer (likely 4x). Used as first pass of Bloom.
* Downsamples the framebuffer (likely 4x). Used as first pass of Bloom.


===Downsample_nohdr===
===Downsample_nohdr===
* Used in only one material: <code>downsample_non_hdr.vmt</code>
* Used in only one material: <code>downsample_non_hdr.vmt</code>
* Not found in released mod code.
* Can be found in Source SDK 2013 MP source code.
* Downsamples the framebuffer (likely 4x). Used as first pass of Bloom.
* Downsamples the framebuffer (likely 4x). Used as first pass of Bloom.
* Unsure of the difference between this and the previous ''Downsample'' shader.
* Unsure of the difference between this and the previous ''Downsample'' shader.
Line 47: Line 47:
===floattoscreen===
===floattoscreen===
* Used by the materials <code>copyfullframefb.vmt</code> and <code>copyfullframefb_vanilla.vmt</code> only.
* Used by the materials <code>copyfullframefb.vmt</code> and <code>copyfullframefb_vanilla.vmt</code> only.
* Not found in released mod code.
* Can be found in Source SDK 2013 MP source code.
* Probably something to do with bloom shading.
* Probably something to do with bloom shading.


Line 53: Line 53:
* Used in only one material: <code>floattoscreen_combine.vmt</code>
* Used in only one material: <code>floattoscreen_combine.vmt</code>
* Material referred to in <code>src\cl_dll\view_scene.cpp</code>.
* Material referred to in <code>src\cl_dll\view_scene.cpp</code>.
* Can be found in Source SDK 2013 MP source code.
* Probably something to do with bloom.
* Probably something to do with bloom.


===floatcombine_autoexpose===
===floatcombine_autoexpose===
* Used in only one material: <code>floattoscreen_combine_autoexpose.vmt</code>
* Used in only one material: <code>floattoscreen_combine_autoexpose.vmt</code>
* Not found in released mod code.
* Can be found in Source SDK 2013 MP source code.
* Probably something to do with bloom.
* Probably something to do with bloom.


Line 66: Line 67:
===MonitorScreen===
===MonitorScreen===
* Used in only one material: <code>dev_tvmonitor2a.vmt</code>
* Used in only one material: <code>dev_tvmonitor2a.vmt</code>
* Not found in released mod code.
* Can be found in Source SDK 2013 MP source code.


===sample4x4===
===sample4x4===
* Used in 6 materials.
* Used in 6 materials.
* Not found in released mod code.
* Can be found in Source SDK 2013 MP source code.


===sample4x4_blend===
===sample4x4_blend===
* Used by the materials <code>blendfb0.vmt</code> and <code>blendfb1.vmt</code>.
* Used by the materials <code>blendfb0.vmt</code> and <code>blendfb1.vmt</code>.
* Not found in released mod code.
* Can be found in Source SDK 2013 MP source code.


===screenspace_general===
===screenspace_general===
Line 84: Line 85:
===WindowImposter===
===WindowImposter===
* Used in only one material: <code>dev_windowportal.vmt</code>
* Used in only one material: <code>dev_windowportal.vmt</code>
* Not found in released mod code.
* Can be found in Source SDK 2013 MP source code.




[[Category: Shaders]]
[[Category: Shaders]]

Latest revision as of 14:28, 30 June 2025

The Dev\ folder of Source Materials.gcf contains the following shaders:

  • LightmappedGeneric is used for 77 materials.
    • LightmappedGeneric_DX6 is used for the dev_monitor.vmt material (as a fallback shader for the LightmappedGeneric shader).
  • Water is used for 10 materials.
    • Water_DX60 is used for 10 materials (as a fallback shader for the Water shader).
    • Water_DX90 is used for the dev_water3.vmt material (as a fallback shader for the Water shader).
  • UnlitTwoTexture is used for 10 materials.
  • UnlitGeneric is used for 6 materials.
  • WorldVertexTransition is used for the dev_blendmeasure.vmt and dev_blendmeasure2.vmt materials.
  • VertexLitGeneric is used for the dev_measureice01.vmt material.


Dedicated Shaders

The following shaders are more or less exclusively used for this folder. Many of them have to do with bloom shading.

BaseTimesMod2xEnvMap

  • Used in only one material: dev_camo.vmt
  • Not found in released mod code.

Bloom

  • Used in only one material: bloom.vmt
  • Final pass for Bloom post-process shader.

BlurFilterX

  • Used by the materials blurfilterx.vmt and blurfilterx_nohdr.vmt only.
  • Can be found in Source SDK 2013 source code.
  • Used to horizontally blur the screen. One of two blur passes for Bloom.

BlurFilterY

  • Used by the materials blurfiltery.vmt, blurfiltery_nohdr.vmt and blurfiltery_and_add_nohdr.vmt only.
  • Can be found in Source SDK 2013 source code.
  • Used to vertically blur the screen. One of two blur passes for Bloom.

Downsample

  • Used in only one material: downsample.vmt
  • Can be found in Source SDK 2013 MP source code.
  • Downsamples the framebuffer (likely 4x). Used as first pass of Bloom.

Downsample_nohdr

  • Used in only one material: downsample_non_hdr.vmt
  • Can be found in Source SDK 2013 MP source code.
  • Downsamples the framebuffer (likely 4x). Used as first pass of Bloom.
  • Unsure of the difference between this and the previous Downsample shader.

floattoscreen

  • Used by the materials copyfullframefb.vmt and copyfullframefb_vanilla.vmt only.
  • Can be found in Source SDK 2013 MP source code.
  • Probably something to do with bloom shading.

floatcombine

  • Used in only one material: floattoscreen_combine.vmt
  • Material referred to in src\cl_dll\view_scene.cpp.
  • Can be found in Source SDK 2013 MP source code.
  • Probably something to do with bloom.

floatcombine_autoexpose

  • Used in only one material: floattoscreen_combine_autoexpose.vmt
  • Can be found in Source SDK 2013 MP source code.
  • Probably something to do with bloom.

hdrselectrange

  • Used in only one material: hdrselectrange.vmt
  • Not found in released mod code.

MonitorScreen

  • Used in only one material: dev_tvmonitor2a.vmt
  • Can be found in Source SDK 2013 MP source code.

sample4x4

  • Used in 6 materials.
  • Can be found in Source SDK 2013 MP source code.

sample4x4_blend

  • Used by the materials blendfb0.vmt and blendfb1.vmt.
  • Can be found in Source SDK 2013 MP source code.

screenspace_general

  • Used by the materials lumcompare.vmt and no_pixel_write.vmt.
  • Allows custom pixel shader to be set if the VMT
  • Standard vertex shader used by post-processing effects
  • Released in Source 2007 Code

WindowImposter

  • Used in only one material: dev_windowportal.vmt
  • Can be found in Source SDK 2013 MP source code.