LightmappedReflective
Jump to navigation
Jump to search
LightmappedReflective
(DX9 SM2) is a Pixel shader available in all Source games since
Source 2007. This shader renders real-time reflection and refractions similar to Water (shader).






Water
shader (see True reflections under CSS).
Example
The example shown here is materials/glass/reflectiveglass001.vmt
"lightmappedreflective" { "%tooltexture" "dev/flat_normal" "$refracttexture" "_rt_WaterRefraction" "$refractamount" "0" "$refracttint" "[.5 .5 .6]" "$reflecttexture" "_rt_WaterReflection" "$reflectamount" "0" "$reflecttint" "[1 1 1]" "$fresnelpower" "0" "$minreflectivity" "0.8" "$maxreflectivity" "1.0" "$normalmap" "dev/flat_normal" "$surfaceprop" "glass" "$bumpframe" "0" }







Shader parameters
Textures

Diffuse texture, optional.
bump map, per-pixel warping of the reflection
Frame to start the animated du/dv map and bump map on, respectively. Somewhat confusingly,
$bumpframe
affects $normalmap
, which should be pointing to a bump map.Transforms the bump map texture.
- 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 ?]
Reflection
Texture to use for reflection. For real-time reflections, use
_rt_WaterReflection
.Amount of warp for the reflection. Higher values produce more warping. Also controls the strenght of the bump map
Color tint for the real-time reflection.
Controls opacity of reflection. Similar to $alpha
Per-pixel opacity of reflection
Todo: What is this?
Todo: What is this? It seems to do as the name suggests, controls the max reflection strength similar to $reflectance
Refraction
Texture to use for refraction. For real-time refractions, use
_rt_WaterRefraction
.Amount of warp for the refraction. Higher values produce more warping.
Color of the refraction.
Warning:It is recommended that you set this to white or something close to white so that edge transitions work properly on DX9.
Other
See $surfaceprop.
Defines the texture Hammer will display in the material browser.
Controls fresnel effect of reflections.
Will make the surface both reflective and transparent dependent on the angle and distance of view.
Bug: Must be set to "1" in Counter-Strike: Global Offensive, or the entity shifts its origin to [0 0 0].
- [todo tested in ?]
Note:Fixed in
Strata Source