global illumination
Global illumination algorithms used in 3D computer graphics are commonly used to add realistic lighting to 3D scenes. Such algorithms take into account not only the light which comes directly from a light source (direct illumination), but also subsequent cases in which light rays from the same source are reflected by other surfaces in the scene (indirect illumination).
Images rendered using global illumination algorithms often appear more photorealistic than images rendered using only direct illumination algorithms. However, they are computationally more expensive and consequently much slower to generate. A common approach is to compute the global illumination of a scene and store that information with the geometry, i.e., radiosity. That stored data can then be used to generate images from different viewpoints for generating walkthroughs of a scene without having to go through expensive lighting calculations repeatedly.
Radiosity, ray tracing, beam tracing, cone tracing, path tracing, metropolis light transport, ambient occlusion, photon mapping, and image based lighting are examples of algorithms used in global illumination, some of which may be used together to yield results that are fast, but accurate.
These algorithms model diffuse inter-reflection which is a very important part of global illumination; however most of these (excluding radiosity) also model specular reflection, which makes them more accurate algorithms to solve the lighting equation and provide a more realistically illuminated scene.
The algorithms used to calculate the distribution of light energy between surfaces of a scene are closely related to heat transfer simulations performed using finite-element methods in engineering design.
In real-time 3D graphics, the diffuse inter-reflection component of global illumination is sometimes approximated by an "ambient" term in the lighting equation, which is also called "ambient lighting" or "ambient color" in 3D software packages. Though this method of approximation (also known as a "cheat" because it's not really a global illumination method) is easy to perform computationally, when used alone it does not provide an adequately realistic effect. Ambient lighting is known to "flatten" shadows in 3D scenes, making the overall visual effect more bland. However, used properly, ambient lighting can be an efficient way to make up for a lack of processing power. Video demonstrating global illumination and the ambient color effect
|
Rendering without Global Illumination. Note that we are looking at a fully-enclosed scene through a one-way-transparency scheme
(see the chrome sphere's reflection of the otherwise invisible white and green walls). There is a lack of definition in areas
that are outside the beam of direct light from the ceiling lamp. For example, the geometry of the ceiling lamp's housing is
obscured within a solid grey area produced by an ambient color. Without the ambient color added into the rendering equation, this
surface would be black.
|
Global illumination rendering demonstrating how light is reflected by surfaces. Note how colors transfer (or "bleed") from one
surface to another, an effect of diffuse inter-reflection. Notice how colors from the
red and green walls are diffusely reflected by other surfaces in the scene (one-way transparency is used to allow us to see "through" two walls from the outside while preserving
their effect inside the scene). Also notable is the caustic projected on the red wall
as light passes through the glass sphere.
|
See also
- Lightwave - 3D package with state of the art renderer featuring global illumination etc.
- POV-Ray - free rendering software featuring global illumination (radiosity, photon mapping)
- YafRay - free rendering software featuring global illumination (path tracing, photon mapping with irradiance caching)
- Indigo Renderer - gratis rendering software featuring global illumination (path tracing, Metropolis Light Transport)
- Art of Illusion - free Java-based global illumination raytracer (path tracing, direct photon mapping, ambient occlusion, final gathering)
- Radiance - highly accurate ray-tracing software system for UNIX computers. Free to non-commercial users. It has been open-sourced. Uses path tracing for global illumination.
- Kerkythea - gratis rendering software featuring global illumination (photon mapping, path tracing, Metropolis Light Transport, Ambient occlusion)
External links
- Newtek – developers of Lightwave a 3D package and rendering system based on RayTracing and global illumination. The site has an extensive gallery of contributed images.
- PBRT – book about physically-realistic rendering.
- Advanced Global Illumination - book about global illumination.
- SplutterFish – developers of Brazil R/S, a rendering system based on global illumination. The site has an extensive gallery of contributed images.
- Perceptuum – renderer with photon mapping and other global illumination techniques.
- Mental Images – makers of the Mental Ray renderer. The renderer is used in packages such as Softimage XSI, Maya and 3D Studio Max.
- Real-Time Global Illumination – one example of a real-time GI engine from game developer Fantasylab.
- Geomerics – a new games technology company which is offering a real-time GI solution.
- finalRender rendering system with global illumination for different platforms and packages.
- Luxology – makers of Modo. Modo's renderer utilizes Irradiance Caching to quickly and easily add GI to a 3d scene.
- SSRT – C++ source code for a Monte-carlo pathtracer (supporting GI) - written with ease of understanding in mind.
- Lightsprint – makers of real-time GI middleware. The site has a real-time GI demo.
- Chaos Group – makers of V-Ray rendering system for different platforms and packages. Uses path tracing, irradiance cache, photon maps and light cache GI algorithms.
- Sunflow - GI rendering engine written in Java and built around a flexible ray tracing core and an extensible object-oriented design.
- toxic - toxic is a physically correct global illumination renderer aiming to produce photorealistic images and animations.
- lucille - lucille is an open source parallel global illumination renderer.
- Pixie - Open Source - Pixie is an open source RenderMan renderer for generating photorealistic images. You can compile Pixie on Windows (using Visual Studio 2005), Linux and on OSX (using XCode or unix style configure script).
This entry is from Wikipedia, the leading user-contributed encyclopedia. It may not have been reviewed by professional editors (see full disclaimer)



