Screenspace General: Difference between revisions
|  (Add pixshader to the parameters section, because it may require a DX8 fallback (as seen in dev/bloomadd)) | mNo edit summary | ||
| Line 4: | Line 4: | ||
| {{this is a|vertex shader|since=source 2007|name=screenspace_general}}{{confirm}} It is most commonly used to draw generic screenspace effects. | {{this is a|vertex shader|since=source 2007|name=screenspace_general}}{{confirm}} It is most commonly used to draw generic screenspace effects. | ||
| Unlike other shaders using {{code|screenspaceeffect}} as its [[Shader#Vertex shaders|vertex shader]], {{code|screenspace_general}} allows developers to easily access and modify its [[Shader#pixel  | Unlike other shaders using {{code|screenspaceeffect}} as its [[Shader#Vertex shaders|vertex shader]], {{code|screenspace_general}} allows developers to easily access and modify its [[Shader#pixel shaders|pixel shader]], 4 texture samplers and 4 shader register constants.{{clarify}} | ||
| This can be useful for quickly iterating and testing screen effects, without having to reload all shaders, or recompile stdshaders to define/modify parameters. | This can be useful for quickly iterating and testing screen effects, without having to reload all shaders, or recompile stdshaders to define/modify parameters. | ||
Revision as of 16:26, 26 December 2024

 
screenspace_general  is a   Vertex shader  available in all  Source games since
 Source games since  Source 2007.[confirm] It is most commonly used to draw generic screenspace effects.
 Source 2007.[confirm] It is most commonly used to draw generic screenspace effects.
Unlike other shaders using screenspaceeffect as its vertex shader, screenspace_general allows developers to easily access and modify its pixel shader, 4 texture samplers and 4 shader register constants.[Clarify]
This can be useful for quickly iterating and testing screen effects, without having to reload all shaders, or recompile stdshaders to define/modify parameters.
Notable usage
dev/halo_add_to_screen
Used by the TF2 Glow Effect (2013 SDK) to help create an outline around models using stencils.
It uses the haloaddoutline_ps20 pixel shader to apply cheap blur. $C0_X controls the glow fade value (restricted to 1.0f in code.)
$C0_X actually does what it says it is supposed to do.Parameters

screenspace_general.cppTools
An SDK to easily create custom pixel shaders for any Source game is available here: ficool2/sdk_screenspace_shaders.
 Note:Although not intended. This shader also correctly displays on brushes, info_overlays, decals, and models (requires $softwareskin 1 and $translucent 1)
Note:Although not intended. This shader also correctly displays on brushes, info_overlays, decals, and models (requires $softwareskin 1 and $translucent 1)























