$envmapmask

From Valve Developer Community

Revision as of 17:20, 25 January 2009 by Craziestdan (Talk | contribs)
(diff) ← Older revision | Current revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Contents

$envmapmask defines a specular mask, which affects how strongly each pixel of a material reflects light from the $envmap. The mask should be a greyscale image in which entirely reflective areas are white and entirely matte areas are black

Warning:$envmapmask will not work in model materials using $bumpmap. See #Alternative_methods.

VMT syntax example

$envmapmask <texture>
VertexLitGeneric
{
	$envmap			env_cubemap
	$envmapmask		"props/tvscreen_test"
}

Additional parameters

npc_cscanner's mask.
$envmapmasktransform <matrix>
Adjusts UV mapping of the specular mask.
DirectX 8 and below use $envmapmaskscale instead.
The default position is "center .5 .5 scale 1 1 rotate 0 translate 0 0".
  1. center defines the point of rotation. Only useful if rotate is being used.
  2. scale fits the texture into the material the given number of times. '2 1' is a 50% scale in the X axis.
  3. rotate rotates the texture anti-clockwise. Accepts any number, including negatives.
  4. translate shifts the texture by the given number of heights/widths. '.5' will shift it half-way.
Note:All values must be included!
$envmapmaskscale <float>
Scales the specular mask by the given value.
See also $envmapmasktransform, above.
Requires DirectX 8.
$envmapmaskframe <integer>
The frame to start an animated specular mask on.

Alternative methods

Rather than creating a whole new texture just for a specular mask, you can use the alpha channel of either the $basetexture or $bumpmap. Note that this unfortunately won't reduce the overall amount of data on-disk or in-memory.

If you do use these commands, transformations and other such parameters applied to the base texture/bump map will also apply to the specular mask.

$basealphaenvmapmask <bool>
Use the alpha channel of $basetexture as the specular mask.
When putting your specular map in the alpha channel you will have to invert it, or else it will work the wrong way round.
$normalmapalphaenvmapmask <bool>
Use the alpha channel of $bumpmap as the specular mask.
This must be used if the model material has a bump map.

See Also

Personal tools