Faking Global Illumination
November 19th, 2006Instead of waiting 27 hours for a Global Illumination render to finish, it’s possible to achieve realistic results by faking natural light. There are a zillion techniques for achieving that. Here’s one of them.
The first image of mine that actually got printed in a proper magazine (3d World) was geometrically very simple. A few boxes, extruded surfaces etc. What made it stand out, in my opinion, are three things: First, it is proportionally correct, based on a real-world environment studied down to the most ridiculous details, of which many are too small to be seen (big mistake). Second, it uses high-resolution bitmapped textures which were hand-painted and then dirtied in precise places, and third, it uses very diffuse lighting which works well under the circumstances (one very strong light source coming from above), and which is the object of this tutorial. A hi-res version of the image can be found in the cgi section.
Simple model, nice lighting
First steps
I had spent two days trying to light this thing, using preposterous light arrays (10×10x10 attenuated omnis), domelights, whatever. But I found that the following method works well, simply because it gives you precise control over every surface. It’s a bit more tedious, but it works (at least it did for me).
Start by adding one Omni Light in the middle of the scene. A very warm color, a low multiplier (0.2) and a progressive attenuation, it will act as an ambient light surrounding the area where the sunlight hits the floor. It also simulates the subtle yellow light reflected from the beige floor. It shouldn’t affect specular highlights so I turn this off.
Start with almost nothing
Light from the Sun
Next comes the sunlight itself, which is a Direct Light. It shines through a skylight above which is actually modeled, so I don’t need a projection map. The light multiplier is set at 0.8 and there’s no need for attenuation. With shadow-mapped shadows at their defaults you get this, which is an OK shadow.
Add direct lighting
Separate the walls
What I do now is simply separate lights and surfaces using the Exclude/Include function of each light. Now, for example, I add a spotlight which includes all the objects on the front wall, as well as the wall itself.
Almost everything about the light is at its default setting, except the attenuation which start a bit in front of the wall, and ends behind it. Since the spot is at an angle, the attenuation factor varies over the surface and looks quite nice.
Light the back wall
Simulate attenuation
The left wall (and all its associated objects) is going through the same treatment. The spot shines a bit from behind, and has its attenuation factor set to achieve the same principle described above.
Same drill for the right wall.
Light the left wall…
…the right wall…
Finishing touches
In order to obtain a natural-looking light for the floor and the railing, two spots were added (including only the required objects, of course). They are pointing at the floor from opposite directions and are set up so as to attenuate progressively over the surface. Both have their Multiplier at around 0.8 - this prevents overexposure of the surface but still keeps a nice strong light.
…and the floor
Because the right door was to be rendered closely, I dedicated two more spotlights to it. This was enough to consider the image finished.
Conclusion
Another advantage of this technique is that it allows you to quickly render any part of your scene, from almost any angle, without worrying about the lighting at all.
Finished image
Don’t expect to get perfect results the first time. It took a lot of tweaking to get the attenuation, color and multiplier right for each light. 3D artists should consider this as fun, although I had some persons asking why I didn’t just photograph the bloody thing. Anyway, I hope this gave you some ideas.
November 22nd, 2006 at 20:59
Nice tutorial i want know more infromation of interior lighting in offices, rooms,etc.
and also cameras.
December 2nd, 2006 at 22:54
i want to know different kinds of light, and how it is used in the global illumination. If you have a time you can share your ideas to me.
December 11th, 2006 at 21:43
i was really pleased you wrote this and its easy to follow
January 9th, 2007 at 17:13
very interesting tutorial. i’m assuming this tutorial was done in max, i was wondering if this technique can b used for MAYA also?… or will i be wasting my time?
January 10th, 2007 at 9:03
It’s obviously possible to apply this technique using any other software tool, especially top-of-the-line applications like Maya. Read the Maya Documentation on lights and you should be fine
April 16th, 2007 at 19:13
nice tutorials and i like to see more like this
April 16th, 2007 at 19:15
nice tutorials and i like to see more like this in maya
April 23rd, 2007 at 23:05
nice one, i like it. however im having hard time to apply it in Maya, I would like to see something tuts like this for Maya…
every good tutorial i find is for studio max
June 8th, 2007 at 4:22
nice tutorial want to know more
June 12th, 2007 at 17:20
[…] Faking Global Illumination Filed under: 3D Studio Max, Rendering, Lighting — alek @ 5:20 pm […]
November 8th, 2007 at 9:48
this is really a nise job done by you. is better software redering without using render engine.
January 6th, 2008 at 7:10
You have done a great job. This is really a nice tutorial you have shown. This tutorial helps a lot of 3d begineers.
January 25th, 2008 at 8:58
Wonderful tutorial
really like to know more about it
thank u