Global illumination
This article needs additional citations for verification. (May 2013) |
| Three-dimensional (3D) computer graphics |
|---|
| Fundamentals |
| Primary uses |
| Related topics |
Global illumination[1] (GI), or indirect illumination, is a group of algorithms used in 3D computer graphics that are meant to add more realistic lighting to 3D scenes. Such algorithms take into account not only the light that 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, whether reflective or not (indirect illumination).
Theoretically, reflections, refractions, and shadows are all examples of global illumination, because when simulating them, one object affects the rendering of another (as opposed to an object being affected only by a direct source of light). In practice, however, only the simulation of diffuse inter-reflection or caustics is called global illumination.
Algorithms
[edit]Images rendered using global illumination algorithms often appear more photorealistic than those using only direct illumination algorithms. However, such images are computationally more expensive and consequently much slower to generate. One common approach is to compute the global illumination of a scene and store that information with the geometry (e.g., radiosity). The 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, volumetric path tracing, Metropolis light transport, ambient occlusion, photon mapping, signed distance field and image-based lighting are all examples of algorithms used in global illumination, some of which may be used together to yield results that are not 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.
Photorealism
[edit]

Achieving accurate computation of global illumination in real-time remains difficult.[2] 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.
Procedure
[edit]More and more specialized algorithms are used in 3D programs that can effectively simulate the global illumination. These algorithms are numerical approximations of the rendering equation. Well known algorithms for computing global illumination include path tracing, photon mapping and radiosity. The following approaches can be distinguished here:
- Inversion:
- is not applied in practice
- Expansion:
- bi-directional approach: Photon mapping + Distributed ray tracing, Bi-directional path tracing, Metropolis light transport
- Iteration:
In Light-path notation global lighting the paths of the type L (D | S) corresponds * E.
A full treatment can be found in [3]
Image-based lighting
[edit]Another way to simulate real global illumination is the use of high-dynamic-range images (HDRIs), also known as environment maps, which encircle and illuminate the scene. This process is known as image-based lighting.
List of methods
[edit]| Method | Application | Description/Notes |
|---|---|---|
| Ray tracing | Real-time | Several enhanced variants exist for solving problems related to sampling, aliasing, and soft shadows: Distributed ray tracing, cone tracing, and beam tracing. |
| Path tracing | Offline | Unbiased, variant: Bi-directional path tracing and energy redistribution path tracing.[4] |
| Photon mapping | Offline | Consistent, biased; enhanced variants: Progressive photon mapping, stochastic progressive photon mapping.[5] |
| Lightcuts | Offline | Enhanced variants: Multidimensional lightcuts and bidirectional lightcuts.[6] |
| Point based global illumination | Offline | Extensively used in movie animations.[7][8] |
| Radiosity | Offline | Finite element method, very good for precomputations. Improved versions are instant radiosity[9] and bidirectional instant radiosity.[10] |
| Metropolis light transport | Offline | Builds upon bi-directional path tracing, unbiased, and multiplexed.[11] |
| Spherical harmonic lighting | Real-time | Encodes global illumination results for real-time rendering of static scenes. |
| Ambient occlusion | Real-time | An approximate solution to global illumination that shades the areas of a scene most likely to be occluded by another object. It describes how "exposed" a point in the scene is to incoming light. |
| Light propagation volumes | Real-time | The light propagation volume (LPV) is a technique to approximately achieve global illumination in real-time. It uses lattices and spherical harmonics (SH) to represent the spatial and angular distribution of light in the scene.[12] The technique was later expanded to include approximate occlusion and specular indirect lighting, as well as farther coverage through the nesting of multiple lattices with decreasing resolution.[13] It was used in earlier versions of CryEngine and Unreal Engine.[14] |
| Voxel-based solutions | Real-time | Voxel-based techniques use a discretization of the scene into a volume to simplify lighting calculations. Several variants exist, including voxel cone tracing,[15] sparse voxel octrees,[16] and VXGI.[17] Voxel cone tracing was used and improved in The Tomorrow Children, where the technique provided the entirety of the lighting in the game.[18] |
| Precomputed probe solutions | Real-time | A set of evenly spaced probes in 3D space simulate global illumination of dynamic light sources by relighting the scene based on geometry information precomputed in a "baking" stage beforehand. Geometry that is a part of this precomputation must be static. Examples of this technique include deferred radiance transfer volumes[19] and a succesor used in Tom Clancy's The Division.[20] |
| Screen-space global illumination | Real-time | Screen-space global illumination (SSGI) methods use the information visible to the screen, usually through the use of an already existing G-Buffer, to approximate indirect lighting. Variants exist for ambient occlusion and specular reflections.
The most common approach is screen-space ray marching.[21] Additional techniques include screen space directional occlusion,[22] "deep" buffers,[23][24] and horizon-based visibility bitmasks.[25] |
| Dynamic Diffuse Global Illumination | Real-time | Unlike precomputed probe solutions, Dynamic Diffuse Global Illumination (DDGI) stores lighting and geometric information in real time, using hardware-accelerated ray tracing to prevent light leaking.[26] An offshoot of this technique uses SDF primitives to represent a scene and reflective shadow maps to sample lights, improving on performance by removing the hardware requirement and better approximating occlusions, at the cost of manual setup.[27] |
| Global Illumination Based on Surfels | Real-time | Global Illumination Based on Surfels (GIBS) is a technique created by Electronic Arts' SEED group that discretizes the scene with surface elements, "surfels", in real time, and uses them to accumulate the result of light calculations done through hardware ray tracing.[28] It is currently integrated into the Frostbite engine. |
| Lumen | Real-time | A global illumination solution that relies on an advanced screen-space radiance caching method, alongside a precomputed SDF volume representation of the scene, to provide accurate and stable indirect lighting, shadowing, and reflections at low ray sample rates. Screen probes use importance sampling techniques to intelligently distribute rays, and distant lighting uses a world space probe fallback.[29][30] Lumen is considered the state-of-the-art of real-time global illumination algorithms. It is integrated into Unreal Engine 5. |
See also
[edit]- Category:Global illumination software
- Bias of an estimator
- Bidirectional scattering distribution function
- Consistent estimator
- Unbiased rendering
References
[edit]- ^ "Realtime Global Illumination techniques collection | extremeistan". extremeistan.wordpress.com. 11 May 2014. Retrieved 2016-05-14.
- ^ Kurachi, Noriko (2011). The Magic of Computer Graphics. CRC Press. p. 339. ISBN 9781439873571. Retrieved 24 September 2017.
- ^ Dutre, Philip; Bekaert, Philippe; Bala, Kavita (2006). Advanced Global Illumination (2nd ed.). Taylor & Francis. ISBN 978-1568813073.
- ^ Cline, D.; Talbot, J.; Egbert, P. (2005). "Energy redistribution path tracing". ACM Transactions on Graphics. 24 (3): 1186–95. doi:10.1145/1073204.1073330.
- ^ "Toshiya Hachisuka at UTokyo". ci.i.u-tokyo.ac.jp. Retrieved 2016-05-14.
- ^ Walter, Bruce; Fernandez, Sebastian; Arbree, Adam; Bala, Kavita; Donikian, Michael; Greenberg, Donald P. (1 July 2005). "Lightcuts". ACM Transactions on Graphics. 24 (3): 1098–1107. doi:10.1145/1073204.1073318.
- ^ "coursenote.dvi" (PDF). Graphics.pixar.com. Archived (PDF) from the original on 2011-08-17. Retrieved 2016-12-02.
- ^ Daemen, Karsten (November 14, 2012). "Point Based Global Illumination An introduction [Christensen, 2010]" (PDF). KU Leuven. Archived from the original (PDF) on 2014-12-22.
- ^ "Instant Radiosity: Keller (SIGGRAPH 1997)" (PDF). Cs.cornell.edu. Archived (PDF) from the original on 2012-06-18. Retrieved 2016-12-02.
- ^ Segovia, B.; Iehl, J.C.; Mitanchey, R.; Péroche, B. (2006). "Bidirectional instant radiosity" (PDF). Rendering Techniques. Eurographics Association. pp. 389–397. Archived from the original (PDF) on 2016-01-30.
- ^ Hachisuka, T.; Kaplanyan, A.S.; Dachsbacher, C. (2014). "Multiplexed metropolis light transport" (PDF). ACM Transactions on Graphics. 33 (4): 1–10. doi:10.1145/2601097.2601138. S2CID 79980. Archived from the original (PDF) on 2015-09-23.
- ^ Kaplanyan, Anton (2009-08-03). "Light Propagation Volumes in CryEngine 3" (PDF). Retrieved 2025-11-16.
- ^ Kaplanyan, Anton; Dachsbacher, Carsten (2010-02-19). "Cascaded light propagation volumes for real-time indirect illumination" (PDF). Proceedings of the 2010 ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games. doi:10.1145/1730804.1730821. ISBN 9781605589398. Archived from the original (PDF) on 2016-01-18.
- ^ "Light Propagation Volumes | Unreal Engine 4.27 Documentation | Epic Developer Community". Epic Games Developer. Retrieved 2025-11-17.
- ^ Cyril Crassin. "Voxel Cone Tracing and Sparse Voxel Octree for Real-time Global Illumination" (PDF). On-demand.gputechconf.com. Archived (PDF) from the original on 2013-09-03. Retrieved 2016-12-02.
- ^ "Voxel-Based Global Illumination (SVOGI)". CRYENGINE. Retrieved 2025-11-17.
- ^ "VXGI | GeForce". geforce.com. 2015-04-08. Retrieved 2016-05-14.
{{cite web}}: CS1 maint: url-status (link) - ^ McLaren, James (2014-09-03). "Cascaded Voxel Cone Tracing in The Tomorrow Children" (PDF). Retrieved 2025-11-17.
- ^ Gilabert, Mickael; Stefanov, Nikolay (2012-03-09). "Deferred Radiance Transfer Volumes: Global Illumination in Far Cry 3". gdcvault.com. Retrieved 2025-11-17.
- ^ Stefanov, Nikolay (2016-03-16). "Global Illumination in 'Tom Clancy's The Division'". gdcvault.com. Retrieved 2025-11-17.
- ^ Sachdeva, Shubham (2022-04-22). "Dynamic, Noise Free, Screen Space Diffuse Global Illumination". Shubham Sachdeva Blog. Archived from the original on 2025-04-09. Retrieved 2025-11-17.
- ^ Ritschel, Tobias; Grosch, Thorsten; Seidel, Hans-Peter (2009-02-27). "Approximating dynamic global illumination in image space". Proceedings of the 2009 symposium on Interactive 3D graphics and games. I3D '09. New York, NY, USA: Association for Computing Machinery: 75–82. doi:10.1145/1507149.1507161. ISBN 978-1-60558-429-4.
- ^ Mara, Michael; McGuire, Morgan; Nowrouzezahrai, Derek; Luebke, David (2016-06-24). "Deep G-Buffers for Stable Global Illumination Approximation". Proceedings of the High Performance Graphics 2016: 11.
- ^ Nalbach, Oliver; Ritschel, Tobias; Seidel, Hans-Peter (2014-03-14). "Deep screen space". Proceedings of the 18th meeting of the ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games. I3D '14. New York, NY, USA: Association for Computing Machinery: 79–86. doi:10.1145/2556700.2556708. ISBN 978-1-4503-2717-6.
- ^ Therrien, Oliver; Levesque, Yannick; Gilet, Guillaume (2022-11-11). "Screen Space Indirect Lighting with Visibility Bitmask". The Visual Computer. 39: 5925–5936. Archived from the original on 2023-01-31 – via Springer.
- ^ Majercik, Zander; Guertin, Jean-Philippe; Nowrouzezahrai, Derek; McGuire, Morgan (2019-06-05). Willmott, Andrer; Olano, Marc (eds.). "Dynamic Diffuse Global Illumination with Ray-Traced Irradiance Fields". Journal of Computer Graphics Techniques. 8 (2): 1–30. ISSN 2331-7418.
- ^ Hu, Jinkai; K. Yip, Milo; Elias Alonso, Guillermo; Shi-hao, Gu; Tang, Xiangjun; Xiaogang, Jin (2020). "Signed Distance Fields Dynamic Diffuse Global Illumination". arXiv:2007.14394 [cs.GR].
- ^ Brinck, Andreas; Bei, Xiangshun; Halen, Henrik; Hayward, Kyle (2021-08-11). "Global Illumination Based on Surfels". Advances in Real-Time Rendering in Games. SIGGRAPH. Retrieved 2021-12-02.
- ^ Wright, Daniel (2021-08-11). "Radiance Caching for Real-Time Global Illumination". Advances in Real-Time Rendering in Games. SIGGRAPH. Retrieved 2025-11-17.
- ^ "Lumen Technical Details in Unreal Engine | Unreal Engine 5.7 Documentation | Epic Developer Community". Epic Games Developer. Retrieved 2025-11-17.
External links
[edit]- Video demonstrating global illumination and the ambient color effect
- Real-time GI demos – survey of practical real-time GI techniques as a list of executable demos
- kuleuven - This page contains the Global Illumination Compendium, an effort to bring together most of the useful formulas and equations for global illumination algorithms in computer graphics.
- Theory and practical implementation of Global Illumination using Monte Carlo Path Tracing.