Dynamic Sparse Voxel Octrees For Next-Gen Real-Time Rendering
Transcript of Dynamic Sparse Voxel Octrees For Next-Gen Real-Time Rendering
![Page 1: Dynamic Sparse Voxel Octrees For Next-Gen Real-Time Rendering](https://reader031.fdocuments.us/reader031/viewer/2022021207/620625418c2f7b173004dac9/html5/thumbnails/1.jpg)
This subtitle is 20 points
Bullets are blue
They have 110% line spacing, 2 points before & after
Longer bullets in the form of a paragraph are harder to
read if there is insufficient line spacing. This is the
maximum recommended number of lines per slide
(seven).
Sub bullets look like this
Beyond Programmable Shading Course, ACM SIGGRAPH 2012
![Page 2: Dynamic Sparse Voxel Octrees For Next-Gen Real-Time Rendering](https://reader031.fdocuments.us/reader031/viewer/2022021207/620625418c2f7b173004dac9/html5/thumbnails/2.jpg)
This subtitle is 20 points
Bullets are blue
They have 110% line spacing, 2 points before & after
Longer bullets in the form of a paragraph are harder to
read if there is insufficient line spacing. This is the
maximum recommended number of lines per slide
(seven).
Sub bullets look like this
Beyond Programmable Shading Course, ACM SIGGRAPH 2012
Beyond Programmable Shading Course ACM SIGGRAPH 2012
Dynamic Sparse Voxel Octrees
For Next-Gen Real-Time Rendering
Cyril Crassin, NVIDIA Research
![Page 3: Dynamic Sparse Voxel Octrees For Next-Gen Real-Time Rendering](https://reader031.fdocuments.us/reader031/viewer/2022021207/620625418c2f7b173004dac9/html5/thumbnails/3.jpg)
This subtitle is 20 points
Bullets are blue
They have 110% line spacing, 2 points before & after
Longer bullets in the form of a paragraph are harder to
read if there is insufficient line spacing. This is the
maximum recommended number of lines per slide
(seven).
Sub bullets look like this
Beyond Programmable Shading Course, ACM SIGGRAPH 2012
Massive complex scenes
![Page 4: Dynamic Sparse Voxel Octrees For Next-Gen Real-Time Rendering](https://reader031.fdocuments.us/reader031/viewer/2022021207/620625418c2f7b173004dac9/html5/thumbnails/4.jpg)
This subtitle is 20 points
Bullets are blue
They have 110% line spacing, 2 points before & after
Longer bullets in the form of a paragraph are harder to
read if there is insufficient line spacing. This is the
maximum recommended number of lines per slide
(seven).
Sub bullets look like this
Beyond Programmable Shading Course, ACM SIGGRAPH 2012 [Matt Swoboda] Procedural content
![Page 5: Dynamic Sparse Voxel Octrees For Next-Gen Real-Time Rendering](https://reader031.fdocuments.us/reader031/viewer/2022021207/620625418c2f7b173004dac9/html5/thumbnails/5.jpg)
This subtitle is 20 points
Bullets are blue
They have 110% line spacing, 2 points before & after
Longer bullets in the form of a paragraph are harder to
read if there is insufficient line spacing. This is the
maximum recommended number of lines per slide
(seven).
Sub bullets look like this
Beyond Programmable Shading Course, ACM SIGGRAPH 2012
Multi-Bounces GI
![Page 6: Dynamic Sparse Voxel Octrees For Next-Gen Real-Time Rendering](https://reader031.fdocuments.us/reader031/viewer/2022021207/620625418c2f7b173004dac9/html5/thumbnails/6.jpg)
This subtitle is 20 points
Bullets are blue
They have 110% line spacing, 2 points before & after
Longer bullets in the form of a paragraph are harder to
read if there is insufficient line spacing. This is the
maximum recommended number of lines per slide
(seven).
Sub bullets look like this
Beyond Programmable Shading Course, ACM SIGGRAPH 2012
Compact multi-resolution
voxel representation
Sparse Voxel Octree
Laine and Karras
(NVIDIA) 2010
Olick. 2008
Crassin et al. 2009
(GigaVoxels)
![Page 7: Dynamic Sparse Voxel Octrees For Next-Gen Real-Time Rendering](https://reader031.fdocuments.us/reader031/viewer/2022021207/620625418c2f7b173004dac9/html5/thumbnails/7.jpg)
This subtitle is 20 points
Bullets are blue
They have 110% line spacing, 2 points before & after
Longer bullets in the form of a paragraph are harder to
read if there is insufficient line spacing. This is the
maximum recommended number of lines per slide
(seven).
Sub bullets look like this
Beyond Programmable Shading Course, ACM SIGGRAPH 2012
SVO as a 3D G-Buffer
![Page 8: Dynamic Sparse Voxel Octrees For Next-Gen Real-Time Rendering](https://reader031.fdocuments.us/reader031/viewer/2022021207/620625418c2f7b173004dac9/html5/thumbnails/8.jpg)
This subtitle is 20 points
Bullets are blue
They have 110% line spacing, 2 points before & after
Longer bullets in the form of a paragraph are harder to
read if there is insufficient line spacing. This is the
maximum recommended number of lines per slide
(seven).
Sub bullets look like this
Beyond Programmable Shading Course, ACM SIGGRAPH 2012
Hierarchical volumes
– Multi-resolution geometry
– Filtered values
Voxel Octree
![Page 9: Dynamic Sparse Voxel Octrees For Next-Gen Real-Time Rendering](https://reader031.fdocuments.us/reader031/viewer/2022021207/620625418c2f7b173004dac9/html5/thumbnails/9.jpg)
This subtitle is 20 points
Bullets are blue
They have 110% line spacing, 2 points before & after
Longer bullets in the form of a paragraph are harder to
read if there is insufficient line spacing. This is the
maximum recommended number of lines per slide
(seven).
Sub bullets look like this
Beyond Programmable Shading Course, ACM SIGGRAPH 2012
Pre-filtered geometric representation
– Adapt geometry-resolution to sampling resolution
Geometry pre-filtering
![Page 10: Dynamic Sparse Voxel Octrees For Next-Gen Real-Time Rendering](https://reader031.fdocuments.us/reader031/viewer/2022021207/620625418c2f7b173004dac9/html5/thumbnails/10.jpg)
This subtitle is 20 points
Bullets are blue
They have 110% line spacing, 2 points before & after
Longer bullets in the form of a paragraph are harder to
read if there is insufficient line spacing. This is the
maximum recommended number of lines per slide
(seven).
Sub bullets look like this
Beyond Programmable Shading Course, ACM SIGGRAPH 2012
Voxel cone-tracing model Camera
Rendered image
Pixel cone footprint
Source pixel
![Page 11: Dynamic Sparse Voxel Octrees For Next-Gen Real-Time Rendering](https://reader031.fdocuments.us/reader031/viewer/2022021207/620625418c2f7b173004dac9/html5/thumbnails/11.jpg)
This subtitle is 20 points
Bullets are blue
They have 110% line spacing, 2 points before & after
Longer bullets in the form of a paragraph are harder to
read if there is insufficient line spacing. This is the
maximum recommended number of lines per slide
(seven).
Sub bullets look like this
Beyond Programmable Shading Course, ACM SIGGRAPH 2012
Filtered geometry is integrated as
a participating media
– Volume ray-casting
Voxel cone-tracing model
![Page 12: Dynamic Sparse Voxel Octrees For Next-Gen Real-Time Rendering](https://reader031.fdocuments.us/reader031/viewer/2022021207/620625418c2f7b173004dac9/html5/thumbnails/12.jpg)
This subtitle is 20 points
Bullets are blue
They have 110% line spacing, 2 points before & after
Longer bullets in the form of a paragraph are harder to
read if there is insufficient line spacing. This is the
maximum recommended number of lines per slide
(seven).
Sub bullets look like this
Beyond Programmable Shading Course, ACM SIGGRAPH 2012
Challenges
#1 : Cinematic image quality
• Aliasing, Depth Of Field, Geometry Complexity
• Transparency
#2 : Illumination
• Visibility and light transport
#4 : Production costs
• Content creation, Procedural amplification /Generation, LODs
#5 : Scaling up
• Massive detailed scenes
Representation
Global scene access Filtering
![Page 13: Dynamic Sparse Voxel Octrees For Next-Gen Real-Time Rendering](https://reader031.fdocuments.us/reader031/viewer/2022021207/620625418c2f7b173004dac9/html5/thumbnails/13.jpg)
Beyond Programmable Shading Course ACM SIGGRAPH 2012
SVO STORAGE AND TRAVERSAL
![Page 14: Dynamic Sparse Voxel Octrees For Next-Gen Real-Time Rendering](https://reader031.fdocuments.us/reader031/viewer/2022021207/620625418c2f7b173004dac9/html5/thumbnails/14.jpg)
This subtitle is 20 points
Bullets are blue
They have 110% line spacing, 2 points before & after
Longer bullets in the form of a paragraph are harder to
read if there is insufficient line spacing. This is the
maximum recommended number of lines per slide
(seven).
Sub bullets look like this
Beyond Programmable Shading Course, ACM SIGGRAPH 2012
Nodes in linear video memory
– 2x2x2 nodes tiles
– 1 pointer per node to a node-tile
Voxels stored into a 3D texture
– Allows hardware tri-linear interpolation
SVO Structure
1
2
4 5
8 6 7
3
9
1 2 3 4 5
Octree
pool Lin
ear
Mem
ory
6 7 8 9
3D
Textu
re
Brick
pool
![Page 15: Dynamic Sparse Voxel Octrees For Next-Gen Real-Time Rendering](https://reader031.fdocuments.us/reader031/viewer/2022021207/620625418c2f7b173004dac9/html5/thumbnails/15.jpg)
This subtitle is 20 points
Bullets are blue
They have 110% line spacing, 2 points before & after
Longer bullets in the form of a paragraph are harder to
read if there is insufficient line spacing. This is the
maximum recommended number of lines per slide
(seven).
Sub bullets look like this
Beyond Programmable Shading Course, ACM SIGGRAPH 2012
One thread/cone
KD-restart
– Dependent accesses
Stack-based
– Local thread storage
Octree traversal
1
2 3
4 5
6 7 8 9
1
2
4 5
6 7
3
Tree Descent
Skip
Node
![Page 16: Dynamic Sparse Voxel Octrees For Next-Gen Real-Time Rendering](https://reader031.fdocuments.us/reader031/viewer/2022021207/620625418c2f7b173004dac9/html5/thumbnails/16.jpg)
Beyond Programmable Shading Course ACM SIGGRAPH 2012
CINEMATIC IMAGE QUALITY
Challenge #1
![Page 17: Dynamic Sparse Voxel Octrees For Next-Gen Real-Time Rendering](https://reader031.fdocuments.us/reader031/viewer/2022021207/620625418c2f7b173004dac9/html5/thumbnails/17.jpg)
This subtitle is 20 points
Bullets are blue
They have 110% line spacing, 2 points before & after
Longer bullets in the form of a paragraph are harder to
read if there is insufficient line spacing. This is the
maximum recommended number of lines per slide
(seven).
Sub bullets look like this
Beyond Programmable Shading Course, ACM SIGGRAPH 2012
Massive detailed scenes
Pixel
![Page 18: Dynamic Sparse Voxel Octrees For Next-Gen Real-Time Rendering](https://reader031.fdocuments.us/reader031/viewer/2022021207/620625418c2f7b173004dac9/html5/thumbnails/18.jpg)
This subtitle is 20 points
Bullets are blue
They have 110% line spacing, 2 points before & after
Longer bullets in the form of a paragraph are harder to
read if there is insufficient line spacing. This is the
maximum recommended number of lines per slide
(seven).
Sub bullets look like this
Beyond Programmable Shading Course, ACM SIGGRAPH 2012
Supersampling / MSAA not scalable
– Will always be beaten by geometry
Per-primitive transform + raster
– For mostly averaged geometries
Per-pixel integration (AA)
Pixel
![Page 19: Dynamic Sparse Voxel Octrees For Next-Gen Real-Time Rendering](https://reader031.fdocuments.us/reader031/viewer/2022021207/620625418c2f7b173004dac9/html5/thumbnails/19.jpg)
This subtitle is 20 points
Bullets are blue
They have 110% line spacing, 2 points before & after
Longer bullets in the form of a paragraph are harder to
read if there is insufficient line spacing. This is the
maximum recommended number of lines per slide
(seven).
Sub bullets look like this
Beyond Programmable Shading Course, ACM SIGGRAPH 2012
Pre-filtering geometry is the only-way to go !
– Adapt geometry-complexity to sampling resolution
But B-reps don’t filter correctly
Pre-filtering
[DSSC08]
![Page 20: Dynamic Sparse Voxel Octrees For Next-Gen Real-Time Rendering](https://reader031.fdocuments.us/reader031/viewer/2022021207/620625418c2f7b173004dac9/html5/thumbnails/20.jpg)
This subtitle is 20 points
Bullets are blue
They have 110% line spacing, 2 points before & after
Longer bullets in the form of a paragraph are harder to
read if there is insufficient line spacing. This is the
maximum recommended number of lines per slide
(seven).
Sub bullets look like this
Beyond Programmable Shading Course, ACM SIGGRAPH 2012
Scalable representation
– Unique rep + multi-scale
– Continuous LOD
Very high voxel
resolution
– Animation difficult
Voxel LOD
Camera Rendered image
Pixel cone footprint
Pre-filtered voxel
samples
Cone source pixel
![Page 21: Dynamic Sparse Voxel Octrees For Next-Gen Real-Time Rendering](https://reader031.fdocuments.us/reader031/viewer/2022021207/620625418c2f7b173004dac9/html5/thumbnails/21.jpg)
This subtitle is 20 points
Bullets are blue
They have 110% line spacing, 2 points before & after
Longer bullets in the form of a paragraph are harder to
read if there is insufficient line spacing. This is the
maximum recommended number of lines per slide
(seven).
Sub bullets look like this
Beyond Programmable Shading Course, ACM SIGGRAPH 2012
One 3D texture/tree [Bruneton et al. 2012]
– See PROLAND : http://proland.inrialpes.fr
• 51FPS @1024x768, 180,000 trees. GTX 580
• Trees only : 10.6ms
Forest rendering
![Page 22: Dynamic Sparse Voxel Octrees For Next-Gen Real-Time Rendering](https://reader031.fdocuments.us/reader031/viewer/2022021207/620625418c2f7b173004dac9/html5/thumbnails/22.jpg)
This subtitle is 20 points
Bullets are blue
They have 110% line spacing, 2 points before & after
Longer bullets in the form of a paragraph are harder to
read if there is insufficient line spacing. This is the
maximum recommended number of lines per slide
(seven).
Sub bullets look like this
Beyond Programmable Shading Course, ACM SIGGRAPH 2012
The blurrier, the faster !
Voxel depth-of-field
Lens Image plane
Aperture
Plane in focus
![Page 23: Dynamic Sparse Voxel Octrees For Next-Gen Real-Time Rendering](https://reader031.fdocuments.us/reader031/viewer/2022021207/620625418c2f7b173004dac9/html5/thumbnails/23.jpg)
This subtitle is 20 points
Bullets are blue
They have 110% line spacing, 2 points before & after
Longer bullets in the form of a paragraph are harder to
read if there is insufficient line spacing. This is the
maximum recommended number of lines per slide
(seven).
Sub bullets look like this
Beyond Programmable Shading Course, ACM SIGGRAPH 2012
Representing Appearance And
Pre-Filtering Subpixel Data In
SVOs
[Heitz and Neyret 2012]
3-10Mcones/s
– 100-300ms / frame
@720p (1280x720)
Correlation problem
[Heitz and Neyret 2012]
×
![Page 24: Dynamic Sparse Voxel Octrees For Next-Gen Real-Time Rendering](https://reader031.fdocuments.us/reader031/viewer/2022021207/620625418c2f7b173004dac9/html5/thumbnails/24.jpg)
This subtitle is 20 points
Bullets are blue
They have 110% line spacing, 2 points before & after
Longer bullets in the form of a paragraph are harder to
read if there is insufficient line spacing. This is the
maximum recommended number of lines per slide
(seven).
Sub bullets look like this
Beyond Programmable Shading Course, ACM SIGGRAPH 2012
Primary rays require massive voxel
resolutions
– Require out-of-core rendering
Animation is difficult
– Highly tessellated object in one voxel
Limitations
![Page 25: Dynamic Sparse Voxel Octrees For Next-Gen Real-Time Rendering](https://reader031.fdocuments.us/reader031/viewer/2022021207/620625418c2f7b173004dac9/html5/thumbnails/25.jpg)
This subtitle is 20 points
Bullets are blue
They have 110% line spacing, 2 points before & after
Longer bullets in the form of a paragraph are harder to
read if there is insufficient line spacing. This is the
maximum recommended number of lines per slide
(seven).
Sub bullets look like this
Beyond Programmable Shading Course, ACM SIGGRAPH 2012
One cone per pixel
The smoother, the faster to compute !
Voxel soft shadows
Area light source
Occluder
3-9ms @ 1280x720
![Page 26: Dynamic Sparse Voxel Octrees For Next-Gen Real-Time Rendering](https://reader031.fdocuments.us/reader031/viewer/2022021207/620625418c2f7b173004dac9/html5/thumbnails/26.jpg)
This subtitle is 20 points
Bullets are blue
They have 110% line spacing, 2 points before & after
Longer bullets in the form of a paragraph are harder to
read if there is insufficient line spacing. This is the
maximum recommended number of lines per slide
(seven).
Sub bullets look like this
Beyond Programmable Shading Course, ACM SIGGRAPH 2012
Multiple shadowing lights sources
– Only one geometry pass
– Scales much better than shadow maps !
Voxel soft shadows
![Page 27: Dynamic Sparse Voxel Octrees For Next-Gen Real-Time Rendering](https://reader031.fdocuments.us/reader031/viewer/2022021207/620625418c2f7b173004dac9/html5/thumbnails/27.jpg)
This subtitle is 20 points
Bullets are blue
They have 110% line spacing, 2 points before & after
Longer bullets in the form of a paragraph are harder to
read if there is insufficient line spacing. This is the
maximum recommended number of lines per slide
(seven).
Sub bullets look like this
Beyond Programmable Shading Course, ACM SIGGRAPH 2012
8ms @ 512x512 – 27ms @ 720p - 62ms @ FullHD Voxel-Based GI
![Page 28: Dynamic Sparse Voxel Octrees For Next-Gen Real-Time Rendering](https://reader031.fdocuments.us/reader031/viewer/2022021207/620625418c2f7b173004dac9/html5/thumbnails/28.jpg)
This subtitle is 20 points
Bullets are blue
They have 110% line spacing, 2 points before & after
Longer bullets in the form of a paragraph are harder to
read if there is insufficient line spacing. This is the
maximum recommended number of lines per slide
(seven).
Sub bullets look like this
Beyond Programmable Shading Course, ACM SIGGRAPH 2012
Hybrid rendering pipeline
– Rasterized primary rays
• GPU pipeline optimized for direct visibility
– Cone-traced secondary rays
• Flexibility and scalability
Forward or deferred rendering
Rendering pipeline
![Page 29: Dynamic Sparse Voxel Octrees For Next-Gen Real-Time Rendering](https://reader031.fdocuments.us/reader031/viewer/2022021207/620625418c2f7b173004dac9/html5/thumbnails/29.jpg)
This subtitle is 20 points
Bullets are blue
They have 110% line spacing, 2 points before & after
Longer bullets in the form of a paragraph are harder to
read if there is insufficient line spacing. This is the
maximum recommended number of lines per slide
(seven).
Sub bullets look like this
Beyond Programmable Shading Course, ACM SIGGRAPH 2012
GIVoxels
Interactive Indirect Illumination Using Voxel Cone Tracing
![Page 30: Dynamic Sparse Voxel Octrees For Next-Gen Real-Time Rendering](https://reader031.fdocuments.us/reader031/viewer/2022021207/620625418c2f7b173004dac9/html5/thumbnails/30.jpg)
This subtitle is 20 points
Bullets are blue
They have 110% line spacing, 2 points before & after
Longer bullets in the form of a paragraph are harder to
read if there is insufficient line spacing. This is the
maximum recommended number of lines per slide
(seven).
Sub bullets look like this
Beyond Programmable Shading Course, ACM SIGGRAPH 2012
Rendering algorithm
1. Light injection
– Rasterization (RSM)
2. Light filtering
– Compute
3. Camera pass (final gathering)
– Forward FS or deferred
compute shader
Importance sampling
of the BRDF
Diffuse cones
l
n View
direction
d
n
Light source
Specular cone
![Page 31: Dynamic Sparse Voxel Octrees For Next-Gen Real-Time Rendering](https://reader031.fdocuments.us/reader031/viewer/2022021207/620625418c2f7b173004dac9/html5/thumbnails/31.jpg)
This subtitle is 20 points
Bullets are blue
They have 110% line spacing, 2 points before & after
Longer bullets in the form of a paragraph are harder to
read if there is insufficient line spacing. This is the
maximum recommended number of lines per slide
(seven).
Sub bullets look like this
Beyond Programmable Shading Course, ACM SIGGRAPH 2012
Glossy reflections
![Page 32: Dynamic Sparse Voxel Octrees For Next-Gen Real-Time Rendering](https://reader031.fdocuments.us/reader031/viewer/2022021207/620625418c2f7b173004dac9/html5/thumbnails/32.jpg)
This subtitle is 20 points
Bullets are blue
They have 110% line spacing, 2 points before & after
Longer bullets in the form of a paragraph are harder to
read if there is insufficient line spacing. This is the
maximum recommended number of lines per slide
(seven).
Sub bullets look like this
Beyond Programmable Shading Course, ACM SIGGRAPH 2012
Multiple-bounces
![Page 33: Dynamic Sparse Voxel Octrees For Next-Gen Real-Time Rendering](https://reader031.fdocuments.us/reader031/viewer/2022021207/620625418c2f7b173004dac9/html5/thumbnails/33.jpg)
This subtitle is 20 points
Bullets are blue
They have 110% line spacing, 2 points before & after
Longer bullets in the form of a paragraph are harder to
read if there is insufficient line spacing. This is the
maximum recommended number of lines per slide
(seven).
Sub bullets look like this
Beyond Programmable Shading Course, ACM SIGGRAPH 2012
Scalable lighting rep. !
– Independent of geometric complexity
Control over rendering time
– Maximum voxel resolution (Number of octree levels)
– Number of cones per pixel / Aperture of
the cones: The wider, the faster !
Graceful performance degradation
Performances and scalability
![Page 34: Dynamic Sparse Voxel Octrees For Next-Gen Real-Time Rendering](https://reader031.fdocuments.us/reader031/viewer/2022021207/620625418c2f7b173004dac9/html5/thumbnails/34.jpg)
This subtitle is 20 points
Bullets are blue
They have 110% line spacing, 2 points before & after
Longer bullets in the form of a paragraph are harder to
read if there is insufficient line spacing. This is the
maximum recommended number of lines per slide
(seven).
Sub bullets look like this
Beyond Programmable Shading Course, ACM SIGGRAPH 2012
Large cones
– Precision / Light leaking
But never noisy !!
Discussion
![Page 35: Dynamic Sparse Voxel Octrees For Next-Gen Real-Time Rendering](https://reader031.fdocuments.us/reader031/viewer/2022021207/620625418c2f7b173004dac9/html5/thumbnails/35.jpg)
This subtitle is 20 points
Bullets are blue
They have 110% line spacing, 2 points before & after
Longer bullets in the form of a paragraph are harder to
read if there is insufficient line spacing. This is the
maximum recommended number of lines per slide
(seven).
Sub bullets look like this
Beyond Programmable Shading Course, ACM SIGGRAPH 2012
Memory consumption:
– 9 levels SVO: ~200MB-1GB
• + Temporary buffers for building
Construction + Update Time (GK104)
– Construction : ~70ms at initialization time
– Update: ~4-5ms / frame
What is the cost of an SVO ?
GI Sponza Demo
![Page 36: Dynamic Sparse Voxel Octrees For Next-Gen Real-Time Rendering](https://reader031.fdocuments.us/reader031/viewer/2022021207/620625418c2f7b173004dac9/html5/thumbnails/36.jpg)
This subtitle is 20 points
Bullets are blue
They have 110% line spacing, 2 points before & after
Longer bullets in the form of a paragraph are harder to
read if there is insufficient line spacing. This is the
maximum recommended number of lines per slide
(seven).
Sub bullets look like this
Beyond Programmable Shading Course, ACM SIGGRAPH 2012
Coherency: Execution + Data access
Traversal coherency
Soft Shadow Diffuse Tracing
![Page 37: Dynamic Sparse Voxel Octrees For Next-Gen Real-Time Rendering](https://reader031.fdocuments.us/reader031/viewer/2022021207/620625418c2f7b173004dac9/html5/thumbnails/37.jpg)
This subtitle is 20 points
Bullets are blue
They have 110% line spacing, 2 points before & after
Longer bullets in the form of a paragraph are harder to
read if there is insufficient line spacing. This is the
maximum recommended number of lines per slide
(seven).
Sub bullets look like this
Beyond Programmable Shading Course, ACM SIGGRAPH 2012
Traversal coherency
Diffuse Only Diffuse + Specular
![Page 38: Dynamic Sparse Voxel Octrees For Next-Gen Real-Time Rendering](https://reader031.fdocuments.us/reader031/viewer/2022021207/620625418c2f7b173004dac9/html5/thumbnails/38.jpg)
This subtitle is 20 points
Bullets are blue
They have 110% line spacing, 2 points before & after
Longer bullets in the form of a paragraph are harder to
read if there is insufficient line spacing. This is the
maximum recommended number of lines per slide
(seven).
Sub bullets look like this
Beyond Programmable Shading Course, ACM SIGGRAPH 2012
This can run in a game !
• SVOgi
Voxel-based GI
![Page 39: Dynamic Sparse Voxel Octrees For Next-Gen Real-Time Rendering](https://reader031.fdocuments.us/reader031/viewer/2022021207/620625418c2f7b173004dac9/html5/thumbnails/39.jpg)
This subtitle is 20 points
Bullets are blue
They have 110% line spacing, 2 points before & after
Longer bullets in the form of a paragraph are harder to
read if there is insufficient line spacing. This is the
maximum recommended number of lines per slide
(seven).
Sub bullets look like this
Beyond Programmable Shading Course, ACM SIGGRAPH 2012
The Technology Behind the
“Unreal Engine 4 Elemental Demo”
Martin Mittring
Advances in Real-Time Rendering in
Games: Part II
Wednesday, 8 August 2:05 pm - 3:05 pm
![Page 40: Dynamic Sparse Voxel Octrees For Next-Gen Real-Time Rendering](https://reader031.fdocuments.us/reader031/viewer/2022021207/620625418c2f7b173004dac9/html5/thumbnails/40.jpg)
Beyond Programmable Shading Course ACM SIGGRAPH 2012
CONTENT CREATION
![Page 41: Dynamic Sparse Voxel Octrees For Next-Gen Real-Time Rendering](https://reader031.fdocuments.us/reader031/viewer/2022021207/620625418c2f7b173004dac9/html5/thumbnails/41.jpg)
This subtitle is 20 points
Bullets are blue
They have 110% line spacing, 2 points before & after
Longer bullets in the form of a paragraph are harder to
read if there is insufficient line spacing. This is the
maximum recommended number of lines per slide
(seven).
Sub bullets look like this
Beyond Programmable Shading Course, ACM SIGGRAPH 2012
Signed Distance Field
• Procedural generation and Amplification
Procedural content generation
[Slisesix, by rgba] [Matt Swoboda]
![Page 42: Dynamic Sparse Voxel Octrees For Next-Gen Real-Time Rendering](https://reader031.fdocuments.us/reader031/viewer/2022021207/620625418c2f7b173004dac9/html5/thumbnails/42.jpg)
This subtitle is 20 points
Bullets are blue
They have 110% line spacing, 2 points before & after
Longer bullets in the form of a paragraph are harder to
read if there is insufficient line spacing. This is the
maximum recommended number of lines per slide
(seven).
Sub bullets look like this
Beyond Programmable Shading Course, ACM SIGGRAPH 2012
CSG operations
– 3D-Coat
Voxel sculpting
© 3D-Coat 2010
![Page 43: Dynamic Sparse Voxel Octrees For Next-Gen Real-Time Rendering](https://reader031.fdocuments.us/reader031/viewer/2022021207/620625418c2f7b173004dac9/html5/thumbnails/43.jpg)
This subtitle is 20 points
Bullets are blue
They have 110% line spacing, 2 points before & after
Longer bullets in the form of a paragraph are harder to
read if there is insufficient line spacing. This is the
maximum recommended number of lines per slide
(seven).
Sub bullets look like this
Beyond Programmable Shading Course, ACM SIGGRAPH 2012
LODs
– Eg. Terrain generation in Crysis
– No problem of topology
Procedural content generation
Crysis 2 terrain editor
[GPU Gems 2]
![Page 44: Dynamic Sparse Voxel Octrees For Next-Gen Real-Time Rendering](https://reader031.fdocuments.us/reader031/viewer/2022021207/620625418c2f7b173004dac9/html5/thumbnails/44.jpg)
Beyond Programmable Shading Course ACM SIGGRAPH 2012
OTHER COOL USAGES
![Page 45: Dynamic Sparse Voxel Octrees For Next-Gen Real-Time Rendering](https://reader031.fdocuments.us/reader031/viewer/2022021207/620625418c2f7b173004dac9/html5/thumbnails/45.jpg)
This subtitle is 20 points
Bullets are blue
They have 110% line spacing, 2 points before & after
Longer bullets in the form of a paragraph are harder to
read if there is insufficient line spacing. This is the
maximum recommended number of lines per slide
(seven).
Sub bullets look like this
Beyond Programmable Shading Course, ACM SIGGRAPH 2012
Brick maps [Christensen and Batali 2004]
– Bake static lighting
Irradiance volumes [Greger et al 1998]
– Volume of diffuse lighting samples
– Pre-computed Radiance Transfer [Sloan et al. 2002]
World-space light baking
[Greger 98]
Christensen and Batali (Pixar) 2004
![Page 46: Dynamic Sparse Voxel Octrees For Next-Gen Real-Time Rendering](https://reader031.fdocuments.us/reader031/viewer/2022021207/620625418c2f7b173004dac9/html5/thumbnails/46.jpg)
This subtitle is 20 points
Bullets are blue
They have 110% line spacing, 2 points before & after
Longer bullets in the form of a paragraph are harder to
read if there is insufficient line spacing. This is the
maximum recommended number of lines per slide
(seven).
Sub bullets look like this
Beyond Programmable Shading Course, ACM SIGGRAPH 2012
Rendering volumetric effects
– Smoke, clouds…
Participating medias
[Greger 98]
![Page 47: Dynamic Sparse Voxel Octrees For Next-Gen Real-Time Rendering](https://reader031.fdocuments.us/reader031/viewer/2022021207/620625418c2f7b173004dac9/html5/thumbnails/47.jpg)
This subtitle is 20 points
Bullets are blue
They have 110% line spacing, 2 points before & after
Longer bullets in the form of a paragraph are harder to
read if there is insufficient line spacing. This is the
maximum recommended number of lines per slide
(seven).
Sub bullets look like this
Beyond Programmable Shading Course, ACM SIGGRAPH 2012
Physics: Collision detection
Other applications
Allard et al. Siggraph 2010
![Page 48: Dynamic Sparse Voxel Octrees For Next-Gen Real-Time Rendering](https://reader031.fdocuments.us/reader031/viewer/2022021207/620625418c2f7b173004dac9/html5/thumbnails/48.jpg)
This subtitle is 20 points
Bullets are blue
They have 110% line spacing, 2 points before & after
Longer bullets in the form of a paragraph are harder to
read if there is insufficient line spacing. This is the
maximum recommended number of lines per slide
(seven).
Sub bullets look like this
Beyond Programmable Shading Course, ACM SIGGRAPH 2012
Particles collision detection
Fluid simulation
– Eulerian or Lagrangian SPH
Other applications
Crane et al. (NVIDIA) 2007 Source: Igor Zanic
Simon Green’s Torch Man Demo
![Page 49: Dynamic Sparse Voxel Octrees For Next-Gen Real-Time Rendering](https://reader031.fdocuments.us/reader031/viewer/2022021207/620625418c2f7b173004dac9/html5/thumbnails/49.jpg)
Beyond Programmable Shading Course ACM SIGGRAPH 2012
DISCUSSIONS AND DIRECTIONS
![Page 50: Dynamic Sparse Voxel Octrees For Next-Gen Real-Time Rendering](https://reader031.fdocuments.us/reader031/viewer/2022021207/620625418c2f7b173004dac9/html5/thumbnails/50.jpg)
This subtitle is 20 points
Bullets are blue
They have 110% line spacing, 2 points before & after
Longer bullets in the form of a paragraph are harder to
read if there is insufficient line spacing. This is the
maximum recommended number of lines per slide
(seven).
Sub bullets look like this
Beyond Programmable Shading Course, ACM SIGGRAPH 2012
Animation and dynamic content
– If you use the geometry enough time to amortize,
it is fine !
Limitations
![Page 51: Dynamic Sparse Voxel Octrees For Next-Gen Real-Time Rendering](https://reader031.fdocuments.us/reader031/viewer/2022021207/620625418c2f7b173004dac9/html5/thumbnails/51.jpg)
This subtitle is 20 points
Bullets are blue
They have 110% line spacing, 2 points before & after
Longer bullets in the form of a paragraph are harder to
read if there is insufficient line spacing. This is the
maximum recommended number of lines per slide
(seven).
Sub bullets look like this
Beyond Programmable Shading Course, ACM SIGGRAPH 2012
Compute-based [Schwarz and Seidel 10, Pantaleoni 11]
– Not using hw rasterizer
Multi-pass graphics-based
– Slice-by-slice / Multiple-slices MRT [Fang et al. 00, Crane et al. 07, Li et al. 05,
Dong et al. 04, Zhang et al. 07, Eisemann and Decoret 08]
Voxelization
Crane et al. 2007
VoxelPipe [Pantaleoni 11]
![Page 52: Dynamic Sparse Voxel Octrees For Next-Gen Real-Time Rendering](https://reader031.fdocuments.us/reader031/viewer/2022021207/620625418c2f7b173004dac9/html5/thumbnails/52.jpg)
This subtitle is 20 points
Bullets are blue
They have 110% line spacing, 2 points before & after
Longer bullets in the form of a paragraph are harder to
read if there is insufficient line spacing. This is the
maximum recommended number of lines per slide
(seven).
Sub bullets look like this
Beyond Programmable Shading Course, ACM SIGGRAPH 2012
Thin surface / Classical conservative
Single Pass Dense Voxelization
x
x
y y z
z
Y-proj
Z-proj
X-proj
Normal
Triangle Dominant
Axis Selection
Triangle Projection
Voxel Attributes
Computation
Geometry Shader Fragment Shader
Ha
rdw
are
Se
tup
/Ra
ster
.
Write to 3D surface
Edges Shifting
Fragments Clipping
VS
Rasterization Conservative Rasterization
![Page 53: Dynamic Sparse Voxel Octrees For Next-Gen Real-Time Rendering](https://reader031.fdocuments.us/reader031/viewer/2022021207/620625418c2f7b173004dac9/html5/thumbnails/53.jpg)
This subtitle is 20 points
Bullets are blue
They have 110% line spacing, 2 points before & after
Longer bullets in the form of a paragraph are harder to
read if there is insufficient line spacing. This is the
maximum recommended number of lines per slide
(seven).
Sub bullets look like this
Beyond Programmable Shading Course, ACM SIGGRAPH 2012
Top-down octree construction
– Compute + Graphics
Octree construction
Node queue
1 2 3 4 0
Create New Node Tiles
Node queue
1 2 3 4 5 6 7 8 0
9 10 11 12 13 14 15 16
1 thread per node
Voxelize Mesh at level resolution
0
1
2
Tag octree nodes
1 thread per voxel-fragment
![Page 54: Dynamic Sparse Voxel Octrees For Next-Gen Real-Time Rendering](https://reader031.fdocuments.us/reader031/viewer/2022021207/620625418c2f7b173004dac9/html5/thumbnails/54.jpg)
This subtitle is 20 points
Bullets are blue
They have 110% line spacing, 2 points before & after
Longer bullets in the form of a paragraph are harder to
read if there is insufficient line spacing. This is the
maximum recommended number of lines per slide
(seven).
Sub bullets look like this
Beyond Programmable Shading Course, ACM SIGGRAPH 2012
9 levels octree (512^3)
– RGBA32F
Kepler GK104 performance
– 30% - 58% faster than Fermi GF100
Performances
Times in ms
![Page 55: Dynamic Sparse Voxel Octrees For Next-Gen Real-Time Rendering](https://reader031.fdocuments.us/reader031/viewer/2022021207/620625418c2f7b173004dac9/html5/thumbnails/55.jpg)
This subtitle is 20 points
Bullets are blue
They have 110% line spacing, 2 points before & after
Longer bullets in the form of a paragraph are harder to
read if there is insufficient line spacing. This is the
maximum recommended number of lines per slide
(seven).
Sub bullets look like this
Beyond Programmable Shading Course, ACM SIGGRAPH 2012
How to animate large
scale of small details ?
– FFD deformation
Voxel deformation
[Neyret 98]
Shell Maps [Porumbescu et al. 05, Jeschke et al. 07]
[Decaudin and Neyret 2009]
![Page 56: Dynamic Sparse Voxel Octrees For Next-Gen Real-Time Rendering](https://reader031.fdocuments.us/reader031/viewer/2022021207/620625418c2f7b173004dac9/html5/thumbnails/56.jpg)
This subtitle is 20 points
Bullets are blue
They have 110% line spacing, 2 points before & after
Longer bullets in the form of a paragraph are harder to
read if there is insufficient line spacing. This is the
maximum recommended number of lines per slide
(seven).
Sub bullets look like this
Beyond Programmable Shading Course, ACM SIGGRAPH 2012
Memory cost of large scenes
– Needs streaming or dynamic re-voxelization
• Well fitted to streaming
Limitations
![Page 57: Dynamic Sparse Voxel Octrees For Next-Gen Real-Time Rendering](https://reader031.fdocuments.us/reader031/viewer/2022021207/620625418c2f7b173004dac9/html5/thumbnails/57.jpg)
This subtitle is 20 points
Bullets are blue
They have 110% line spacing, 2 points before & after
Longer bullets in the form of a paragraph are harder to
read if there is insufficient line spacing. This is the
maximum recommended number of lines per slide
(seven).
Sub bullets look like this
Beyond Programmable Shading Course, ACM SIGGRAPH 2012
Problem: Primary rays require massive
amounts of voxels !
– Large scenes + details (screen resolution @ all
necessary scales and everywhere)
Dynamic streaming can be affordable
– Ideal case: 2/3 voxels per pixel @1080p
1920x1080 x3 x32B/voxel ~= 200MB
Challenges
![Page 58: Dynamic Sparse Voxel Octrees For Next-Gen Real-Time Rendering](https://reader031.fdocuments.us/reader031/viewer/2022021207/620625418c2f7b173004dac9/html5/thumbnails/58.jpg)
This subtitle is 20 points
Bullets are blue
They have 110% line spacing, 2 points before & after
Longer bullets in the form of a paragraph are harder to
read if there is insufficient line spacing. This is the
maximum recommended number of lines per slide
(seven).
Sub bullets look like this
Beyond Programmable Shading Course, ACM SIGGRAPH 2012
8K^3 virtual
resolution
50ms @512x512
8800 GT (2007)
~5Mcones/s
Massive scenes
![Page 59: Dynamic Sparse Voxel Octrees For Next-Gen Real-Time Rendering](https://reader031.fdocuments.us/reader031/viewer/2022021207/620625418c2f7b173004dac9/html5/thumbnails/59.jpg)
This subtitle is 20 points
Bullets are blue
They have 110% line spacing, 2 points before & after
Longer bullets in the form of a paragraph are harder to
read if there is insufficient line spacing. This is the
maximum recommended number of lines per slide
(seven).
Sub bullets look like this
Beyond Programmable Shading Course, ACM SIGGRAPH 2012
Virtualized virtual memory system
– Dynamic paging
– Octree as a hierarchical page-table
• Virtually unlimited resolution
• At the cost of a log time point sampling
Out-of-core
1
2 3
4 5
6 7 8 9
10 11
12 13 14 15
16 17
20 21
18 19
![Page 60: Dynamic Sparse Voxel Octrees For Next-Gen Real-Time Rendering](https://reader031.fdocuments.us/reader031/viewer/2022021207/620625418c2f7b173004dac9/html5/thumbnails/60.jpg)
This subtitle is 20 points
Bullets are blue
They have 110% line spacing, 2 points before & after
Longer bullets in the form of a paragraph are harder to
read if there is insufficient line spacing. This is the
maximum recommended number of lines per slide
(seven).
Sub bullets look like this
Beyond Programmable Shading Course, ACM SIGGRAPH 2012
Johan Andersson
Elmar Eisemann
Aaron Lefhon
David Luebke
Yury Uralsky
Ignacio Llamas
For helpful suggestions and discussions
Acknowledgements
![Page 61: Dynamic Sparse Voxel Octrees For Next-Gen Real-Time Rendering](https://reader031.fdocuments.us/reader031/viewer/2022021207/620625418c2f7b173004dac9/html5/thumbnails/61.jpg)
This subtitle is 20 points
Bullets are blue
They have 110% line spacing, 2 points before & after
Longer bullets in the form of a paragraph are harder to
read if there is insufficient line spacing. This is the
maximum recommended number of lines per slide
(seven).
Sub bullets look like this
Beyond Programmable Shading Course, ACM SIGGRAPH 2012
Contact details
• Email: [email protected]
• Website: http://www.icare3d.org
• Twitter: @Icare3D
Thank you !
![Page 62: Dynamic Sparse Voxel Octrees For Next-Gen Real-Time Rendering](https://reader031.fdocuments.us/reader031/viewer/2022021207/620625418c2f7b173004dac9/html5/thumbnails/62.jpg)
This subtitle is 20 points
Bullets are blue
They have 110% line spacing, 2 points before & after
Longer bullets in the form of a paragraph are harder to
read if there is insufficient line spacing. This is the
maximum recommended number of lines per slide
(seven).
Sub bullets look like this
Beyond Programmable Shading Course, ACM SIGGRAPH 2012
This slide has a 16:9 media window