3D Animation Workshop: Lesson 91: Lightmaps in Pulse 3D
Lesson 91 - Lightmaps in Pulse 3D - Part 1
In the last column, we started a look at Pulse 3D technology for the Web with a general picture of the company and its ambitions. It seems as though I've been hearing about Pulse everywhere lately, which is a good sign for Web 3D generally.
I'd planned to devote this column to an overview of the Pulse Creator authoring package, but this plan turned out to be a little naÃ¯ve. There's a huge array of new technology and new ideas in Pulse, and even after many hours of exploration I've only scratched the surface of Creator. The application is, like everything else on the Web 3D scene, in rapid development and feels like a work-in-progress. Nor is there anything like satisfactory documentation. If you want to learn to do Pulse development-and it could be a very good idea-you'll have to roll up your sleeves and put in some serious hours.
To get started, I'd like to focus in this column on one aspect of Pulse technology that I found to be extremely impressive and which must be understood by everyone looking into realtime 3D graphics for the Web. This was new territory for me, as it will be for anyone coming out of a "traditional" 3D background, and will clearly be an issue in every competing Web 3D technology. I'm talking about lighting.
When I think back on most of the old VRML content, the first thing that comes to mind was the nightmarish starkness of the lighting. You can texture surfaces with loving care, but if the lighting is crude and simplistic, there is simply no sense of space or realism. Light reveals objects, and in the physical world we take subtle illumination for granted. Yet in computer graphics, good lighting is expensive.
By "expensive," I mean that lighting takes processing power, and the situation becomes particularly difficult when many lights are required (as they usually are) in a scene. For realtime graphics that must render out at a minimum of 10 frames per second, quality lighting is a big problem.
The following image from 3D Studio MAX illustrates the concept with only a single light.
The sphere has been assigned a diffuse color-a shade of lavender. The precise color of every pixel rendered from the model depends on the angle at which the light hits each point. The color is brightest in a direct line from the light, just as the ground is brightest when the Sun is directly overhead at noon. As we move away from this area of perpendicular illumination, the angle of the light decreases gradually from 90 degrees to 0 degrees. The smaller the angle, the less the illumination, and therefore the color of the rendered pixels shades gradually from full lavender toward black.
Making these angular computations is the essence of what is means to "solve a lighting equation." This scene involves only one light source of the simplest kind. The moment we add more lights, or more complex lights, rendering begin to slow down in a serious way. To create quality lighting for realtime 3D graphics, we need to consider alternatives to conventional light sources and their lighting equations.
|To Continue to Parts 2 and 3, Use Arrow Buttons||
Created: Apr. 24, 2000
Revised: Apr. 24, 2000