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

$decal: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
{{this is a|shader parameter|name=$decal|engine=source}} It offsets any faces assigned the material by a minuscule amount along its [[surface normal]], preventing [[z-fighting]] with coplanar faces. This makes it suitable for [[decals]].
{{this is a|shader parameter|name=$decal|engine=source}} It offsets any faces assigned the material by a minuscule amount along its [[surface normal]], preventing [[z-fighting]] with coplanar faces. This makes it suitable for [[decals]].
When used on "proper" decals/overlays, as well as brushes and displacements, it disables depth writing{{clarify}}, causing the surface's depth to be inherited from underlying geometry. This can  cause a $decal material to look weird when used on a brush/displacement that isn't coplanar or nearly coplanar to a non-$decal brush.
{{confirm|Does this behavior also occur for models, or does it just cause the offset there?}}
[[Category:Shader parameters|d]]
[[Category:Shader parameters|d]]

Revision as of 11:37, 3 May 2025

$decal is a material shader parameter available in all Source Source games. It offsets any faces assigned the material by a minuscule amount along its surface normal, preventing z-fighting with coplanar faces. This makes it suitable for decals.

When used on "proper" decals/overlays, as well as brushes and displacements, it disables depth writing[Clarify], causing the surface's depth to be inherited from underlying geometry. This can cause a $decal material to look weird when used on a brush/displacement that isn't coplanar or nearly coplanar to a non-$decal brush.

Confirm:Does this behavior also occur for models, or does it just cause the offset there?