$detail: Difference between revisions
mNo edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
{{ | {{Language subpage}} | ||
{{seealso|For detail textures as used in {{goldsrc|2}}, see [[Detail textures (GoldSrc)]]}} | |||
{{ | [[File:Detail.jpg|frame|right|A detail texture (noise_detail_01), and its effect when applied to a material (brickwall031a).]] | ||
{{shaderparam|$detail}} 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 <tt>$detailblendmode</tt>. You can also use a full color (as opposed to grayscale) image and blend it using {{Code|$detailblendmode 2}}. It is very effective for increasing the apparent resolution of a texture, and was used extensively in {{hl2ep2|4}}. | |||
{{Bug| {{Code|$detail}} textures do not work in conjunction with some parameters: | {{Bug| {{Code|$detail}} textures do not work in conjunction with some parameters: | ||
Line 10: | Line 12: | ||
}} | }} | ||
: {{Note|<span><!-- --></span> | : {{Note|<span><!-- This fixes the list --></span> | ||
:* In {{csgo}}, {{ent|LightmappedGeneric}} does not appear to even have {{ent|$lightwarptexture}} as a parameter... So it 'cannot not' work. | :* In {{csgo}}, {{ent|LightmappedGeneric}} does not appear to even have {{ent|$lightwarptexture}} as a parameter... So it 'cannot not' work. | ||
:* In {{as}}{{csgo}} on {{ent|VertexLitGeneric}}, Does not work with {{ent|$desaturatewithbasealpha}} | :* In {{as}}{{csgo}} on {{ent|VertexLitGeneric}}, Does not work with {{ent|$desaturatewithbasealpha}} | ||
Line 53: | Line 55: | ||
:There are 12 different detail blend methods that can be used. | :There are 12 different detail blend methods that can be used. | ||
:The blend modes are implemented in <code>stdshaders/common_ps_fx.h</code>. | :The blend modes are implemented in <code>stdshaders/common_ps_fx.h</code>. | ||
[[ | [[File:Detail_blend_modes_l4d2.jpg||320px|thumb|right|Blend modes in L4D2, factor .8 (Left to right modes 0 to 11, base texture only and detail only. Top row detail opacity 100%, bottom 50%).]] | ||
{{Table | {{Table | ||
| {{tr | | {{tr | ||
Line 248: | Line 250: | ||
$detailblendmode 0 | $detailblendmode 0 | ||
Additionally, there are 2 other stock detail textures. | Additionally, there are 2 other stock detail textures. {{Code|detail\detailash001a}} and {{Code|detail\detaildirt001a}}. These files were used in the "leaked" version of {{hl2|2}} and in {{hl2ep1|2}} using the following parameters. | ||
{{Code|Concrete/concretefloor009a}} in ''Episode One'' materials: | |||
$detail detail/'''detaildirt001a''' | $detail detail/'''detaildirt001a''' | ||
$detailscale 0.27 | $detailscale 0.27 | ||
{{Code|Metal/metalfloor005a}} in ''Episode One'' materials: | |||
$detail detail/'''detailash001a''' | $detail detail/'''detailash001a''' | ||
$detailscale 0.50 | $detailscale 0.50 | ||
== See Also == | == See Also == | ||
[https://web.archive.org/web/20191215081655/https://blog.maxofs2d.net/post/83154062767/hiding-large-scale-tiling-with-detail-textures Hiding large-scale tiling with detail textures] - How to make texture repeating less noticeable using $detail | [https://web.archive.org/web/20191215081655/https://blog.maxofs2d.net/post/83154062767/hiding-large-scale-tiling-with-detail-textures Hiding large-scale tiling with detail textures] - How to make texture repeating less noticeable using $detail |
Revision as of 04:04, 29 June 2023

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 Half-Life 2: Episode Two.

- In
on LightmappedGeneric, Does not work with $seamless_scale.
- In
on VertexLitGeneric. Does not work with $selfillumfresnel, if $bumpmap is used.
- In
on LightmappedGeneric, Does not work with $lightwarptexture
Note:
- In
, LightmappedGeneric does not appear to even have $lightwarptexture as a parameter... So it 'cannot not' work.
- In
on VertexLitGeneric, Does not work with $desaturatewithbasealpha
- In
, Does not work with $blendmodulatetexture and $bumpmap
- In
- Todo: Document issues from other branches of source.
Syntax
$detail <texture>
You will probably want to use at least $detailscale
(see below) as well.
Parameters and Effects
$detailframe
$detail_alpha_mask_base_texture
WorldVertexTransition Parameters
$detailscale2
$detailblendfactor2
$detailframe2
$detailtint2

SolidEnergy Parameters




$detail
has very similar parameter names, but they are not the same! $detail1
$detail1blendmode
$detail1scale
$detail1blendfactor
$detail1frame
$detail2
$detail2blendmode
$detail2scale
$detail2blendfactor
$detail2frame
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 (1024×1024), 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 and 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