real-time visualization of large detailed volumes on gpu
DESCRIPTION
Interactive GigaVoxels. Real-time visualization of large detailed volumes on GPU. Cyril Crassin, Fabrice Neyret, Sylvain Lefebvre INRIA Rhône-Alpes / Grenoble Universities. Volumetric representations for special effects. Volumetric special effects [KH05, KAP02] Impressive natural scenes - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Real-time visualization of large detailed volumes on GPU](https://reader036.vdocument.in/reader036/viewer/2022062410/56816059550346895dcf8530/html5/thumbnails/1.jpg)
11
Real-time visualization of large detailed volumes on GPU
Cyril Crassin,Cyril Crassin, Fabrice Neyret, Sylvain LefebvreFabrice Neyret, Sylvain LefebvreINRIA Rhône-Alpes / Grenoble UniversitiesINRIA Rhône-Alpes / Grenoble Universities
Interactive GigaVoxels
![Page 2: Real-time visualization of large detailed volumes on GPU](https://reader036.vdocument.in/reader036/viewer/2022062410/56816059550346895dcf8530/html5/thumbnails/2.jpg)
22
Volumetric representations for Volumetric representations for special effectsspecial effects
Volumetric special effectsVolumetric special effects [KH05, [KH05, KAP02]KAP02]
Impressive natural scenesImpressive natural scenesAccurate director vision modelingAccurate director vision modelingRealistic and controllable modelRealistic and controllable model
Voxel enginesVoxel enginesRealistic global illumination modelsRealistic global illumination modelsEffects compositingEffects compositing
Particles, fluids, etc.Particles, fluids, etc.Unified renderingUnified rendering
Costly rendering solutionsCostly rendering solutions Computations timeComputations time Memory occupationMemory occupation
Source: [Digital Domain]
![Page 3: Real-time visualization of large detailed volumes on GPU](https://reader036.vdocument.in/reader036/viewer/2022062410/56816059550346895dcf8530/html5/thumbnails/3.jpg)
33
What we doWhat we do Voxels ray-casting for real-time scenes in Voxels ray-casting for real-time scenes in Video GamesVideo Games
Full scenes representationFull scenes representation Multi-Scale: Large and detailedMulti-Scale: Large and detailed
Hyper-texture usageHyper-texture usage Details enhancement on surface-based scenesDetails enhancement on surface-based scenes Procedural amplificationProcedural amplification
AdvantagesAdvantages Compact representation for very small detailsCompact representation for very small details
Memory and rendering efficiencyMemory and rendering efficiency Easy filtering and LODEasy filtering and LOD
3D Mip-Mapping3D Mip-Mapping A lot of tricky effects becomes easyA lot of tricky effects becomes easy
Depth Of Field, volumetric light effectsDepth Of Field, volumetric light effects
![Page 4: Real-time visualization of large detailed volumes on GPU](https://reader036.vdocument.in/reader036/viewer/2022062410/56816059550346895dcf8530/html5/thumbnails/4.jpg)
44
Pictures and videosPictures and videos
![Page 5: Real-time visualization of large detailed volumes on GPU](https://reader036.vdocument.in/reader036/viewer/2022062410/56816059550346895dcf8530/html5/thumbnails/5.jpg)
55
Data structureData structureHybrid data structureHybrid data structure
NN33-tree : Generalized Octree-tree : Generalized Octree Allow multi-scale subdivision depending on data densitiesAllow multi-scale subdivision depending on data densities
Limit tree depth for rendering performancesLimit tree depth for rendering performances Acceleration structure Acceleration structure
Empty space skippingEmpty space skipping Dense, empty and detailed zones encodingDense, empty and detailed zones encoding
Small voxel grids in leafsSmall voxel grids in leafs Rendering performances Rendering performances
Allow hardware filtering (Tri/Quadri-linear)Allow hardware filtering (Tri/Quadri-linear)Mip-MappingMip-Mapping
Memory efficiencyMemory efficiencyImprove storage cost/structure cost efficiencyImprove storage cost/structure cost efficiencyLocal density hypothesis in complex zonesLocal density hypothesis in complex zones
Data generation and transfer efficiencyData generation and transfer efficiencyRegular blocs generation/loadingRegular blocs generation/loadingBloc transfers to the GPUBloc transfers to the GPU
![Page 6: Real-time visualization of large detailed volumes on GPU](https://reader036.vdocument.in/reader036/viewer/2022062410/56816059550346895dcf8530/html5/thumbnails/6.jpg)
66
RenderingRenderingScreen space volume ray-castingScreen space volume ray-casting
Direct NDirect N33-tree traversal on GPU-tree traversal on GPU Close to GPU Kd-tree traversal for triangle Close to GPU Kd-tree traversal for triangle ray-tracing [EVG04,FS05,HSHH07]ray-tracing [EVG04,FS05,HSHH07]
Kd-Restart is the most efficient on current Kd-Restart is the most efficient on current architectures (G80/G92/GT200)architectures (G80/G92/GT200)
Regular bricks rendering in leafsRegular bricks rendering in leafsVolumetric ray-casting [KW03, Sch05]Volumetric ray-casting [KW03, Sch05]
Hardware filteringHardware filtering Mip-MappingMip-Mapping
Adaptive samplingAdaptive sampling Distance dependantDistance dependant
AdvantagesAdvantagesGood scaling on huge volumesGood scaling on huge volumes
Low dependency on data volume, low overdraw, Low dependency on data volume, low overdraw, few geometrical manipulationfew geometrical manipulation
Early rays terminationEarly rays termination
LightingLighting Classical Blinn-Phong per ray sampleClassical Blinn-Phong per ray sample
On the fly computed or stored gradient dataOn the fly computed or stored gradient data Shadow mapsShadow maps
![Page 7: Real-time visualization of large detailed volumes on GPU](https://reader036.vdocument.in/reader036/viewer/2022062410/56816059550346895dcf8530/html5/thumbnails/7.jpg)
77
Out-of-core data streaming (1)Out-of-core data streaming (1)Produce / Store on GPU only data needed for the current Produce / Store on GPU only data needed for the current point of viewpoint of view
Tree update and bricks loading in real time during explorationTree update and bricks loading in real time during exploration
GPU Cache mechanismGPU Cache mechanism Pools of chunksPools of chunks
Implemented in texture memoryImplemented in texture memory Sub-Texture update operationsSub-Texture update operations
Manually managed LRU mechanismManually managed LRU mechanism Time stamps updated during renderingTime stamps updated during rendering
Via visibility mechanismVia visibility mechanism
Tree storage: Nodes-PoolTree storage: Nodes-PoolClassical pointer-based structureClassical pointer-based structureSmall size 3D textureSmall size 3D texture
Bricks storage: Bricks-PoolBricks storage: Bricks-PoolVery large 3D texture Very large 3D texture
Usually the whole remaining GPU memoryUsually the whole remaining GPU memory
![Page 8: Real-time visualization of large detailed volumes on GPU](https://reader036.vdocument.in/reader036/viewer/2022062410/56816059550346895dcf8530/html5/thumbnails/8.jpg)
88
Out-of-core data streaming (2)Out-of-core data streaming (2)Visibility based loading and LODVisibility based loading and LOD
Loaded tree branches subdivision/mergingLoaded tree branches subdivision/merging Depending on brick distance to the viewDepending on brick distance to the view
A voxel project to one pixel constraintA voxel project to one pixel constraint Nodes visibility detectionNodes visibility detection
Per ray needed nodes information provided by renderingPer ray needed nodes information provided by rendering Screen space Nodes ID buffersScreen space Nodes ID buffers
Fast stream compaction operationFast stream compaction operation Reduced Nodes ID buffer read back to CPUReduced Nodes ID buffer read back to CPU
Progressive loadingProgressive loading Upper nodes used while waiting for new dataUpper nodes used while waiting for new data Bricks kept in parents nodesBricks kept in parents nodes
Min of 3 levels kept for mip-mapping implementationMin of 3 levels kept for mip-mapping implementation
![Page 9: Real-time visualization of large detailed volumes on GPU](https://reader036.vdocument.in/reader036/viewer/2022062410/56816059550346895dcf8530/html5/thumbnails/9.jpg)
99
ResultsResults
Scenes Scenes LizardLizard
2048^3 SP FLOAT, 32GB2048^3 SP FLOAT, 32GB Visible ManVisible Man
2048^3 RGBA8, 32GB2048^3 RGBA8, 32GB Bones fieldBones field
8192^3 ALPHA8, 512GB (1GB on disk)8192^3 ALPHA8, 512GB (1GB on disk) Sierpinski spongeSierpinski sponge
8.4M^3 ALPHA88.4M^3 ALPHA8 CloudsClouds
512^3 SP FLOAT512^3 SP FLOATHyper-texture usageHyper-texture usage
![Page 10: Real-time visualization of large detailed volumes on GPU](https://reader036.vdocument.in/reader036/viewer/2022062410/56816059550346895dcf8530/html5/thumbnails/10.jpg)
1100
Visible ManVisible Man 2048^3 RGBA8, 32GB, 20FPS@512^22048^3 RGBA8, 32GB, 20FPS@512^2
![Page 11: Real-time visualization of large detailed volumes on GPU](https://reader036.vdocument.in/reader036/viewer/2022062410/56816059550346895dcf8530/html5/thumbnails/11.jpg)
1111
LizardLizard 2048^3 SP FLOAT, 32GB, 15FPS@512^22048^3 SP FLOAT, 32GB, 15FPS@512^2
![Page 12: Real-time visualization of large detailed volumes on GPU](https://reader036.vdocument.in/reader036/viewer/2022062410/56816059550346895dcf8530/html5/thumbnails/12.jpg)
1122
Sierpinski spongeSierpinski sponge8.4M^3 ALPHA8 procedural, 80FPS@512^38.4M^3 ALPHA8 procedural, 80FPS@512^3
![Page 13: Real-time visualization of large detailed volumes on GPU](https://reader036.vdocument.in/reader036/viewer/2022062410/56816059550346895dcf8530/html5/thumbnails/13.jpg)
1133
Bones FieldBones Field8192^3 ALPHA8, 512GB (1GB on disk)8192^3 ALPHA8, 512GB (1GB on disk)
![Page 14: Real-time visualization of large detailed volumes on GPU](https://reader036.vdocument.in/reader036/viewer/2022062410/56816059550346895dcf8530/html5/thumbnails/14.jpg)
1144
CloudsClouds 512^3 SP FLOAT512^3 SP FLOAT
![Page 15: Real-time visualization of large detailed volumes on GPU](https://reader036.vdocument.in/reader036/viewer/2022062410/56816059550346895dcf8530/html5/thumbnails/15.jpg)
1155
G80 Reverse EngineeringG80 Reverse EngineeringResultsResults
DzdzDzdz
See online:See online: http://www.icare3d.org/GPU/CN08http://www.icare3d.org/GPU/CN08