$detail

From Valve Developer Community
Revision as of 03:53, 15 July 2008 by TomEdwards (talk | contribs)
Jump to navigation Jump to search
A detail texture, and its effect when applied to a material.

$detail specifies a greyscale texture with which Source will add high-resolution detail when the material is viewed up close, by darkening the albedo appropriately. It is very effective for increasing the apparent resolution of a texture, and was used extensively in Episode Two.

Syntax

$detail <texture>

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

Additional parameters

While the additional $detail params are not strictly required, it is difficult to get good results without them.

$detailscale <float>
Fits the detail texture onto the material the given number of times. Generally around 7 or 8 for a 128px detail teture.
$detailblendfactor <normal>
Intensity of the detail's darkening of $basetexture. Effectively an $alpha value.
$detailblendmode <int?>
Todo: What are the modes?
$detailframe <int>
The frame of an animated texture to use. Requires DX9.
$detail_alpha_mask_base_texture <bool?>
Todo: Something to do with masking $basetexture with $detail's alpha channel?
Requires DX9.

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

There is also detail\wood_detail_01, but not stock material seems to use it.