This article's documentation is for anything that uses the Source engine. Click here for more information.

Screenspace General: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
Line 2: Line 2:
{{Stub}}
{{Stub}}


{{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_shaders|pixel shader]], 4 texture samplers and 4 shader register constants.{{clarify}}
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}}

Revision as of 08:01, 27 December 2024

English (en)Translate (Translate)

Stub

This article or section is a stub. You can help by expanding it.

Screenspace_General is a Vertex shader available in all Source Source games since Source 2007 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.)

Todo: Test if changing $C0_X actually does what it says it is supposed to do.

Parameters

Todo: List parameters from 🖿screenspace_general.cpp

$PIXSHADER

Tools

An SDK to easily create custom pixel shaders for any Source game is available here: ficool2/sdk_screenspace_shaders.

Note.pngNote:Although not intended. This shader also correctly displays on brushes, info_overlays, decals, and models (requires $softwareskin 1 and $translucent 1)
Todo: Is this sdk_screenspace_shaders exclusive?