Prev | Next
Image Based Lighting
Point-Based Global Illumination
With global illumination techniques, highly realistic lighting effects can be created with minimal setup. Ray-traced global illumination carries a large overhead, and these effects can be computationally expensive to render. However, with RenderMan for Maya 2.0 users can now take advantage of point-based approximate global illumination, a new technique, using ptfilter, that was introduced to RenderMan in the 13.0 release. Without taking the place of ray-traced global illumination, it offers users an alternate, faster workflow for using global illumination in their scenes.
About Global Illumination
There are several methods for creating global illumination with RenderMan for Maya, but global illumination generally has two components: hemispherical sampling for shadows and image based lighting for surface illuminance. It's important to keep in mind that either component may be used on its own or both components may be used in conjuction with normal scene lighting. Next we'll explore soft shadows and image based lighting a bit more.
The effect of soft shadows can be generated by determining the amount a point is obscured by other surfaces, an effect otherwise known as occlusion. This occlusion information can be determined by casting many hemispherical samples from a given surface point, and because so many rays must be cast, computing these calculations can be expensive.
RenderMan's efficient hemispherical sampling algorithm only samples at points where it has to; and the Max Variation setting allows you to control the quality/speed trade off.
Global Vs. Direct Illumination
The two images below show the difference between global and direct lighting. The scene has one light, which doesn't cast shadows. The only difference between the two images is the addition of global illumination. Global illumination provides many subtle shading effects but these effects have a high cost at render time. Subtle shadows can also be faked, and while this takes more setup time during lighting and shading, the images will render much faster. The choice to use global illumination, or to fake it, should be a conscious decision.
A scene with
one direct light, with no shadows.
The same scene as above, with the addition of global illumination.
Like occlusion, color bleeding uses hemispherical sampling to calculate its effect. Color bleeding is different than occlusion because each hemispherical sample that hits a surface will run that object's shader. This is much more expensive than occlusion calculations, but it has the advantage of getting colors to bounce from one object to another. Color bleeding is also required for true image based lighting.
The blue color bounces off the wall onto the white sphere.
Image based lighting uses environment maps (not scene lights) to illuminate objects. In this method scene lighting is derived from an environment map, which can be a high dynamic range image, HDRI. Through image based lighting, realistic lighting can be quickly integrated into a scene. Below is a picture of an HDRI image of a forest which will be used to illuminate the geometry on the right, the clump of mushrooms.
|In the image on the right, the
HDRI has been applied to the geometry using the RenderMan Environment
Light. All of the lighting is coming from the image. There are no direct
lights in this scene.
There are no shadows, however. We can add shadows by using the Occlusion shadowing mode of the RenderMan Environment Light.
Pure image based lighting
|To showcase occlusion, the scene
has been rendered with simple materials, without the environment map,
and with occlusion enabled.
Notice how occlusion creates smooth subtle shadowing based on the amount points are obscured by other points. This shadowing will be combined with the image based lighting above.
|Finally, the scene is rendered
with the complicated materials, the HDRI environment map, and with
When used together image based lighting and occlusion can produce some great effects with minimal setup.
Image based lighting with occlusion
Global illumination can be baked and stored on disk. Once generated, this cached data can be reused, dramatically decreasing render times.
To bake global illumination with RenderMan for Maya, create a connection to the Bake parameter of the RenderMan Environment Light. Once a cache file is baked it can be referenced in subsequent renders. Data can be reused as long as the relevant object(s) doesn't move. If the object moves the global illumination data must be recalculated on a per-frame basis.
Using pre-baked point clouds, RenderMan can now calculate global illumination without the expense of ray tracing. The technique is essentially an extension of baking your global illumination data. You now have the option of creating an Approximate Global Diffuse Pass connected to your RenderMan Environment Light (which can now be created without enabling ray tracing).
The advantages of our point-based approach are:
- No noise.
- Faster computation times. (No ray tracing.)
- The geometric primitives do not need to be visible for ray tracing; this can significantly reduce the memory consumed during rendering.
- Color bleeding is nearly as fast as occlusion. (No evaluation of shaders at ray hit points.)
- (HDRI) environment map illumination can be computed at the same time as the occlusion.
- Displacement mapped surfaces take no more time than non-displaced surfaces.
The basic workflow for ray-traced and point-based global illumination is covered in the Global Illumination tutorial.
You can find more technical information about global illumination in the RenderMan Application Notes: Ambient Occlusion, Image-Based Illumination, and Global Illumination and Point-Based Approximate Ambient Occlusion and Color Bleeding.
Prev | Next
Pixar Animation Studios