real-time volumetric shadows for dynamic rendering · •self-shadows needed for realistic...
TRANSCRIPT
![Page 1: Real-time volumetric shadows for dynamic rendering · •Self-shadows needed for realistic rendering •Previous method do this in real-time, but suffer from visual artifacts don’t](https://reader036.vdocument.in/reader036/viewer/2022071214/6043ffa024c09c5ce21d02bc/html5/thumbnails/1.jpg)
Real-time volumetric shadows
for dynamic rendering
Alexandru Teodor Voicu
Prof. Duncan F. Gillies
![Page 2: Real-time volumetric shadows for dynamic rendering · •Self-shadows needed for realistic rendering •Previous method do this in real-time, but suffer from visual artifacts don’t](https://reader036.vdocument.in/reader036/viewer/2022071214/6043ffa024c09c5ce21d02bc/html5/thumbnails/2.jpg)
Contents
Introduction
Opacity Shadow Maps
Deep Opacity Maps
Bounding Opacity Maps
Splitting scheme
Results & Performance
Future work
Conclusions
Q & A
![Page 3: Real-time volumetric shadows for dynamic rendering · •Self-shadows needed for realistic rendering •Previous method do this in real-time, but suffer from visual artifacts don’t](https://reader036.vdocument.in/reader036/viewer/2022071214/6043ffa024c09c5ce21d02bc/html5/thumbnails/3.jpg)
Introduction
Introduction
Opacity Shadow Maps
Deep Opacity Maps
Bounding Opacity Maps
Splitting scheme
Results & Performance
Future work
Conclusions
Q & A
![Page 4: Real-time volumetric shadows for dynamic rendering · •Self-shadows needed for realistic rendering •Previous method do this in real-time, but suffer from visual artifacts don’t](https://reader036.vdocument.in/reader036/viewer/2022071214/6043ffa024c09c5ce21d02bc/html5/thumbnails/4.jpg)
Why do we need volumetric shadows ?
No shadows Volumetric shadows
![Page 5: Real-time volumetric shadows for dynamic rendering · •Self-shadows needed for realistic rendering •Previous method do this in real-time, but suffer from visual artifacts don’t](https://reader036.vdocument.in/reader036/viewer/2022071214/6043ffa024c09c5ce21d02bc/html5/thumbnails/5.jpg)
Same story in real-life
No shadows Volumetric shadows
(dyed blonder hair) (natural blonde hair)
![Page 6: Real-time volumetric shadows for dynamic rendering · •Self-shadows needed for realistic rendering •Previous method do this in real-time, but suffer from visual artifacts don’t](https://reader036.vdocument.in/reader036/viewer/2022071214/6043ffa024c09c5ce21d02bc/html5/thumbnails/6.jpg)
Offline implementation
• Successfully done by the film industry
ray tracing
photon mapping
• Not real-time
3DS Max
Maya
Blender
Pixar’s RenderMan®
![Page 7: Real-time volumetric shadows for dynamic rendering · •Self-shadows needed for realistic rendering •Previous method do this in real-time, but suffer from visual artifacts don’t](https://reader036.vdocument.in/reader036/viewer/2022071214/6043ffa024c09c5ce21d02bc/html5/thumbnails/7.jpg)
Opacity Shadow Maps
Introduction
Opacity Shadow Maps
Deep Opacity Maps
Bounding Opacity Maps
Splitting scheme
Results & Performance
Future work
Conclusions
Q & A
![Page 8: Real-time volumetric shadows for dynamic rendering · •Self-shadows needed for realistic rendering •Previous method do this in real-time, but suffer from visual artifacts don’t](https://reader036.vdocument.in/reader036/viewer/2022071214/6043ffa024c09c5ce21d02bc/html5/thumbnails/8.jpg)
Algorithm (Kim et al.) ‘01
• Geometry is rendered to texture for a predefined
number of times
along the light’s direction
setting the near and far clip planes
• Real-time due to hardware acceleration
![Page 9: Real-time volumetric shadows for dynamic rendering · •Self-shadows needed for realistic rendering •Previous method do this in real-time, but suffer from visual artifacts don’t](https://reader036.vdocument.in/reader036/viewer/2022071214/6043ffa024c09c5ce21d02bc/html5/thumbnails/9.jpg)
Severe visual artifacts
• Points are presented in only one layer
16 layers 64 layers
![Page 10: Real-time volumetric shadows for dynamic rendering · •Self-shadows needed for realistic rendering •Previous method do this in real-time, but suffer from visual artifacts don’t](https://reader036.vdocument.in/reader036/viewer/2022071214/6043ffa024c09c5ce21d02bc/html5/thumbnails/10.jpg)
Deep Opacity Maps
Introduction
Opacity Shadow Maps
Deep Opacity Maps
Bounding Opacity Maps
Splitting scheme
Results & Performance
Future work
Conclusions
Q & A
![Page 11: Real-time volumetric shadows for dynamic rendering · •Self-shadows needed for realistic rendering •Previous method do this in real-time, but suffer from visual artifacts don’t](https://reader036.vdocument.in/reader036/viewer/2022071214/6043ffa024c09c5ce21d02bc/html5/thumbnails/11.jpg)
Algorithm (Yuksel et al.) ‘08
• Layers are aligned with the object’s shape via a
depth map
less layers produce better renderings
Opacity Shadow Maps Deep Opacity Maps
![Page 12: Real-time volumetric shadows for dynamic rendering · •Self-shadows needed for realistic rendering •Previous method do this in real-time, but suffer from visual artifacts don’t](https://reader036.vdocument.in/reader036/viewer/2022071214/6043ffa024c09c5ce21d02bc/html5/thumbnails/12.jpg)
Still some visual artifacts
Bad ending position Good ending position
• No information about where objects end
doesn’t really work with multiple objects
![Page 13: Real-time volumetric shadows for dynamic rendering · •Self-shadows needed for realistic rendering •Previous method do this in real-time, but suffer from visual artifacts don’t](https://reader036.vdocument.in/reader036/viewer/2022071214/6043ffa024c09c5ce21d02bc/html5/thumbnails/13.jpg)
Bounding Opacity Maps
Introduction
Opacity Shadow Maps
Deep Opacity Maps
Bounding Opacity Maps
Splitting scheme
Results & Performance
Future work
Conclusions
Q & A
![Page 14: Real-time volumetric shadows for dynamic rendering · •Self-shadows needed for realistic rendering •Previous method do this in real-time, but suffer from visual artifacts don’t](https://reader036.vdocument.in/reader036/viewer/2022071214/6043ffa024c09c5ce21d02bc/html5/thumbnails/14.jpg)
Algorithm (me) ‘11
• Layers are aligned with the object’s shape via two
depth maps
• Follows the distribution of light in real-life
even less layers produce even better renderings
• e
Light distribution Deep Opacity Maps Bounding Opacity Maps
![Page 15: Real-time volumetric shadows for dynamic rendering · •Self-shadows needed for realistic rendering •Previous method do this in real-time, but suffer from visual artifacts don’t](https://reader036.vdocument.in/reader036/viewer/2022071214/6043ffa024c09c5ce21d02bc/html5/thumbnails/15.jpg)
Visual artifacts
Linear split Logarithmic split
• Too few layers and bad splitting scheme
![Page 16: Real-time volumetric shadows for dynamic rendering · •Self-shadows needed for realistic rendering •Previous method do this in real-time, but suffer from visual artifacts don’t](https://reader036.vdocument.in/reader036/viewer/2022071214/6043ffa024c09c5ce21d02bc/html5/thumbnails/16.jpg)
Splitting scheme
Introduction
Opacity Shadow Maps
Deep Opacity Maps
Bounding Opacity Maps
Splitting scheme
Results & Performance
Future work
Conclusions
Q & A
![Page 17: Real-time volumetric shadows for dynamic rendering · •Self-shadows needed for realistic rendering •Previous method do this in real-time, but suffer from visual artifacts don’t](https://reader036.vdocument.in/reader036/viewer/2022071214/6043ffa024c09c5ce21d02bc/html5/thumbnails/17.jpg)
Linear splitting
• Good for sparse objects / bad for dense ones
lighting changes throughout the entire object’s length
Real-life photographs of sparse objects
![Page 18: Real-time volumetric shadows for dynamic rendering · •Self-shadows needed for realistic rendering •Previous method do this in real-time, but suffer from visual artifacts don’t](https://reader036.vdocument.in/reader036/viewer/2022071214/6043ffa024c09c5ce21d02bc/html5/thumbnails/18.jpg)
Logarithmic splitting
• Good for dense objects / bad for sparse ones
lighting changes only at the beginning
Real-life photographs of dense objects
![Page 19: Real-time volumetric shadows for dynamic rendering · •Self-shadows needed for realistic rendering •Previous method do this in real-time, but suffer from visual artifacts don’t](https://reader036.vdocument.in/reader036/viewer/2022071214/6043ffa024c09c5ce21d02bc/html5/thumbnails/19.jpg)
Hybrid splitting
• Linear interpolation between linear and
logarithmic splitting
• Automatically choose the best ratio
consecutive layers are different
every new layer brings new information
• The layers are gray images
image processing problem
mutual information
![Page 20: Real-time volumetric shadows for dynamic rendering · •Self-shadows needed for realistic rendering •Previous method do this in real-time, but suffer from visual artifacts don’t](https://reader036.vdocument.in/reader036/viewer/2022071214/6043ffa024c09c5ce21d02bc/html5/thumbnails/20.jpg)
Mutual information
• Two methods were tested
Sum of absolute differences
Cross-correlation coefficient
• Cross-correlation gives better results
takes standard deviation into account
normalized between [-1, 1]
![Page 21: Real-time volumetric shadows for dynamic rendering · •Self-shadows needed for realistic rendering •Previous method do this in real-time, but suffer from visual artifacts don’t](https://reader036.vdocument.in/reader036/viewer/2022071214/6043ffa024c09c5ce21d02bc/html5/thumbnails/21.jpg)
Split ratio vs. Density
Linear
Log
![Page 22: Real-time volumetric shadows for dynamic rendering · •Self-shadows needed for realistic rendering •Previous method do this in real-time, but suffer from visual artifacts don’t](https://reader036.vdocument.in/reader036/viewer/2022071214/6043ffa024c09c5ce21d02bc/html5/thumbnails/22.jpg)
Split ratio vs. Number of layers
Linear
Log
![Page 23: Real-time volumetric shadows for dynamic rendering · •Self-shadows needed for realistic rendering •Previous method do this in real-time, but suffer from visual artifacts don’t](https://reader036.vdocument.in/reader036/viewer/2022071214/6043ffa024c09c5ce21d02bc/html5/thumbnails/23.jpg)
Results & Performance
Introduction
Opacity Shadow Maps
Deep Opacity Maps
Bounding Opacity Maps
Splitting scheme
Results & Performance
Future work
Conclusions
Q & A
![Page 24: Real-time volumetric shadows for dynamic rendering · •Self-shadows needed for realistic rendering •Previous method do this in real-time, but suffer from visual artifacts don’t](https://reader036.vdocument.in/reader036/viewer/2022071214/6043ffa024c09c5ce21d02bc/html5/thumbnails/24.jpg)
FPS vs. Number of layers
![Page 25: Real-time volumetric shadows for dynamic rendering · •Self-shadows needed for realistic rendering •Previous method do this in real-time, but suffer from visual artifacts don’t](https://reader036.vdocument.in/reader036/viewer/2022071214/6043ffa024c09c5ce21d02bc/html5/thumbnails/25.jpg)
Future work
Introduction
Opacity Shadow Maps
Deep Opacity Maps
Bounding Opacity Maps
Splitting scheme
Results & Performance
Future work
Conclusions
Q & A
![Page 26: Real-time volumetric shadows for dynamic rendering · •Self-shadows needed for realistic rendering •Previous method do this in real-time, but suffer from visual artifacts don’t](https://reader036.vdocument.in/reader036/viewer/2022071214/6043ffa024c09c5ce21d02bc/html5/thumbnails/26.jpg)
To Do
• Different splitting function for each ray / region
splitting texture (another render pass)
• Compute split ratio in real-time (CPU bound now)
solved by using the GPU
• Find the optimal number of layers
easier to find the biggest number of layers that keeps
the application real-time
• Extend to clouds and smoke
add support for volumetric rendering
![Page 27: Real-time volumetric shadows for dynamic rendering · •Self-shadows needed for realistic rendering •Previous method do this in real-time, but suffer from visual artifacts don’t](https://reader036.vdocument.in/reader036/viewer/2022071214/6043ffa024c09c5ce21d02bc/html5/thumbnails/27.jpg)
Conclusions
Introduction
Opacity Shadow Maps
Deep Opacity Maps
Bounding Opacity Maps
Splitting scheme
Results & Performance
Future work
Conclusions
Q & A
![Page 28: Real-time volumetric shadows for dynamic rendering · •Self-shadows needed for realistic rendering •Previous method do this in real-time, but suffer from visual artifacts don’t](https://reader036.vdocument.in/reader036/viewer/2022071214/6043ffa024c09c5ce21d02bc/html5/thumbnails/28.jpg)
Conclusions
• Self-shadows needed for realistic rendering
• Previous method do this in real-time, but suffer
from visual artifacts
don’t follow the light distribution from real-life
• New methods for approximating the light
distribution are proposed
Bounding Opacity Maps
Hybrid Splitting
• Dyed blonde hair looks unnatural
doesn’t cast volumetric shadows!
![Page 29: Real-time volumetric shadows for dynamic rendering · •Self-shadows needed for realistic rendering •Previous method do this in real-time, but suffer from visual artifacts don’t](https://reader036.vdocument.in/reader036/viewer/2022071214/6043ffa024c09c5ce21d02bc/html5/thumbnails/29.jpg)
Q & A
Introduction
Opacity Shadow Maps
Deep Opacity Maps
Bounding Opacity Maps
Splitting scheme
Results & Performance
Future work
Conclusions
Q & A
![Page 30: Real-time volumetric shadows for dynamic rendering · •Self-shadows needed for realistic rendering •Previous method do this in real-time, but suffer from visual artifacts don’t](https://reader036.vdocument.in/reader036/viewer/2022071214/6043ffa024c09c5ce21d02bc/html5/thumbnails/30.jpg)
Q & A
• Thank you for your attention
http://www.youtube.com/watch?v=JUrC7yv26eA
• Full source code
https://crystal.svn.sourceforge.net/svnroot/crystal/CS/br
anches/soc2011/selfshadow/
• More about this project
http://volumetricshadows.wordpress.com/
• Contact details
• Q & A