$decaltexture

From Valve Developer Community
Jump to navigation Jump to search

$decaltexture is a material shader parameter available in Counter-Strike: Global Offensive Counter-Strike: Global Offensive. It allows for a second UV channel to be defined for a model, allowing a decal texture to be placed on top of the base material. To use the parameter, the MDL must have been compiled from an FBX file and have a second UV channel defined.

Icon-Bug.pngBug:Using VBSP's -StaticPropCombine parameter appears to break this effect on autocombined models in some cases.  [todo tested in?]
Here, each label on the crates is laid out on a separate UV channel to that of the main texture – this allows easy and efficient reuse of the same labels/decals on many different props without losing texture resolution.

Parameters and Effects

The decal texture.
Set the decal's blend mode.
  • 0 - Alpha Masked
  • 1 - Multiplied
    Note.pngNote:If set to 1, $phong will not function on the material.
  • 2 - Modulate (functions like DecalModulate, or Photoshop's Overlay blend mode)
    Note.pngNote:Mode 2 expects sRGB input, not linear. This means ~0.73 gray acts as the mid point, instead of 0.5
  • 3 - Additive
    Icon-Bug.pngBug:Mode 0 and 1 will not render in Hammer, however the basetexture will still render. Mode 2 and 3 will cause the model to render completely black in Hammer. It will still render correctly in game though.  [todo tested in?]
    Note.pngNote:$decalblendmode MUST be defined in order for $decaltexture to work.
If enabled, model decals will ignore depth.