$decal: Difference between revisions
SirYodaJedi (talk | contribs) (Removed redirect to Decals) Tag: Removed redirect |
SirYodaJedi (talk | contribs) No edit summary |
||
(4 intermediate revisions by the same user not shown) | |||
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. If the geometry *is* coplanar, however, this command can be useful for making "[[Decals#brush_decals|pseudo-decals]]", to enable effects that normal decal and overlay entities don't support, such as [[normal map]]ping. | |||
{{confirm|Does the disabled depth writing also occur for models, or does it just cause the offset there?}} | |||
[[Category:Shader parameters|d]] | [[Category:Shader parameters|d]] |
Latest revision as of 11:47, 3 May 2025
$decal
is a material shader parameter available in all 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. If the geometry *is* coplanar, however, this command can be useful for making "pseudo-decals", to enable effects that normal decal and overlay entities don't support, such as normal mapping.
