Abit Siluro GF256 graphic card
Thursday, March 23, 2000
"Cube Environment Mapping"
Imagine a world without reflections. No reflections on water, metal, or on brilliant surfaces. In short, a world lacking all the tiny details that can make, or break, the realism of virtual environment. The principle of "Cube Environment Mapping" consists of projecting the 6 faces of a cube's environment on an object. In other words, the environment of an object would be reflected on the object. "Cube Environment Mapping" is another function that has its own dedicated circuit within the GeForce 256.
By integrating a circuit designed specifically for this task, realistic reflection effects can be obtained without sucking off any power from the system's CPU.
Essentially, "Cube Environment Mapping" takes an image of the 6 sides of an object's environment, and projects it onto the object with proper displacement. The result is an incredibly precise reflection of the environment on the surface of the reflective object. Since this technology is highly flexible, programmers will soon be using it in their next generation of games, but you'll need a GeForce 256 to truly take advantage of the it.
Environment mapping such as that which has been traditionally employed, uses a sphere to form the environmental map of reflection. Unfortunately for programmers, a sphere is practical only usable for a single point of view, and orientation. This type of reflection is thus rarely used by developers, due to the limitations imposed. While the spheroid system of reflection can give satisfying results under certain conditions, the limitations imposed, the effort required to program it, and the calculations required make it a less than efficient process. One can only imagine the difficulties required in taking a rectangular picture, and attempting to map it to the interior of a sphere. When a texture is mapped to the sphere's interior, it has to be stretched, and compressed. Even with pre-stretching, and other techniques, it's not possible to avoid deformation of the picture. Even if it was possible to change the point of view with the sphere-mapping technique, the reflected image rendered behind the object would be incorrect because the rendering of the environment was made with incorrect coordinates. See the photo below for details :
The reflections on the bubble in figure 1 were performed using sphere-mapping. In figure 2, it is possible to perceive the environment behind the bubble. As you can see, the coordinates are incorrect, and render a corrupted image. This technique forces developers to wrack their brains for an unbelievable amount of time in order to obtain a image not even approaching reality.
In contrast, "Cube Environment Mapping" is a function that is well supported by the GeForce 256. With a cubic map, reflections are captured for the six faces of a cube surrounding the object. This presents developers with simple camera plans from which may be rendered real-time reflections with a great deal of precision. A cubic map permits linear mapping in all directions of the six map planar textures. The result is that there is no deformation, or corruption, of the reflected image. By consequence, programmers can use simple camera plans to create reflection models without problems. Contrary to the reflection plans of spheres that encode reflection functions in an image space that are correct for a sole point of view, cubic mapping encodes the information correctly for all points of view. No pre-stretching, or reprojection is necessary, because the GeForce 256 recalculates the reflection vectors, and renders the planar environmental map correctly for each orientation. For the first time, thanks to "Cube environment Mapping" - and the GeForce 256, a task that involves the use of reflections can be implemented without worrying about corrupting the quality of the image, or the scene.
Next: The tests.
Features, and benefits