$detail: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
No edit summary
Line 1: Line 1:
{{stub}}
'''$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.
The '''$detail''' [[VMT]] parameter specifies the [[VTF]] texture to use for adding detail to the material surface. It is a greyscale image usually used (in conjunction with "[[$detail#$detailscale|$detailscale]]") to add higher resolution detail to the [[$basetexture]].


== Basic VMT syntax ==
== Syntax ==
"$detail" "Path/DetailmapA"
* where '''<code>Path</code>''' is the filepath relative to the <code>game_directory/materials</code> folder.
* where '''<code>DetailmapA</code>''' is the filename; ie <code>DetailmapA.vtf</code>.


Notice the <code>.vtf</code> file extension is not used in VMT texture references.
$detail <texture>
 
You will probably want to use at least <code>$detailscale</code> (see below) as well.


== Additional parameters ==
== Additional parameters ==
=====$detailscale=====
"$detailscale" float
Scales $detail texture where <code>float</code> value is the scale factor.


=====$detailframe=====
While the additional $detail params are not strictly required, it is difficult to get good results without them.
"$detailframe"
 
* dx9
; <code>$detailscale <[[float]]></code>
* {{todo|something to do with the frame in [[Animated Texture]]s ? }}
: Fits the detail texture onto the material the given number of times.
; <code>$detailblendmode <int?></code>
: {{todo|What are the modes?}}
; <code>$detailblendfactor <float></code>
: {{todo|??}}
; <code>$detailframe <[[int]]></code>
: The frame of an animated texture to use. Requires DX9.
; <code>$detail_alpha_mask_base_texture <[[bool]]?></code>
: {{todo|Something to do with masking <code>[[$basetexture]]</code> with <code>$detail</code>'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_alpha_mask_base_texture=====
$detail detail\'''plaster_detail_01'''
  "$detail_alpha_mask_base_texture"
  $detailscale 6.783
* dx9
$detailblendfactor .8
* {{todo| ... something to do with masking by the alpha channel of either [[$basetexture]] or [[$detail]]?}}
$detailblendmode 0


== See Also ==
There is also <code>detail\wood_detail_01</code>, but not stock material seems to use it.


[[Category:List of Shader Parameters]]
[[Category:List of Shader Parameters|D]]
[[Category:VMT Texture Reference]]
[[Category:VMT Texture Reference]]

Revision as of 03:30, 15 July 2008

$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.

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.
$detailblendmode <int?>
Todo: What are the modes?
$detailblendfactor <float>
Todo: ??
$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.