$detail: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
No edit summary
mNo edit summary
Line 1: Line 1:
[[Image:Detail.jpg|frame|right|A detail texture, and its effect when applied to a material.]]
[[Image:Detail.jpg|frame|right|A detail texture (noise_detail_01), 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]].
'''$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]].
Line 14: Line 14:


; <code>$detailscale <[[float]]></code>
; <code>$detailscale <[[float]]></code>
: Fits the detail texture onto the material the given number of times. Generally around 7 or 8 for a 128px detail teture.
: Fits the detail texture onto the material the given number of times. Generally around 7 or 8 for a 128px detail texture.
; <code>$detailblendfactor <[[normal]]></code>
; <code>$detailblendfactor <[[normal]]></code>
: Intensity of the detail's darkening of <code>$basetexture</code>. Effectively an <code>[[$alpha]]</code> value.
: Intensity of the detail's darkening of the albedo. Effectively an <code>[[$alpha]]</code> value.
; <code>$detailblendmode <[[int]]?></code>
; <code>$detailblendmode <[[int]]?></code>
: {{todo|What are the modes?}}
: {{todo|What are the modes?}}

Revision as of 03:55, 15 July 2008

A detail texture (noise_detail_01), 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 texture.
$detailblendfactor <normal>
Intensity of the detail's darkening of the albedo. 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.