$detail: Difference between revisions
Line 23: | Line 23: | ||
<div style=margin-bottom:16px> | <div style=margin-bottom:16px> | ||
<div style="background-color:#262626; position:sticky; z-index:10; padding:2px 0; top:0;"><kbd>[[$detailtexturetransform|<span style=color:#DDDCDC>$detailtexturetransform</span>]]</kbd> {{KV Type|matrix}} {{Dx9}}</div> | <div style="background-color:#262626; position:sticky; z-index:10; padding:2px 0; top:0;"><kbd>[[$detailtexturetransform|<span style=color:#DDDCDC>$detailtexturetransform</span>]]</kbd> {{KV Type|matrix}} {{Dx9}}</div> | ||
<div style="border:1px dotted rgba(255,255,255,.2); border-radius:4px; border-left:4px solid rgba(255,255,255,.2); padding:2px 9px; margin-top:2px;"> | <div style="background:linear-gradient(90deg, rgba(255,255,255,0.02), transparent); border:1px dotted rgba(255,255,255,.2); border-radius:4px; border-left:4px solid rgba(255,255,255,.2); padding:2px 9px; margin-top:2px;"> | ||
Rotates, scales, etc. the detail texture. | Rotates, scales, etc. the detail texture. | ||
:The default position is {{Code|style=1|center .5 .5 scale 1 1 rotate 0 translate 0 0}}. | :The default position is {{Code|style=1|center .5 .5 scale 1 1 rotate 0 translate 0 0}}. | ||
Line 42: | Line 42: | ||
<div style=margin-bottom:16px> | <div style=margin-bottom:16px> | ||
<div style="background-color:#262626; position:sticky; z-index:10; padding:2px 0; top:0;"><kbd>[[$detailscale|<span style=color:#DDDCDC>$detailscale</span>]]</kbd> {{KV Type|float}}</div> | <div style="background-color:#262626; position:sticky; z-index:10; padding:2px 0; top:0;"><kbd>[[$detailscale|<span style=color:#DDDCDC>$detailscale</span>]]</kbd> {{KV Type|float}}</div> | ||
<div style="border:1px dotted rgba(255,255,255,.2); border-radius:4px; border-left:4px solid rgba(255,255,255,.2); padding:2px 9px; margin-top:2px;"> | <div style="background:linear-gradient(90deg, rgba(255,255,255,0.02), transparent); border:1px dotted rgba(255,255,255,.2); border-radius:4px; border-left:4px solid rgba(255,255,255,.2); padding:2px 9px; margin-top:2px;"> | ||
Fits the detail texture onto the material the given number of times (default {{=}} 4). Generally used instead of <code>$detailtexturetransform</code> with a value of around 7 or 8 for a 128px detail texture. To independently scale the X and Y coordinates, place your values in brackets: <code>$detailscale "[ 4 8 ]"</code> | Fits the detail texture onto the material the given number of times (default {{=}} 4). Generally used instead of <code>$detailtexturetransform</code> with a value of around 7 or 8 for a 128px detail texture. To independently scale the X and Y coordinates, place your values in brackets: <code>$detailscale "[ 4 8 ]"</code> | ||
</div> | </div> | ||
Line 49: | Line 49: | ||
<div style=margin-bottom:16px> | <div style=margin-bottom:16px> | ||
<div style="background-color:#262626; position:sticky; z-index:10; padding:2px 0; top:0;"><kbd>[[$detailblendfactor|<span style=color:#DDDCDC>$detailblendfactor</span>]]</kbd> {{KV Type|normal}}</div> | <div style="background-color:#262626; position:sticky; z-index:10; padding:2px 0; top:0;"><kbd>[[$detailblendfactor|<span style=color:#DDDCDC>$detailblendfactor</span>]]</kbd> {{KV Type|normal}}</div> | ||
<div style="border:1px dotted rgba(255,255,255,.2); border-radius:4px; border-left:4px solid rgba(255,255,255,.2); padding:2px 9px; margin-top:2px;"> | <div style="background:linear-gradient(90deg, rgba(255,255,255,0.02), transparent); border:1px dotted rgba(255,255,255,.2); border-radius:4px; border-left:4px solid rgba(255,255,255,.2); padding:2px 9px; margin-top:2px;"> | ||
Controls the amount that the detail texture affects the base texture. The precise use of this depends on the blend factor; in most cases it acts similarly to [[$alpha]]. A value of 0 usually makes the detail texture have no effect, whilst a value of 1 applies the full effect. | Controls the amount that the detail texture affects the base texture. The precise use of this depends on the blend factor; in most cases it acts similarly to [[$alpha]]. A value of 0 usually makes the detail texture have no effect, whilst a value of 1 applies the full effect. | ||
</div> | </div> | ||
Line 56: | Line 56: | ||
<div style=margin-bottom:16px> | <div style=margin-bottom:16px> | ||
<div style="background-color:#262626; position:sticky; z-index:10; padding:2px 0; top:0;"><kbd>[[$detailblendmode|<span style=color:#DDDCDC>$detailblendmode</span>]]</kbd> {{KV Type|int}}</div> | <div style="background-color:#262626; position:sticky; z-index:10; padding:2px 0; top:0;"><kbd>[[$detailblendmode|<span style=color:#DDDCDC>$detailblendmode</span>]]</kbd> {{KV Type|int}}</div> | ||
<div style="border:1px dotted rgba(255,255,255,.2); border-radius:4px; border-left:4px solid rgba(255,255,255,.2); padding:2px 9px; margin-top:2px;"> | <div style="background:linear-gradient(90deg, rgba(255,255,255,0.02), transparent); border:1px dotted rgba(255,255,255,.2); border-radius:4px; border-left:4px solid rgba(255,255,255,.2); padding:2px 9px; margin-top:2px;"> | ||
How to combine the detail material with the albedo. | How to combine the detail material with the albedo. | ||
:There are 12 different detail blend methods that can be used. | :There are 12 different detail blend methods that can be used. | ||
Line 128: | Line 128: | ||
<div style=margin-bottom:16px> | <div style=margin-bottom:16px> | ||
<div style="background-color:#262626; position:sticky; z-index:10; padding:2px 0; top:0;"><kbd>[[$detailtint|<span style=color:#DDDCDC>$detailtint</span>]]</kbd> {{KV Type|RGB matrix}}</div> | <div style="background-color:#262626; position:sticky; z-index:10; padding:2px 0; top:0;"><kbd>[[$detailtint|<span style=color:#DDDCDC>$detailtint</span>]]</kbd> {{KV Type|RGB matrix}}</div> | ||
<div style="border:1px dotted rgba(255,255,255,.2); border-radius:4px; border-left:4px solid rgba(255,255,255,.2); padding:2px 9px; margin-top:2px;"> | <div style="background:linear-gradient(90deg, rgba(255,255,255,0.02), transparent); border:1px dotted rgba(255,255,255,.2); border-radius:4px; border-left:4px solid rgba(255,255,255,.2); padding:2px 9px; margin-top:2px;"> | ||
Color tint of the detail texture. | Color tint of the detail texture. | ||
{{Bug|In {{src13}} {{tf2}} {{as}} {{csgo}} On {{ent|VertexLitGeneric}}. Does not work with {{ent|$bumpmap}} or {{ent|$phong}}}} | {{Bug|In {{src13}} {{tf2}} {{as}} {{csgo}} On {{ent|VertexLitGeneric}}. Does not work with {{ent|$bumpmap}} or {{ent|$phong}}}} | ||
Line 138: | Line 138: | ||
<div style=margin-bottom:16px> | <div style=margin-bottom:16px> | ||
<div style="background-color:#262626; position:sticky; z-index:10; padding:2px 0; top:0;"><kbd>[[$detailframe|<span style=color:#DDDCDC>$detailframe</span>]]</kbd> {{KV Type|int}} {{Dx9}}</div> | <div style="background-color:#262626; position:sticky; z-index:10; padding:2px 0; top:0;"><kbd>[[$detailframe|<span style=color:#DDDCDC>$detailframe</span>]]</kbd> {{KV Type|int}} {{Dx9}}</div> | ||
<div style="border:1px dotted rgba(255,255,255,.2); border-radius:4px; border-left:4px solid rgba(255,255,255,.2); padding:2px 9px; margin-top:2px;"> | <div style="background:linear-gradient(90deg, rgba(255,255,255,0.02), transparent); border:1px dotted rgba(255,255,255,.2); border-radius:4px; border-left:4px solid rgba(255,255,255,.2); padding:2px 9px; margin-top:2px;"> | ||
The frame to start an animated <code>$detail</code> texture on. | The frame to start an animated <code>$detail</code> texture on. | ||
</div> | </div> | ||
Line 145: | Line 145: | ||
<div style=margin-bottom:16px> | <div style=margin-bottom:16px> | ||
<div style="background-color:#262626; position:sticky; z-index:10; padding:2px 0; top:0;"><kbd>[[$detail_alpha_mask_base_texture|<span style=color:#DDDCDC>$detail_alpha_mask_base_texture</span>]]</kbd> {{KV Type|bool}} {{removed|{{csgo}}}}</div> | <div style="background-color:#262626; position:sticky; z-index:10; padding:2px 0; top:0;"><kbd>[[$detail_alpha_mask_base_texture|<span style=color:#DDDCDC>$detail_alpha_mask_base_texture</span>]]</kbd> {{KV Type|bool}} {{removed|{{csgo}}}}</div> | ||
<div style="border:1px dotted rgba(255,255,255,.2); border-radius:4px; border-left:4px solid rgba(255,255,255,.2); padding:2px 9px; margin-top:2px;"> | <div style="background:linear-gradient(90deg, rgba(255,255,255,0.02), transparent); border:1px dotted rgba(255,255,255,.2); border-radius:4px; border-left:4px solid rgba(255,255,255,.2); padding:2px 9px; margin-top:2px;"> | ||
{{Ent|WorldVertexTransition}} only. When enabled, causes the level of detail alpha to determine "base texture blending."{{Important|Since '''at minimum''' {{src13}} this parameter does not actually do anything!}} | {{Ent|WorldVertexTransition}} only. When enabled, causes the level of detail alpha to determine "base texture blending."{{Important|Since '''at minimum''' {{src13}} this parameter does not actually do anything!}} | ||
</div> | </div> | ||
Line 156: | Line 156: | ||
<div style=margin-bottom:16px> | <div style=margin-bottom:16px> | ||
<div style="background-color:#262626; position:sticky; z-index:10; padding:2px 0; top:0;"><kbd>[[$detail2|<span style=color:#DDDCDC>$detail2</span>]]</kbd> {{KV Type|texture}} {{only|{{csgo}}}} <span style="background-color:#202020; border-radius:2px; white-space:nowrap; color:#d3d3d3; padding:2px 4px">Shader: WorldVertexTransition</span></div> | <div style="background-color:#262626; position:sticky; z-index:10; padding:2px 0; top:0;"><kbd>[[$detail2|<span style=color:#DDDCDC>$detail2</span>]]</kbd> {{KV Type|texture}} {{only|{{csgo}}}} <span style="background-color:#202020; border-radius:2px; white-space:nowrap; color:#d3d3d3; padding:2px 4px">Shader: WorldVertexTransition</span></div> | ||
<div style="border:1px dotted rgba(255,255,255,.2); border-radius:4px; border-left:4px solid rgba(255,255,255,.2); padding:2px 9px; margin-top:2px;"> | <div style="background:linear-gradient(90deg, rgba(255,255,255,0.02), transparent); border:1px dotted rgba(255,255,255,.2); border-radius:4px; border-left:4px solid rgba(255,255,255,.2); padding:2px 9px; margin-top:2px;"> | ||
Detail texture for {{ent|WorldVertexTransition}}'s second layer. | Detail texture for {{ent|WorldVertexTransition}}'s second layer. | ||
{{Note|{{ent|LightmappedGeneric}} technically has support for these parameters and other <code>WorldVertexTransition</code> parameters, but they may not work as expected.}} | {{Note|{{ent|LightmappedGeneric}} technically has support for these parameters and other <code>WorldVertexTransition</code> parameters, but they may not work as expected.}} | ||
Line 167: | Line 167: | ||
<div style=margin-bottom:16px> | <div style=margin-bottom:16px> | ||
<div style="background-color:#262626; position:sticky; z-index:10; padding:2px 0; top:0;"><kbd>[[$detailscale2|<span style=color:#DDDCDC>$detailscale2</span>]]</kbd> {{KV Type|float}} {{only|{{csgo}}}} <span style="background-color:#202020; border-radius:2px; white-space:nowrap; color:#d3d3d3; padding:2px 4px">Shader: WorldVertexTransition</span></div> | <div style="background-color:#262626; position:sticky; z-index:10; padding:2px 0; top:0;"><kbd>[[$detailscale2|<span style=color:#DDDCDC>$detailscale2</span>]]</kbd> {{KV Type|float}} {{only|{{csgo}}}} <span style="background-color:#202020; border-radius:2px; white-space:nowrap; color:#d3d3d3; padding:2px 4px">Shader: WorldVertexTransition</span></div> | ||
<div style="border:1px dotted rgba(255,255,255,.2); border-radius:4px; border-left:4px solid rgba(255,255,255,.2); padding:2px 9px; margin-top:2px;"> | <div style="background:linear-gradient(90deg, rgba(255,255,255,0.02), transparent); border:1px dotted rgba(255,255,255,.2); border-radius:4px; border-left:4px solid rgba(255,255,255,.2); padding:2px 9px; margin-top:2px;"> | ||
Detail scale for <tt>$detail2</tt>. | Detail scale for <tt>$detail2</tt>. | ||
</div> | </div> | ||
Line 174: | Line 174: | ||
<div style=margin-bottom:16px> | <div style=margin-bottom:16px> | ||
<div style="background-color:#262626; position:sticky; z-index:10; padding:2px 0; top:0;"><kbd>[[$detailblendfactor2|<span style=color:#DDDCDC>$detailblendfactor2</span>]]</kbd> {{KV Type|normal}} {{only|{{csgo}}}} <span style="background-color:#202020; border-radius:2px; white-space:nowrap; color:#d3d3d3; padding:2px 4px">Shader: WorldVertexTransition</span></div> | <div style="background-color:#262626; position:sticky; z-index:10; padding:2px 0; top:0;"><kbd>[[$detailblendfactor2|<span style=color:#DDDCDC>$detailblendfactor2</span>]]</kbd> {{KV Type|normal}} {{only|{{csgo}}}} <span style="background-color:#202020; border-radius:2px; white-space:nowrap; color:#d3d3d3; padding:2px 4px">Shader: WorldVertexTransition</span></div> | ||
<div style="border:1px dotted rgba(255,255,255,.2); border-radius:4px; border-left:4px solid rgba(255,255,255,.2); padding:2px 9px; margin-top:2px;"> | <div style="background:linear-gradient(90deg, rgba(255,255,255,0.02), transparent); border:1px dotted rgba(255,255,255,.2); border-radius:4px; border-left:4px solid rgba(255,255,255,.2); padding:2px 9px; margin-top:2px;"> | ||
Detail blend factor for <tt>$detail2</tt>. {{Note|<code>$detailblendfactor</code> and <code>$detailblendfactor2</code> are blended together before combining with the basetexture.}} | Detail blend factor for <tt>$detail2</tt>. {{Note|<code>$detailblendfactor</code> and <code>$detailblendfactor2</code> are blended together before combining with the basetexture.}} | ||
</div> | </div> | ||
Line 181: | Line 181: | ||
<div style=margin-bottom:16px> | <div style=margin-bottom:16px> | ||
<div style="background-color:#262626; position:sticky; z-index:10; padding:2px 0; top:0;"><kbd>[[$detailframe2|<span style=color:#DDDCDC>$detailframe2</span>]]</kbd> {{KV Type|int}} {{only|{{csgo}}}} <span style="background-color:#202020; border-radius:2px; white-space:nowrap; color:#d3d3d3; padding:2px 4px">Shader: WorldVertexTransition</span></div> | <div style="background-color:#262626; position:sticky; z-index:10; padding:2px 0; top:0;"><kbd>[[$detailframe2|<span style=color:#DDDCDC>$detailframe2</span>]]</kbd> {{KV Type|int}} {{only|{{csgo}}}} <span style="background-color:#202020; border-radius:2px; white-space:nowrap; color:#d3d3d3; padding:2px 4px">Shader: WorldVertexTransition</span></div> | ||
<div style="border:1px dotted rgba(255,255,255,.2); border-radius:4px; border-left:4px solid rgba(255,255,255,.2); padding:2px 9px; margin-top:2px;"> | <div style="background:linear-gradient(90deg, rgba(255,255,255,0.02), transparent); border:1px dotted rgba(255,255,255,.2); border-radius:4px; border-left:4px solid rgba(255,255,255,.2); padding:2px 9px; margin-top:2px;"> | ||
The frame to start an animated <code>$detail2</code> texture on. | The frame to start an animated <code>$detail2</code> texture on. | ||
</div> | </div> | ||
Line 188: | Line 188: | ||
<div style=margin-bottom:16px> | <div style=margin-bottom:16px> | ||
<div style="background-color:#262626; position:sticky; z-index:10; padding:2px 0; top:0;"><kbd>[[$detailtint2|<span style=color:#DDDCDC>$detailtint2</span>]]</kbd> {{KV Type|RGB matrix}} {{only|{{csgo}}}} <span style="background-color:#202020; border-radius:2px; white-space:nowrap; color:#d3d3d3; padding:2px 4px">Shader: WorldVertexTransition</span></div> | <div style="background-color:#262626; position:sticky; z-index:10; padding:2px 0; top:0;"><kbd>[[$detailtint2|<span style=color:#DDDCDC>$detailtint2</span>]]</kbd> {{KV Type|RGB matrix}} {{only|{{csgo}}}} <span style="background-color:#202020; border-radius:2px; white-space:nowrap; color:#d3d3d3; padding:2px 4px">Shader: WorldVertexTransition</span></div> | ||
<div style="border:1px dotted rgba(255,255,255,.2); border-radius:4px; border-left:4px solid rgba(255,255,255,.2); padding:2px 9px; margin-top:2px;"> | <div style="background:linear-gradient(90deg, rgba(255,255,255,0.02), transparent); border:1px dotted rgba(255,255,255,.2); border-radius:4px; border-left:4px solid rgba(255,255,255,.2); padding:2px 9px; margin-top:2px;"> | ||
Color tint for <tt>$detail2</tt>. | Color tint for <tt>$detail2</tt>. | ||
</div> | </div> | ||
Line 201: | Line 201: | ||
<div style=margin-bottom:16px> | <div style=margin-bottom:16px> | ||
<div style="background-color:#262626; position:sticky; z-index:10; padding:2px 0; top:0;"><kbd>[[$detail1|<span style=color:#DDDCDC>$detail1</span>]]</kbd> {{KV Type|texture}} {{only|{{csgo}} {{portal2}}}} <span style="background-color:#202020; border-radius:2px; white-space:nowrap; color:#d3d3d3; padding:2px 4px">Shader: SolidEnergy</span></div> | <div style="background-color:#262626; position:sticky; z-index:10; padding:2px 0; top:0;"><kbd>[[$detail1|<span style=color:#DDDCDC>$detail1</span>]]</kbd> {{KV Type|texture}} {{only|{{csgo}} {{portal2}}}} <span style="background-color:#202020; border-radius:2px; white-space:nowrap; color:#d3d3d3; padding:2px 4px">Shader: SolidEnergy</span></div> | ||
<div style="border:1px dotted rgba(255,255,255,.2); border-radius:4px; border-left:4px solid rgba(255,255,255,.2); padding:2px 9px; margin-top:2px;"> | <div style="background:linear-gradient(90deg, rgba(255,255,255,0.02), transparent); border:1px dotted rgba(255,255,255,.2); border-radius:4px; border-left:4px solid rgba(255,255,255,.2); padding:2px 9px; margin-top:2px;"> | ||
Detail texture for {{ent|SolidEnergy}}'s second layer. | Detail texture for {{ent|SolidEnergy}}'s second layer. | ||
</div> | </div> | ||
Line 208: | Line 208: | ||
<div style=margin-bottom:16px> | <div style=margin-bottom:16px> | ||
<div style="background-color:#262626; position:sticky; z-index:10; padding:2px 0; top:0;"><kbd>[[$detail1blendmode|<span style=color:#DDDCDC>$detail1blendmode</span>]]</kbd> {{KV Type|int}} {{only|{{csgo}} {{portal2}}}} <span style="background-color:#202020; border-radius:2px; white-space:nowrap; color:#d3d3d3; padding:2px 4px">Shader: SolidEnergy</span></div> | <div style="background-color:#262626; position:sticky; z-index:10; padding:2px 0; top:0;"><kbd>[[$detail1blendmode|<span style=color:#DDDCDC>$detail1blendmode</span>]]</kbd> {{KV Type|int}} {{only|{{csgo}} {{portal2}}}} <span style="background-color:#202020; border-radius:2px; white-space:nowrap; color:#d3d3d3; padding:2px 4px">Shader: SolidEnergy</span></div> | ||
<div style="border:1px dotted rgba(255,255,255,.2); border-radius:4px; border-left:4px solid rgba(255,255,255,.2); padding:2px 9px; margin-top:2px;"> | <div style="background:linear-gradient(90deg, rgba(255,255,255,0.02), transparent); border:1px dotted rgba(255,255,255,.2); border-radius:4px; border-left:4px solid rgba(255,255,255,.2); padding:2px 9px; margin-top:2px;"> | ||
How to combine the detail material with the albedo. | How to combine the detail material with the albedo. | ||
:There are 2 different detail blend methods that can be used. | :There are 2 different detail blend methods that can be used. | ||
Line 229: | Line 229: | ||
<div style=margin-bottom:16px> | <div style=margin-bottom:16px> | ||
<div style="background-color:#262626; position:sticky; z-index:10; padding:2px 0; top:0;"><kbd>[[$detail1scale|<span style=color:#DDDCDC>$detail1scale</span>]]</kbd> {{KV Type|float}} {{only|{{csgo}} {{portal2}}}} <span style="background-color:#202020; border-radius:2px; white-space:nowrap; color:#d3d3d3; padding:2px 4px">Shader: SolidEnergy</span></div> | <div style="background-color:#262626; position:sticky; z-index:10; padding:2px 0; top:0;"><kbd>[[$detail1scale|<span style=color:#DDDCDC>$detail1scale</span>]]</kbd> {{KV Type|float}} {{only|{{csgo}} {{portal2}}}} <span style="background-color:#202020; border-radius:2px; white-space:nowrap; color:#d3d3d3; padding:2px 4px">Shader: SolidEnergy</span></div> | ||
<div style="border:1px dotted rgba(255,255,255,.2); border-radius:4px; border-left:4px solid rgba(255,255,255,.2); padding:2px 9px; margin-top:2px;"> | <div style="background:linear-gradient(90deg, rgba(255,255,255,0.02), transparent); border:1px dotted rgba(255,255,255,.2); border-radius:4px; border-left:4px solid rgba(255,255,255,.2); padding:2px 9px; margin-top:2px;"> | ||
Detail scale for <tt>$detail2</tt>. {{note| Does not appear to do anything.}} | Detail scale for <tt>$detail2</tt>. {{note| Does not appear to do anything.}} | ||
</div> | </div> | ||
Line 236: | Line 236: | ||
<div style=margin-bottom:16px> | <div style=margin-bottom:16px> | ||
<div style="background-color:#262626; position:sticky; z-index:10; padding:2px 0; top:0;"><kbd>[[$detail1blendfactor|<span style=color:#DDDCDC>$detail1blendfactor</span>]]</kbd> {{KV Type|float}} {{only|{{csgo}} {{portal2}}}} <span style="background-color:#202020; border-radius:2px; white-space:nowrap; color:#d3d3d3; padding:2px 4px">Shader: SolidEnergy</span></div> | <div style="background-color:#262626; position:sticky; z-index:10; padding:2px 0; top:0;"><kbd>[[$detail1blendfactor|<span style=color:#DDDCDC>$detail1blendfactor</span>]]</kbd> {{KV Type|float}} {{only|{{csgo}} {{portal2}}}} <span style="background-color:#202020; border-radius:2px; white-space:nowrap; color:#d3d3d3; padding:2px 4px">Shader: SolidEnergy</span></div> | ||
<div style="border:1px dotted rgba(255,255,255,.2); border-radius:4px; border-left:4px solid rgba(255,255,255,.2); padding:2px 9px; margin-top:2px;"> | <div style="background:linear-gradient(90deg, rgba(255,255,255,0.02), transparent); border:1px dotted rgba(255,255,255,.2); border-radius:4px; border-left:4px solid rgba(255,255,255,.2); padding:2px 9px; margin-top:2px;"> | ||
Detail blend factor for <tt>$detail2</tt>. {{note| Does not appear to do anything.}} | Detail blend factor for <tt>$detail2</tt>. {{note| Does not appear to do anything.}} | ||
</div> | </div> | ||
Line 243: | Line 243: | ||
<div style=margin-bottom:16px> | <div style=margin-bottom:16px> | ||
<div style="background-color:#262626; position:sticky; z-index:10; padding:2px 0; top:0;"><kbd>[[$detail1frame|<span style=color:#DDDCDC>$detail1frame</span>]]</kbd> {{KV Type|int}} {{only|{{csgo}} {{portal2}}}} <span style="background-color:#202020; border-radius:2px; white-space:nowrap; color:#d3d3d3; padding:2px 4px">Shader: SolidEnergy</span></div> | <div style="background-color:#262626; position:sticky; z-index:10; padding:2px 0; top:0;"><kbd>[[$detail1frame|<span style=color:#DDDCDC>$detail1frame</span>]]</kbd> {{KV Type|int}} {{only|{{csgo}} {{portal2}}}} <span style="background-color:#202020; border-radius:2px; white-space:nowrap; color:#d3d3d3; padding:2px 4px">Shader: SolidEnergy</span></div> | ||
<div style="border:1px dotted rgba(255,255,255,.2); border-radius:4px; border-left:4px solid rgba(255,255,255,.2); padding:2px 9px; margin-top:2px;"> | <div style="background:linear-gradient(90deg, rgba(255,255,255,0.02), transparent); border:1px dotted rgba(255,255,255,.2); border-radius:4px; border-left:4px solid rgba(255,255,255,.2); padding:2px 9px; margin-top:2px;"> | ||
The frame to start an animated <code>$detail1</code> texture on. | The frame to start an animated <code>$detail1</code> texture on. | ||
Line 252: | Line 252: | ||
<div style=margin-bottom:16px> | <div style=margin-bottom:16px> | ||
<div style="background-color:#262626; position:sticky; z-index:10; padding:2px 0; top:0;"><kbd>[[$detail2|<span style=color:#DDDCDC>$detail2</span>]]</kbd> {{KV Type|texture}} {{only|{{csgo}} {{portal2}}}} <span style="background-color:#202020; border-radius:2px; white-space:nowrap; color:#d3d3d3; padding:2px 4px">Shader: SolidEnergy</span></div> | <div style="background-color:#262626; position:sticky; z-index:10; padding:2px 0; top:0;"><kbd>[[$detail2|<span style=color:#DDDCDC>$detail2</span>]]</kbd> {{KV Type|texture}} {{only|{{csgo}} {{portal2}}}} <span style="background-color:#202020; border-radius:2px; white-space:nowrap; color:#d3d3d3; padding:2px 4px">Shader: SolidEnergy</span></div> | ||
<div style="border:1px dotted rgba(255,255,255,.2); border-radius:4px; border-left:4px solid rgba(255,255,255,.2); padding:2px 9px; margin-top:2px;"> | <div style="background:linear-gradient(90deg, rgba(255,255,255,0.02), transparent); border:1px dotted rgba(255,255,255,.2); border-radius:4px; border-left:4px solid rgba(255,255,255,.2); padding:2px 9px; margin-top:2px;"> | ||
Detail texture for {{ent|SolidEnergy}}'s third layer. | Detail texture for {{ent|SolidEnergy}}'s third layer. | ||
</div> | </div> | ||
Line 259: | Line 259: | ||
<div style=margin-bottom:16px> | <div style=margin-bottom:16px> | ||
<div style="background-color:#262626; position:sticky; z-index:10; padding:2px 0; top:0;"><kbd>[[$detail2blendmode|<span style=color:#DDDCDC>$detail2blendmode</span>]]</kbd> {{KV Type|int}} {{only|{{csgo}} {{portal2}}}} <span style="background-color:#202020; border-radius:2px; white-space:nowrap; color:#d3d3d3; padding:2px 4px">Shader: SolidEnergy</span></div> | <div style="background-color:#262626; position:sticky; z-index:10; padding:2px 0; top:0;"><kbd>[[$detail2blendmode|<span style=color:#DDDCDC>$detail2blendmode</span>]]</kbd> {{KV Type|int}} {{only|{{csgo}} {{portal2}}}} <span style="background-color:#202020; border-radius:2px; white-space:nowrap; color:#d3d3d3; padding:2px 4px">Shader: SolidEnergy</span></div> | ||
<div style="border:1px dotted rgba(255,255,255,.2); border-radius:4px; border-left:4px solid rgba(255,255,255,.2); padding:2px 9px; margin-top:2px;"> | <div style="background:linear-gradient(90deg, rgba(255,255,255,0.02), transparent); border:1px dotted rgba(255,255,255,.2); border-radius:4px; border-left:4px solid rgba(255,255,255,.2); padding:2px 9px; margin-top:2px;"> | ||
How to combine the detail material with the albedo. | How to combine the detail material with the albedo. | ||
:There are 2 different detail blend methods that can be used. | :There are 2 different detail blend methods that can be used. | ||
Line 280: | Line 280: | ||
<div style=margin-bottom:16px> | <div style=margin-bottom:16px> | ||
<div style="background-color:#262626; position:sticky; z-index:10; padding:2px 0; top:0;"><kbd>[[$detail2scale|<span style=color:#DDDCDC>$detail2scale</span>]]</kbd> {{KV Type|float}} {{only|{{csgo}} {{portal2}}}} <span style="background-color:#202020; border-radius:2px; white-space:nowrap; color:#d3d3d3; padding:2px 4px">Shader: SolidEnergy</span></div> | <div style="background-color:#262626; position:sticky; z-index:10; padding:2px 0; top:0;"><kbd>[[$detail2scale|<span style=color:#DDDCDC>$detail2scale</span>]]</kbd> {{KV Type|float}} {{only|{{csgo}} {{portal2}}}} <span style="background-color:#202020; border-radius:2px; white-space:nowrap; color:#d3d3d3; padding:2px 4px">Shader: SolidEnergy</span></div> | ||
<div style="border:1px dotted rgba(255,255,255,.2); border-radius:4px; border-left:4px solid rgba(255,255,255,.2); padding:2px 9px; margin-top:2px;"> | <div style="background:linear-gradient(90deg, rgba(255,255,255,0.02), transparent); border:1px dotted rgba(255,255,255,.2); border-radius:4px; border-left:4px solid rgba(255,255,255,.2); padding:2px 9px; margin-top:2px;"> | ||
Detail scale for <tt>$detail2</tt>. {{note| Does not appear to do anything.}} | Detail scale for <tt>$detail2</tt>. {{note| Does not appear to do anything.}} | ||
</div> | </div> | ||
Line 287: | Line 287: | ||
<div style=margin-bottom:16px> | <div style=margin-bottom:16px> | ||
<div style="background-color:#262626; position:sticky; z-index:10; padding:2px 0; top:0;"><kbd>[[$detail2blendfactor|<span style=color:#DDDCDC>$detail2blendfactor</span>]]</kbd> {{KV Type|float}} {{only|{{csgo}} {{portal2}}}} <span style="background-color:#202020; border-radius:2px; white-space:nowrap; color:#d3d3d3; padding:2px 4px">Shader: SolidEnergy</span></div> | <div style="background-color:#262626; position:sticky; z-index:10; padding:2px 0; top:0;"><kbd>[[$detail2blendfactor|<span style=color:#DDDCDC>$detail2blendfactor</span>]]</kbd> {{KV Type|float}} {{only|{{csgo}} {{portal2}}}} <span style="background-color:#202020; border-radius:2px; white-space:nowrap; color:#d3d3d3; padding:2px 4px">Shader: SolidEnergy</span></div> | ||
<div style="border:1px dotted rgba(255,255,255,.2); border-radius:4px; border-left:4px solid rgba(255,255,255,.2); padding:2px 9px; margin-top:2px;"> | <div style="background:linear-gradient(90deg, rgba(255,255,255,0.02), transparent); border:1px dotted rgba(255,255,255,.2); border-radius:4px; border-left:4px solid rgba(255,255,255,.2); padding:2px 9px; margin-top:2px;"> | ||
Detail blend factor for <tt>$detail2</tt>. {{note| Does not appear to do anything.}} | Detail blend factor for <tt>$detail2</tt>. {{note| Does not appear to do anything.}} | ||
</div> | </div> | ||
Line 294: | Line 294: | ||
<div style=margin-bottom:16px> | <div style=margin-bottom:16px> | ||
<div style="background-color:#262626; position:sticky; z-index:10; padding:2px 0; top:0;"><kbd>[[$detail2frame|<span style=color:#DDDCDC>$detail2frame</span>]]</kbd> {{KV Type|int}} {{only|{{csgo}} {{portal2}}}} <span style="background-color:#202020; border-radius:2px; white-space:nowrap; color:#d3d3d3; padding:2px 4px">Shader: SolidEnergy</span></div> | <div style="background-color:#262626; position:sticky; z-index:10; padding:2px 0; top:0;"><kbd>[[$detail2frame|<span style=color:#DDDCDC>$detail2frame</span>]]</kbd> {{KV Type|int}} {{only|{{csgo}} {{portal2}}}} <span style="background-color:#202020; border-radius:2px; white-space:nowrap; color:#d3d3d3; padding:2px 4px">Shader: SolidEnergy</span></div> | ||
<div style="border:1px dotted rgba(255,255,255,.2); border-radius:4px; border-left:4px solid rgba(255,255,255,.2); padding:2px 9px; margin-top:2px;"> | <div style="background:linear-gradient(90deg, rgba(255,255,255,0.02), transparent); border:1px dotted rgba(255,255,255,.2); border-radius:4px; border-left:4px solid rgba(255,255,255,.2); padding:2px 9px; margin-top:2px;"> | ||
The frame to start an animated <code>$detail2</code> texture on. | The frame to start an animated <code>$detail2</code> texture on. | ||
</div> | </div> |
Revision as of 04:57, 10 March 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.

$Detail
textures do not work in conjunction with some parameters : [todo tested in ?]- 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
- In
on VertexLitGeneric, Does not work with $desaturatewithbasealpha
- In
, Does not work with $blendmodulatetexture and $bumpmap
- 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
Rotates, scales, etc. the detail texture.
- The default position is center .5 .5 scale 1 1 rotate 0 translate 0 0.
- center defines the point of rotation. Only useful if rotate is being used.
- scale fits the texture into the material the given number of times. 2 1 is a 50% scale in the horizontal X axis while the vertical Y axis is still at original scale.
- rotate rotates the texture counter-clockwise in degrees. Accepts any number, including negatives.
- translate shifts the texture by the given numbers. .5 will shift it half-way. 1 will shift it once completely over, which is the same as not moving it at all.
Note:All values must be included!
Bug:Scaling the texture may cause odd issues where the Texture Lock tool in Hammer will not actually lock the texture in place. [todo tested in ?]
Bug:Rotating textures applied on brushes will rotate around the map origin (confirm: Orangebox engine only?). A fix for this is to change the center position in the VMT to the brush's origin. [todo tested in ?]




Fits the detail texture onto the material the given number of times (default = 4). Generally used instead of $detailtexturetransform
with a value of around 7 or 8 for a 128px detail texture. To independently scale the X and Y coordinates, place your values in brackets: $detailscale "[ 4 8 ]"
Controls the amount that the detail texture affects the base texture. The precise use of this depends on the blend factor; in most cases it acts similarly to $alpha. A value of 0 usually makes the detail texture have no effect, whilst a value of 1 applies the full effect.
How to combine the detail material with the albedo.
- There are 12 different detail blend methods that can be used.
- The blend modes are implemented in
stdshaders/common_ps_fx.h
.
Mode | Effect | Description |
---|---|---|
0 | DecalModulate | This functions the same as the DecalModulate shader—colors below 128 darken the image, colors above lighten the image. |
1 | Additive | The color of the detail texture is added to the base texture. This is the same as $additive. |
2 | Translucent Detail | The detail texture is applied as a translucent overlay on top of the base texture. |
3 | Blend Factor Fade | The detail texture is applied as a translucent overlay, but ignoring its alpha channel. Instead, the blend factor is used to determine how much of the base texture shows through underneath. |
4 | Translucent Base | This effectively flips the normal layering of the two textures. The detail texture appears "below," with the base alpha channel controlling it as a translucent overlay. The detail alpha channel controls the overall material alpha—for translucency, masking, or other uses. |
5 | Unlit Additive | 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 | This adds color unaffected by lighting like mode 5, but first modifies the color added in two modes, depending on if the blend factor is above or below 0.5. |
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. |
8 | Multiply | The color of the base channel is multiplied by that of the detail texture. |
9 | Base Mask via Detail Alpha | Only the detail alpha channel is used. It is multiplied with the base texture's alpha channel to produce the final alpha value. |
10 | Self-Shadowed Bumpmap | The detail texture is used as a (possibly additional) $ssbump bumpmap. The blend factor is ignored.![]() |
11 | SSBump Albedo | Unknown function, used internally. The comment says, "shader does the magic here - no user needs to specify mode 11." |

- In
LightmappedGeneric Modes 1-6 and 8 are not supported. 9 not with $bumpmap, $envmap, $selfillum.
- In
WorldVertexTransition Modes 1-6, 8-9 are not supported. 7 Does not work with $blendmodulatetexture.
- In
VertexLitGeneric Modes 0-9 are supported without $bumpmap, 0-7 with. However only with $phong, 5 & 6 usable. The Shader without $phong doesn't have the code to use 5 & 6.
- In
Lightmapped_4WayBlend Modes 1-6 are not supported.
- In
LightmappedGeneric Modes 2-9 are not supported.
- In
VertexLitGeneric Modes 0-9 are supported without $bumpmap, 0-6 with. However only with $phong, 5 & 6 usable. The Shader without $phong doesn't have the code to use 5 & 6.
- In
LightmappedGeneric and WorldVertexTransition Mode 6 is not supported. Additionally 7 does not work with $bumpmap2, $softedges and $blendmodulatetexture.
- In
Modes 1, 4, 6, 9, and 10 are not supported.
Color tint of the detail texture.






[todo tested in ?]
The frame to start an animated $detail
texture on.
WorldVertexTransition Parameters
Detail texture for WorldVertexTransition's second layer.

WorldVertexTransition
parameters, but they may not work as expected.
$detailtransform2
, the Shader will use $basetexturetransform2 instead! 
$detail
and $basetexture2
to be present!
$detailblendmode "9"
. [todo tested in ?]Detail scale for $detail2.

$detailblendfactor
and $detailblendfactor2
are blended together before combining with the basetexture.The frame to start an animated $detail2
texture on.
Color tint for $detail2.
SolidEnergy Parameters




$detail
has very similar parameter names, but they are not the same! Detail texture for SolidEnergy's second layer.
How to combine the detail material with the albedo.
- There are 2 different detail blend methods that can be used.
Mode | Effect | Description |
---|---|---|
0 | DecalModulate | This functions the same as the DecalModulate shader—colors below 128 darken the image, colors above lighten the image. |
1 | Multiply | $basetexture is multiplied by $detail1, Alpha of the $basetexture controls the strength of the effect. Black parts have full multiplication, White parts have no multiplication. |


The frame to start an animated $detail1
texture on.


$detail2
parameter names, but they are not the same!Detail texture for SolidEnergy's third layer.
How to combine the detail material with the albedo.
- There are 2 different detail blend methods that can be used.
Mode | Effect | Description |
---|---|---|
0 | Additive | Adds $detail2 onto the $basetexture. ![]() |
1 | Multiply | $basetexture is multiplied by $detail2. ![]() |


The frame to start an animated $detail2
texture on.
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