$envmapmask

From Valve Developer Community

(Redirected from $normalmapalphaenvmapmask)
Jump to: navigation, search
Fran├žais

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. For diffuse type specularity which does not rely on $envmap, see $phong.

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 for a specular mask, you can embed one into the alpha channel of the $basetexture or $bumpmap. Model materials with $bumpmap must do this. Unfortunately, it won't reduce memory usage.

If you do use these commands, transformations and other such parameters applied to $basetexture / $bumpmap will also apply to the specular mask.

$basealphaenvmapmask <bool>
Use the alpha channel of $basetexture as the specular mask.
Note:Alpha channels embedded in $basetexture work in reverse. Black areas are reflective, white areas are matte. This is because, say, a window texture's alpha mask would be mostly black to allow for transparency -- yet that black part of the mask would also be the most reflective part. To avoid having to duplicate a .VTF file simply to invert the alpha mask, you can use this VMT parameter instead.
Note:The alpha channel isn't inverted in the Source 2007 engine, at least for models.
Warning:$basealphaenvmapmask will make your textures fullbright in <Counter-Strike: Global Offensive> Counter-Strike: Global Offensive. Use $normalmapalphaenvmapmask instead.

To do: Check if this is true for Source 2007 world materials not used on models.

$normalmapalphaenvmapmask <bool>
Use the alpha channel of $bumpmap as the specular mask.
$selfillum_envmapmask_alpha <float>
Use alpha channel as the $selfillum mask instead of $basetexture's alpha. In this event this command replaces $selfillum - do not use both.

See Also

Personal tools
Namespaces
Variants
Actions