So you’re putting in lights and you find the perfect settings to light the room, but there’s a problem: the ceiling is almost pitch black! A surprisingly common problem, so what do you do? increase the light’s brightness and suffer a blinding floor? Nope.
Just edit the $reflectivity value in the .vmt for your floor material. Most materials wont have this by default but you can add it to the .vmt after extracting it using GCFscape. Once you’ve put it in the same folder it was in in the .gcf and renamed it something sensible you can start playing with the values.
$reflectivity works like a vector; followed by “[R G B]” where R, G and B are the tint values between 0 and 1. For example: the line “$reflectivity” “[0.75 0.75 0.75]” would reflect back 75% of the light that hits it. Each vtf will have a default reflectivity built into it, I haven’t the know-how to work it out exactly but I’d assume it averages the RGB values of the entire texture and divides by 255 to get a value between 0 and 1. The wood floor above would have [.38 .33 .30] if my my assumption is correct.
As you can see, using values of 0.5, 0.75 and 1 all have the same floor brightness but considerably brighter ceilings than the default. This per-texture increase in bounce lighting is incredibly useful, it’s easy to implement and you only need to include a single .vmt per texture changed, only a few kB. You can also use this to put a different tint into your environments, since you can set each colour value independently of the others. To demonstrate I’ve used values of [.25 .25 .75] to add an extreme blue tint on the reflected light. Be aware though that this only effects reflected light so the floor texture itself is not tinted blue.
Thanks to Acegikmo for experimenting with this back in the summer.