UnlitGeneric: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
(→‎Projected Texture Bugs: never had an issue with this)
m (Undocumented Parameter $LinearWrite)
Line 31: Line 31:
== Additional Parameters ==
== Additional Parameters ==


{{MatParam|$linearwrite|bool|Instructs the System that the Shader writes Linear Values that require conversion, or sRGB Values that don't require conversion.
The Parameter Name is a tad confusing. A Value of 0 means the Shader outputs Linear Values. A Value of 1 means the output shouldn't be converted.}}
{{MatParam|$receiveflashlight|bool|Allow the player's flashlight to illuminate the material.}}
{{MatParam|$receiveflashlight|bool|Allow the player's flashlight to illuminate the material.}}
{{MatParam|$singlepassflashlight|bool|Possibly used to allow shadows to form from this decal.<br/>For example, found in L4D2 ''decals/detail/ruraldetailsprites.vmt''<br/>{{todo|confirm.}}}}
{{MatParam|$singlepassflashlight|bool|Possibly used to allow shadows to form from this decal.<br/>For example, found in L4D2 ''decals/detail/ruraldetailsprites.vmt''<br/>{{todo|confirm.}}}}

Revision as of 10:59, 11 June 2025

English (en)Français (fr)中文 (zh)Translate (Translate)

UnlitGeneric draws a diffuse without standard lighting passes. It is used for things like UI images, pure white, and pitch blackness, but also in situations when software lighting is used (like on detail props).

Supported Parameters

Basics

$basetexture $surfaceprop $model

Adjustment

$detail $color

Transparency

$alpha $alphatest $nocull $translucent $vertexalpha

Texture Organization

%keywords %notooltexture %tooltexture

Effect

$nofog

Additional Parameters

$linearwrite $receiveflashlight $singlepassflashlight $deferred

Caveats

Projected Texture Bugs

If a Skybox has an UnlitGeneric shader applied to it, some visual bugs can occur. Notably, if a projected texture is shone near a Skybox using an UnlitGeneric shader, the Skybox may appear to ignore surrounding geometry and phase through walls for as long as the projected texture is active.

To fix this, ensure that a sky_camera exists in the world, typically in its own box which exists outside of the rest of the map.

Preferably, use the purpose-built Sky shader instead.

Models

If this shader is being used on a model, you must specify $model 1 to prevent errors.

Mapbase

Unlit materials in Mapbase should have the shader SDK_UnlitGeneric.