Lightbuffer with virtual point lights
In a preprocessing step, a number of virtual point lights (VPL's) would be distributed through the scene. In a next step, all the geometry would be projected upon a hemicube surrounding the VPL's as in figure 1.
The light buffer would store all the geometry the overlapping geometry, not only the closest one. When shadow ray needs to be traced to the light source, it is intersected with the hemicube. This allows a quick retrieval of all the possible occluders. In the next step, probabilistic visibility can be used to only intersect one or two of the possible occluders.
The downside of this approach is that the preprocessing is computationally intensive. For every VPL we need to iterate six times over the geometry of the scene and unfortunately, the number of VPL's needs to be large to approach global illumination. Furthermore, memory consumption can be quite excessive if the resolution of the grid is high. If we would decide to keep the resolution low, artifacts can appear.
The upside would be that graphics hardware allows to project the geometry quickly on the cubes.
Reference: Eric A. Haines and Donald P. Greenberg. The Light Buffer: A Shadow-Testing Accelerator. Computer Graphics and Applications, IEEE Volume 6 p. 6-16, 1986.
Figure 1: Example of a projection on the hemicube |
The downside of this approach is that the preprocessing is computationally intensive. For every VPL we need to iterate six times over the geometry of the scene and unfortunately, the number of VPL's needs to be large to approach global illumination. Furthermore, memory consumption can be quite excessive if the resolution of the grid is high. If we would decide to keep the resolution low, artifacts can appear.
The upside would be that graphics hardware allows to project the geometry quickly on the cubes.
Reference: Eric A. Haines and Donald P. Greenberg. The Light Buffer: A Shadow-Testing Accelerator. Computer Graphics and Applications, IEEE Volume 6 p. 6-16, 1986.
Volumetric occluders
This approach was meant to be used on watertight models in the scene. First, a volumetric occluder is created for the watertight model. A volumetric occluder is a simple geometric object that tries to fill's a model as tight as possible.
Figure 2: Volumetic occluders for the Stanford Dragon
Image courtesy: Peter Djeu, Sean Keely, Warren Hunt. Accelerating Shadow Rays Using Volumetric Occluders and Modified kD-tree traversal. 2009.
|
Now we would use probabilistic visiblity to either intersect the model or the volumetric occluder in the following way:
The chances could be set in the following manner:
These chances will favor the occluder when it fits the model tightly. The term pintersect should be as low as possible, but is still needed to avoid bias in the Monte Carlo Estimate.
This method would accelerate tracing shadows because intersecting the volumetric occluder is cheaper than intersecting the model.
This method would accelerate tracing shadows because intersecting the volumetric occluder is cheaper than intersecting the model.
It is not yet clear whether this method could work. We are essentially adding more geometry to the scene and this could create a bias.
Reference: Peter Djeu, Sean Keely, Warren Hunt, 2009. Accelerating Shadow Rays Using Volumetric Occluders and Modified kD-tree traversal. High Performance Graphics 2009 p. 69-76
Reference: Peter Djeu, Sean Keely, Warren Hunt, 2009. Accelerating Shadow Rays Using Volumetric Occluders and Modified kD-tree traversal. High Performance Graphics 2009 p. 69-76
No comments:
Post a Comment