$envmapmask: Difference between revisions
Jump to navigation
Jump to search
Line 20: | Line 20: | ||
===$envmapmasktransform=== | ===$envmapmasktransform=== | ||
"$envmapmasktransform" <matrix> | "$envmapmasktransform" <matrix> | ||
* Adjusts [[UV | * Adjusts [[UV map]]ping of [[$envmapmask]] | ||
{{VMT UVtransform}} | |||
* DirectX 9 or HDR required. (LightmappedGeneric, VertexlitGeneric, UnlitGeneric) | * DirectX 9 or HDR required. (LightmappedGeneric, VertexlitGeneric, UnlitGeneric) | ||
* DirectX 8 uses [[$envmapmaskscale]] instead. | * DirectX 8 uses [[$envmapmaskscale]] instead. | ||
===$envmapmaskscale=== | ===$envmapmaskscale=== |
Revision as of 03:20, 7 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 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 ?]
- 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.