$moss enable: Difference between revisions
MyGamepedia (talk | contribs) (Thanks to HECU Collective for the note in their .vmt files.) |
No edit summary |
||
(7 intermediate revisions by one other user not shown) | |||
Line 9: | Line 9: | ||
In {{bms|4}} it was used for <code>models\props_xen\moss_test\sphereofchon.mdl</code> and <code>models\props_xen\moss_test\test_moss001.mdl</code> models. Both using the <code>models/props_xen/moss_test/bubblemoss</code> texture. The final version of the game doesn't use this shader in any of the maps. May be incompatible with some shaders (as it was with [[$phong]]). | In {{bms|4}} it was used for <code>models\props_xen\moss_test\sphereofchon.mdl</code> and <code>models\props_xen\moss_test\test_moss001.mdl</code> models. Both using the <code>models/props_xen/moss_test/bubblemoss</code> texture. The final version of the game doesn't use this shader in any of the maps. May be incompatible with some shaders (as it was with [[$phong]]). | ||
This shader was used in {{bmsbs|4}}. Besides moss, it was also used for dust caps and other small details. | |||
This shader also should be good for a snow layer. | |||
{{note|There is no {{hammer|4}} preview for this shader.}} | {{note|There is no {{hammer|4}} preview for this shader.}} | ||
{{bug|hidetested=1|This shader doesn't blend with [[New Specular|new specular]] and [[$phong]]. | {{bug|hidetested=1|This shader doesn't blend with [[New Specular|new specular]] and [[$phong]]. | ||
{{expand|title=Examples.| | {{expand|title=Examples.| | ||
Line 26: | Line 22: | ||
}} | }} | ||
}} | }} | ||
== Parameters and Effects == | == Parameters and Effects == | ||
{{ | {{MatParamDef|$moss_enable|bool|Toggle moss between enabled and disabled state. 1 - enabled, 0 - disabled.}} | ||
{{ | {{MatParamDef|$moss_texture|texture|For [[LightmappedGeneric]], defines a [[diffuse]] texture that will use moss for color. For [[VertexLitGeneric]], defines a [[diffuse]] texture that will use moss and mix with [[normalmap]]. | ||
{{expand|title=Examples.| | {{expand|title=Examples.| | ||
<br> | <br> | ||
<gallery mode=packed heights= | <gallery mode=packed heights=290px> | ||
File:moss1=.jpg|<code>metal/metalgrate013a</code> ([[LightmappedGeneric]]) | File:moss1=.jpg|<code>metal/metalgrate013a</code> ([[LightmappedGeneric]]) | ||
File:moss2=.jpg|<code>dev/dev_ram_512_red </code> ([[LightmappedGeneric]]) | File:moss2=.jpg|<code>dev/dev_ram_512_red </code> ([[LightmappedGeneric]]) | ||
Line 40: | Line 35: | ||
}} | }} | ||
}} | }} | ||
{{ | {{MatParamDef|$moss_ref_direction|vector3|Defines direction for moss, the numbers can be negative. Works in the same way for [[VertexLitGeneric]]. | ||
{{expand|title=Examples.| | {{expand|title=Examples.| | ||
<br> | <br> | ||
<gallery mode=packed heights= | <gallery mode=packed heights=290px> | ||
File:moss1d=.jpg|<code>$moss_ref_direction "[1 0 0]"</code> | File:moss1d=.jpg|<code>$moss_ref_direction "[1 0 0]"</code> | ||
File:moss2d=.jpg|<code>$moss_ref_direction "[0 1 0]</code> | File:moss2d=.jpg|<code>$moss_ref_direction "[0 1 0]</code> | ||
Line 50: | Line 45: | ||
}} | }} | ||
}} | }} | ||
{{ | {{MatParamDef|$moss_angle_theta|float|Inner angle value. With [[LightmappedGeneric]], works properly only on [[displacement]] surfaces. Results depend on <code>$moss_angle_phi</code> and <code>$moss_angle_falloff</code>. Works in a similar way for [[VertexLitGeneric]]. | ||
{{expand|title=Examples.| | {{expand|title=Examples.| | ||
<br> | <br> | ||
<gallery mode=packed heights= | <gallery mode=packed heights=290px> | ||
File:moss1t-=.jpg|<code>$moss_angle_theta 1, $moss_angle_phi 10, $moss_angle_falloff 0.5.</code> | File:moss1t-=.jpg|<code>$moss_angle_theta 1, $moss_angle_phi 10, $moss_angle_falloff 0.5.</code> | ||
File:moss2t-=.jpg|<code>$moss_angle_theta 5, $moss_angle_phi 10, $moss_angle_falloff 0.5.</code> | File:moss2t-=.jpg|<code>$moss_angle_theta 5, $moss_angle_phi 10, $moss_angle_falloff 0.5.</code> | ||
Line 60: | Line 55: | ||
}} | }} | ||
}} | }} | ||
{{ | {{MatParamDef|$moss_angle_phi|float|Outer angle value. With [[LightmappedGeneric]], works properly only on [[displacement]] surfaces. Results depend on <code>$moss_angle_theta</code> and <code>$moss_angle_falloff</code>. Works in similar way for [[VertexLitGeneric]]. | ||
{{expand|title=Examples.| | {{expand|title=Examples.| | ||
<br> | <br> | ||
<gallery mode=packed heights= | <gallery mode=packed heights=290px> | ||
File:moss1p=.jpg|<code>$moss_angle_theta 50, $moss_angle_phi 50, $moss_angle_falloff 0.5.</code> | File:moss1p=.jpg|<code>$moss_angle_theta 50, $moss_angle_phi 50, $moss_angle_falloff 0.5.</code> | ||
File:moss2p=.jpg|<code>$moss_angle_theta 50, $moss_angle_phi 100, $moss_angle_falloff 0.5.</code> | File:moss2p=.jpg|<code>$moss_angle_theta 50, $moss_angle_phi 100, $moss_angle_falloff 0.5.</code> | ||
Line 70: | Line 65: | ||
}} | }} | ||
}} | }} | ||
{{ | {{MatParamDef|$moss_angle_falloff|float|Falloff value. With [[LightmappedGeneric]], works properly only on [[displacement]] surfaces. Results depend on <code>$moss_angle_phi</code> and <code>$moss_angle_theta</code>. Works in similar way for [[VertexLitGeneric]]. | ||
{{expand|title=Examples.| | {{expand|title=Examples.| | ||
<br> | <br> | ||
<gallery mode=packed heights= | <gallery mode=packed heights=290px> | ||
File:moss1f=.jpg|<code>$moss_angle_theta 10, $moss_angle_phi 200, $moss_angle_falloff 0.5.</code> | File:moss1f=.jpg|<code>$moss_angle_theta 10, $moss_angle_phi 200, $moss_angle_falloff 0.5.</code> | ||
File:moss2f=.jpg|<code>$moss_angle_theta 10, $moss_angle_phi 200, $moss_angle_falloff 10</code> | File:moss2f=.jpg|<code>$moss_angle_theta 10, $moss_angle_phi 200, $moss_angle_falloff 10</code> | ||
Line 80: | Line 75: | ||
}} | }} | ||
}} | }} | ||
{{ | {{MatParamDef|$moss_blend_factor|float|Moss blend factor. Use values from 0 to 1, others do not work correctly. | ||
{{expand|title=Examples.| | {{expand|title=Examples.| | ||
<br> | <br> | ||
<gallery mode=packed heights= | <gallery mode=packed heights=290px> | ||
File:moss1b=.jpg|<code>$moss_blend_factor 0.5</code> | File:moss1b=.jpg|<code>$moss_blend_factor 0.5</code> | ||
File:moss2b=.jpg|<code>$moss_blend_factor 0.8</code> | File:moss2b=.jpg|<code>$moss_blend_factor 0.8</code> | ||
Line 90: | Line 85: | ||
}} | }} | ||
}} | }} | ||
{{ | {{MatParamDef|$moss_scale|float|Scale for moss. Deprecated and non-functional. Use [[$seamless_scale]] instead.}} | ||
{{ | {{MatParamDef|$moss_scale_turn_on_absolute|bool|Toggle moss scale between enabled and disabled state. 1 - enabled, 0 - disabled. Affects nothing at least in {{bms|4|nt=2}}.|deprecated=1}} | ||
{{ | {{MatParamDef|$seamless_scale|float|This parameter scales texture for this shader. | ||
{{expand|title=Examples.| | {{expand|title=Examples.| | ||
<gallery mode=packed heights= | <gallery mode=packed heights=290px> | ||
File:20240602164627_1.jpg|<code>$seamless_scale 0</code> | File:20240602164627_1.jpg|<code>$seamless_scale 0</code> | ||
File:20240602164614_1.jpg|<code>$seamless_scale 0.003</code> | File:20240602164614_1.jpg|<code>$seamless_scale 0.003</code> |
Latest revision as of 12:06, 23 August 2025


$moss_enable
is a material shader parameter available in Black Mesa.

$moss_texture
used models/props_xen/moss_test/bubblemoss
.This is procedural moss implementation, which is triplanar projection shader that allows you to project additional texture that mixes with normalmap. This shader available for VertexLitGeneric, LightmappedGeneric and Lightmapped_4WayBlend shaders. It was created during development of Xen for Black Mesa and was designed to simulate presence of moss on surface.
For VertexLitGeneric, it uses the specified texture. For LightmappedGeneric and Lightmapped_4WayBlend, instead of using the texture itself for moss, this shader takes color that most of the texture consists of and then applies color to the surface according to the parameters specified in .vmt
.
All parameters works in the same way for both shaders.
In Black Mesa it was used for
models\props_xen\moss_test\sphereofchon.mdl
and models\props_xen\moss_test\test_moss001.mdl
models. Both using the models/props_xen/moss_test/bubblemoss
texture. The final version of the game doesn't use this shader in any of the maps. May be incompatible with some shaders (as it was with $phong).
This shader was used in Black Mesa: Blue Shift. Besides moss, it was also used for dust caps and other small details.
This shader also should be good for a snow layer.



|
Parameters and Effects
|
|
$moss_angle_phi
and $moss_angle_falloff
. Works in a similar way for VertexLitGeneric.
|
$moss_angle_theta
and $moss_angle_falloff
. Works in similar way for VertexLitGeneric.
|
$moss_angle_phi
and $moss_angle_theta
. Works in similar way for VertexLitGeneric.
|

See also
- New Specular
- BlackMesa XenEngine: Part1 – Heavily Modified Source Engine (page from Black Mesa developer about Black Mesa engine, better known as XenEngine)