$envmapmask: Difference between revisions
Jump to navigation
Jump to search
mNo edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
# | <div style="float:right;padding:0 1em;background:#FFF;">__TOC__</div> | ||
* The ''specular map'' or '''envmapmask''' affects how the surface reflects light from the [[$envmap]]. | |||
* The (greyscale) envmapmask defines shiney areas as black (0), and dull areas as white (255). | |||
"$envmapmask" <texture> | |||
* Masks the [[$envmap]] reflections according to the alpha channel of the named <code><texture></code>. | |||
==VMT syntax example== | |||
"[[VertexLitGeneric]]" | |||
{ | |||
"[[$envmapmask]]" "props/tvscreen_test" | |||
"[[$envmapmasktransform]]" "center .5 .5 scale .25 .25 rotate 0 translate 0 0" //dx9 only | |||
"[[$envmapmaskscale]]" .25 //duplicates dx9 transform/scale (25%) for dx8 GPUs | |||
"[[$envmapmaskframe]]" ??? | |||
"[[$selfillum_envmapmask_alpha]]" 1 //dx9 only | |||
} | |||
==Additional Parameters== | |||
===$envmapmasktransform=== | |||
"$envmapmasktransform" <matrix> | |||
* Adjusts [[UV mapping]] of [[$envmapmask]] | |||
* The default is "center .5 .5 scale 1 1 rotate 0 translate 0 0". | |||
* DirectX 9 or HDR required. (LightmappedGeneric, VertexlitGeneric, UnlitGeneric) | |||
* DirectX 8 uses [[$envmapmaskscale]] instead. | |||
===$envmapmaskscale=== | |||
"$envmapmaskscale" <float> | |||
* Scales the [[$envmapmask]] by the <nowiki><float></nowiki> value. | |||
* DirectX 8 required. (LightmappedGeneric, VertexlitGeneric, UnlitGeneric) | |||
* Also see [[$envmapmasktransform]]. | |||
===$envmapmaskframe=== | |||
"$envmapmaskframe" <integer> | |||
* ? | |||
===$selfillum_envmapmask_alpha=== | |||
$selfillum_envmapmask_alpha <float> | |||
* Defines that selfillum value comes from envmap mask alpha. {{todo|confirm: ie it uses the alpha channel of [[$envmapmask]] | |||
* Default value is ''0.0''. | |||
* Requires DirectX 9. | |||
* A new parameter. | |||
* See also [[$selfillum]] | |||
==Alternative Methods== | |||
* Rather than creating a whole new VTF just for the [[$envmapmask]], you can use the alpha channel of either the [[$basetexture]] or [[$bumpmap]] to store the Specular Map. If so, transform, etc parameters applied to the basetexture/normalmap will also apply to the Specular map. | |||
===$basealphaenvmapmask=== | |||
"$basealphaenvmapmask" 1 | |||
* Use the alpha channel of the [[$basetexture]] texture as the specular map. | |||
===$normalmapalphaenvmapmask=== | |||
"$normalmapalphaenvmapmask" 1 | |||
* Use the alpha channel of the [[$bumpmap]] texture as the specular map. | |||
==See Also== | |||
* compare [[$phong]]. | |||
[[Category:List of Shader Parameters]] | [[Category:List of Shader Parameters]] | ||
[[Category:VMT Reflections]] | [[Category:VMT Reflections]] |
Revision as of 13:17, 5 April 2008
- The specular map or envmapmask affects how the surface reflects light from the $envmap.
- The (greyscale) envmapmask defines shiney areas as black (0), and dull areas as white (255).
"$envmapmask" <texture>
- Masks the $envmap reflections according to the alpha channel of the named
<texture>
.
VMT syntax example
"VertexLitGeneric" { "$envmapmask" "props/tvscreen_test" "$envmapmasktransform" "center .5 .5 scale .25 .25 rotate 0 translate 0 0" //dx9 only "$envmapmaskscale" .25 //duplicates dx9 transform/scale (25%) for dx8 GPUs "$envmapmaskframe" ??? "$selfillum_envmapmask_alpha" 1 //dx9 only }
Additional Parameters
$envmapmasktransform
"$envmapmasktransform" <matrix>
- Adjusts UV mapping of $envmapmask
- The default is "center .5 .5 scale 1 1 rotate 0 translate 0 0".
- DirectX 9 or HDR required. (LightmappedGeneric, VertexlitGeneric, UnlitGeneric)
- DirectX 8 uses $envmapmaskscale instead.
$envmapmaskscale
"$envmapmaskscale" <float>
- Scales the $envmapmask by the <float> value.
- DirectX 8 required. (LightmappedGeneric, VertexlitGeneric, UnlitGeneric)
- Also see $envmapmasktransform.
$envmapmaskframe
"$envmapmaskframe" <integer>
- ?
$selfillum_envmapmask_alpha
$selfillum_envmapmask_alpha <float>
- Defines that selfillum value comes from envmap mask alpha. {{todo|confirm: ie it uses the alpha channel of $envmapmask
- Default value is 0.0.
- Requires DirectX 9.
- A new parameter.
- See also $selfillum
Alternative Methods
- Rather than creating a whole new VTF just for the $envmapmask, you can use the alpha channel of either the $basetexture or $bumpmap to store the Specular Map. If so, transform, etc parameters applied to the basetexture/normalmap will also apply to the Specular map.
$basealphaenvmapmask
"$basealphaenvmapmask" 1
- Use the alpha channel of the $basetexture texture as the specular map.
$normalmapalphaenvmapmask
"$normalmapalphaenvmapmask" 1
- Use the alpha channel of the $bumpmap texture as the specular map.
See Also
- compare $phong.