LightmappedReflective

From Valve Developer Community
Revision as of 07:14, 23 July 2019 by ThunderKeil (talk | contribs) (Added detailed shader information, mostly copied from water but also includes new material.)
Jump to navigation Jump to search

LightmappedReflective is the shader used by func_reflective_glass. This shader renders real-time reflection and refractions similar to Water (shader).

Warning.pngWarning:All parameters listed in the example (except $bumpframe, %tooltexture and $surfaceprop) must be included when used, or func_reflective_glass may not work properly.

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"
}
Icon-Bug.pngBug:Adding proxies to a lightmappedreflective causes the texture to not be drawn.  [todo tested in ?]
Icon-Bug.pngBug:Does not appear to work in Portal 2  [todo tested in ?]
Todo: Could this be because it includes some default proxy in order for it to work, and once there is a user-defined proxy, those "behind the scenes" proxies are no longer there?

Shader parameters

Textures

$basetexture [[$normalmap|$normalmap]] $bumpframe $bumptransform

Reflection

$reflecttexture $reflectamount $reflecttint $reflectance $envmapmask $minreflectivity $maxreflectivity

Refraction

$refracttexture $refractamount $refracttint

Other

$surfaceprop %tooltexture $fresnelpower $translucent