Bad Glass

Here are two bottles. The first is a correctly modelled bottle with outward glass polygons and inward air polygons, with the air polygons smooth shifted just a little. The problem with smooth-shifting is that total internal reflection comes off at slightly the wrong angle, but the index of refraction is always correct. The second is EXACTLY THE SAME BOTTLE WITH THE SAME SURFACES, with the exception that the air polygons were not shifted away from the glass. This has the opposite problem. After total internal reflection, the light ray will have the wrong index of refraction, but will have reflected at the correct angle. There's no way in LightWave to get both benefits... But wait, the second image should be correct! What's going on?

It turns out there is a bug in LightWave. A light ray will take on the index of refraction of any surface it hits, even if total internal reflection occurs (in which case the index of refraction should be untouched). Thanks to Ernie for pointing out the exact cause to me.

Click here to download the two bottle objects and try it yourself!

October 1998 - Oooh! NewTek has announced that the next release of LightWave will fix this bug! That means we'll have fully realistic refraction for the first time ever in LightWave. Yaay!


Here's the same bottle rendered with my GThick surface plug-in, which is currently in LScript so it's kinda slow. This is here purely for showing off.