$decal: Difference between revisions
SirYodaJedi (talk | contribs) No edit summary |
SirYodaJedi (talk | contribs) 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. If the geometry *is* coplanar, however, this command can be useful for "[[Decals#brush_decals|pseudo-decals]]", to enable effects that normal decal and overlay entities don't support, such as [[normal map]]ping. | 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 this behavior also occur for models, or does it just cause the offset there?}} | {{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:45, 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.
