Title: An Improved PhysicallyBased Soft Shadow Volume Algorithm
1An Improved Physically-BasedSoft Shadow Volume
Algorithm
- Jaakko Lehtinen,Samuli Laine, and Timo Aila
- SIGGRAPH 2005
- Date 8/09/2006
- Presented by Edward
2Outline
- Introduction
- Soft Shadow in Ray Tracing
- Soft Shadow Volume for Ray Tracing
- Hemi-cube footprint
- Reconstruction of visibility function
- An Improved Physically-Based Soft Shadow Volume
Algorithm - Wedge BSP Tree
- Silhouette regions
- Result
- Discussion
3Introduction
- A fast algorithm for rendering physically-based
soft shadows in ray tracing-based renderers. - This paper speedup the algorithm of previous
paper. - Samuli Laine, Timo Aila, Ulf Assarsson, Jaakko
Lehtinen and Tomas Akenine-Möller, "Soft Shadow
Volumes for Ray Tracing", ACM SIGGRAPH 2005.
4Soft Shadow in Ray Tracing
- Compute light source visibility by sampling an
area light source using shadow rays
5Soft Shadow Volume for Ray Tracing
- Support shadow ray casting and compute light
source visibility in ray tracing based rendering
by soft shadow volume
6Soft Shadow Volume for Ray Tracing
- For a given point P, we need
- Identify the edges which will cut the light
source from P - Compute how many sample fall in the shadow region
7Soft Shadow Volume for Ray Tracing
- Method can separate into preprocessing pass and
run-time pass - preprocessing pass
- Find potential silhouette edges for area light
source - run-time pass
- For each given point P find actual silhouette
edges - Compute how many sample fall in the shadow region
8preprocessing pass-potential silhouette edges
- For each edge define four subspaces by two
connected triangles. - If the light source lies entirely inside the -
or - subspace, the edge is a potential
silhouette edge.
9preprocessing pass -Hemicube footprint
- In order to quickly find out actual silhouette
edges in run-time - Store wedge footprint in hemi-cube
10preprocessing pass -Hemicube footprint
- Use multi-resolution hemicube to reduce memory
storage
11run-time pass -find actual silhouette edges
- For each given point P in scene
- Step 1 Query wedge list from hemicube
- Step 2 Test if point P lie inside wedge or not.
12run-time pass- visibility function
- Store relative changes of the depth complexity
function. - if and only if sample has zero depth complexity,
it is visible.
13run-time pass- visibility function
- Integration rules for updating the depth
complexity counters of the light samples edge by
edge.
14An Improved Physically-Based Soft Shadow Volume
Algorithm
- In this paper they propose some different data
structure to speedup the algorithm. - Use BSP tree to replace hemicube structure.
- Modify the construction of wedge by silhouette
regions.
15An Improved Physically-Based Soft Shadow Volume
Algorithm
- Problem of hemi-cube structure
- In some case, wedge will cover too much
unnecessary point by using hemi-cube.
16wedge BSP tree
- Instead of hemi-cube structure, they use wedge
BSP tree.
17wedge BSP tree
- In order to reduce memory storage they use lazy
construction of the wedge BSP Tree. - Intermix the construction of the tree with the
wedge queries, and only subdivide the tree in
regions that actually receive queries.
18lazy construction of the wedge BSP Tree
- preprocessing pass
- Initialize a tree root node which cover whole
scene.
19lazy construction of the wedge BSP Tree
- run-time pass for each given point
- Traverse BSP Tree
- If node is leaf node try to split it.
20lazy construction of the wedge BSP Tree
- Stop condition of spilt leaf node
- Grid is small enough
- Number of wedge in node is small enough
21Silhouette regions
- Beside using BSP tree, they modify the according
to the silhouette region.
22Result
23Result
24Result
25Result
26Result
27Result
- The tests were performed on a PC with a 2.8GHz
Pentium 4 processor and 2GB of memory.
28Result
29Discussion
- This paper only speedup the algorithm of previous
paper. - Use BSP tree data structure to replace hemicube.
- Modify wedge by silhouette region.
- Major contribution
- Lazy construction of wedge BSP tree.
30