Rhombic dodecahedron mapping for indirect lighting with voxel blocks: Storing path traced specular global illumination data
Katajisto, Tuomas (2025)
Katajisto, Tuomas
2025
Tietotekniikan DI-ohjelma - Master's Programme in Information Technology
Informaatioteknologian ja viestinnän tiedekunta - Faculty of Information Technology and Communication Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2025-01-07
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202501071139
https://urn.fi/URN:NBN:fi:tuni-202501071139
Tiivistelmä
Indirect lighting is light that hits the surface after bouncing from another surface, not directly from the light source. Mirror-like sharp reflections are a form of indirect specular lighting. Rendering sharp reflections in real time applications such as video games has many solutions with varying trade-offs. Most of the existing methods work in real-time, requiring high performance hardware or producing compromised results.
The rhombic dodecahedron mapping method proposed in this work is a new approach to storing lighting information for a voxel block, that takes advantage of the restrictions on scenes formed from axis-aligned voxel blocks to store detailed information about the environment around the block for rendering sharp reflections and fetching other stored lighting information in real time.
The method stores incoming light for a voxel block into six hemispheres, one for each side of the block. These hemispheres are stored in a pyramid shaped mapping, six of which placed on the sides of a block form a rhombic dodecahedron shape. The stored hemispheres are for the center of each side of the block, requiring depth data to be stored in the mapping to allow approximated sampling for other points in the block’s surface.
Although the method is specialized for sharp reflections, it can be used generally to map light probe data for a voxel block and can also be used for low resolution diffuse lighting in addition to specular lighting.
The method results in reflections reasonably close to the path traced reference, with some cases where the method has inherent errors due to storing a single hemisphere for an entire side of the cube. The diffuse lighting gotten with the method is low resolution and can have large differences with the path traced reference, but is usable for use cases where high resolution is not required.
The rhombic dodecahedron mapping method proposed in this work is a new approach to storing lighting information for a voxel block, that takes advantage of the restrictions on scenes formed from axis-aligned voxel blocks to store detailed information about the environment around the block for rendering sharp reflections and fetching other stored lighting information in real time.
The method stores incoming light for a voxel block into six hemispheres, one for each side of the block. These hemispheres are stored in a pyramid shaped mapping, six of which placed on the sides of a block form a rhombic dodecahedron shape. The stored hemispheres are for the center of each side of the block, requiring depth data to be stored in the mapping to allow approximated sampling for other points in the block’s surface.
Although the method is specialized for sharp reflections, it can be used generally to map light probe data for a voxel block and can also be used for low resolution diffuse lighting in addition to specular lighting.
The method results in reflections reasonably close to the path traced reference, with some cases where the method has inherent errors due to storing a single hemisphere for an entire side of the cube. The diffuse lighting gotten with the method is low resolution and can have large differences with the path traced reference, but is usable for use cases where high resolution is not required.