$detail: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
Line 41: Line 41:
: The color of the detail texture is added to the base texture identically to mode 1, but this color is unaffected by lighting and therefore appears to glow.
: The color of the detail texture is added to the base texture identically to mode 1, but this color is unaffected by lighting and therefore appears to glow.
;*6 {{=}} Unlit Additive Threshold Fade
;*6 {{=}} Unlit Additive Threshold Fade
: This adds color unnaffected by lighting like mode 5, but first modifies the colour added in two modes, depending on if the blend factor is above or below 0.5. {{todo|Screenshots of how this appears.}}
: This adds color unnaffected by lighting like mode 5, but first modifies the colour added in two modes, depending on if the blend factor is above or below 0.5.
;*7 {{=}} Two-Pattern DecalModulate
;*7 {{=}} Two-Pattern DecalModulate
: Only the red and alpha channels of the detail texture are used. This operates like the [[DecalModulate]] shader or blend mode 0, but the base alpha channel fades between using the red (0) or alpha (255) detail channel as the modulation source. This effectively allows two detail materials, although both are greyscale.
: Only the red and alpha channels of the detail texture are used. This operates like the [[DecalModulate]] shader or blend mode 0, but the base alpha channel fades between using the red (0) or alpha (255) detail channel as the modulation source. This effectively allows two detail materials, although both are greyscale.

Revision as of 14:38, 9 April 2020

Template:Otherlang2

A detail texture (noise_detail_01), and its effect when applied to a material (left).

Template:Shaderparam It specifies a texture which Source will use to add high-resolution detail to a material when it is viewed up close, by darkening or lightening the albedo appropriately, depending on the $detailblendmode. You can also use a full color (as opposed to grayscale) image and blend it using $detailblendmode 2. It is very effective for increasing the apparent resolution of a texture, and was used extensively in Episode Two.

Icon-Bug.pngBug:Detail textures do not currently work in conjunction with $seamless_scale. Enabling them to work together would require a programmer to edit the used shader.  [todo tested in ?]

Syntax

$detail <texture>

You will probably want to use at least $detailscale (see below) as well.

Parameters and Effects

$detailtexturetransform

Icon-Bug.pngBug:Does not currently function at all in Counter-Strike: Global Offensive.  [todo tested in ?]

$detailscale $detailblendfactor $detailblendmode $detailtint $detailframe $detail_alpha_mask_base_texture

Valve's detail textures

Valve's stock detail textures (available in OB only) are best used with the following pre-configured values:

$detail detail\noise_detail_01 // e.g. for brickwork, concrete...
$detailscale 7.74
$detailblendfactor 0.8
$detailblendmode 0
$detail detail\metal_detail_01
$detailscale 4.283
$detailblendfactor .65
$detailblendmode 0
$detail detail\rock_detail_01
$detailscale 11
$detailblendfactor 1
$detailblendmode 0
$detail detail\plaster_detail_01
$detailscale 6.783
$detailblendfactor .8
$detailblendmode 0

The below parameters come from models\props_forest\LadderWood.vmt It is the only Valve Stock texture VMT file to use this particular detail texture. Because the detail texture (detail\wood_detail_01) is a high resolution (1024x1024), the $detailscale is lower than the others. With the exception of rock_detail_01.

$detail detail\wood_detail_01
$detailscale 2.563
$detailblendfactor .8
$detailblendmode 0

Additionally, there are 2 other stock detail textures. detail\detailash001a and detail\detaildirt001a.

These files were used in the "leaked" version of Half-Life 2 & in Half-Life 2: Episode One using the following parameters;

(Concrete/concretefloor009a in Episode One materials)

$detail detail/detaildirt001a
$detailscale 0.27

(Metal/metalfloor005a in Episode One materials)

$detail detail/detailash001a
$detailscale 0.50

See Also

Hiding large-scale tiling with detail textures - How to make texture repeating less noticeable using $detail