ray casting of multiple volumetric datasets with polyhedral boundaries on manycore gpus
DESCRIPTION
Ray Casting of Multiple Volumetric Datasets with Polyhedral Boundaries on Manycore GPUs. Park, Soonchan KAIST (Korea Advanced Institute of Science and Technology). Contents. Translucent object rendering In Volumetric data rendering In Polyhedral object rendering - PowerPoint PPT PresentationTRANSCRIPT
Ray Casting of Multiple Volumetric Datasets with Polyhedral Boundaries
on Manycore GPUs
Park, Soonchan
KAIST (Korea Advanced Institute of Science and Technology)
2
Contents
● Translucent object rendering● In Volumetric data rendering● In Polyhedral object rendering
● Motivation & Goal of this paper● System Overview ( Pipeline )
● Triangle rasterization● Depth sorting● Ray casting of homogeneous segments● Empty space skipping
● Results● Performance● Workload distribution● Memory consumption
3
Contents● Translucent object rendering
● In Volumetric data rendering● In Polyhedral object rendering
● Motivation & Goal of this paper● System Overview ( Pipeline )
● Triangle rasterization● Depth sorting● Ray casting of homogeneous segments● Empty space skipping
● Results● Performance● Workload distribution● Memory consumption
4
How to Render Translucent Object
● Rendering is totally different between data type● Volumetric data ● Polyhedral object data
● Brief explanation will follow ● Volume Rendering● Polyhedral object Rendering
5
Volume Data Set Examples
6
Volume Rendering by Ray Casting Method
Accumulated color of blue voxels = Color of pixel on view plane
7
How to Render Translucency Object
● Opacity transfer function● Example of gray value
● Bone : over 1300● Brain : 550~850● Skin : 400~700
8
Geometry data case
● Back-to-Front order● Sort all geometry by z-value from camera● Render them from far to near
● Depth peeling
9
Depth Peeling
10
Contents
● Translucent object rendering● In Volumetric data rendering● In Polyhedral object rendering
● Motivation & Goal of this paper● System Overview ( Pipeline )
● Triangle rasterization● Depth sorting● Ray casting of homogeneous segments● Empty space skipping
● Results● Performance● Workload distribution● Memory consumption
11
Motivation of this paper
● It is needed● Multiple Volume Rendering● Rendering result of Volumetric data AND
Polyhedral objects together● CSG Operations● Real time solution
Customized Rendering Pipeline
12
Goals
● Implement Rendering method ● for
● Many volumes● Arbitrary polyhedral geometry● CSG operations(AND, OR, …) between them
● By CUDA● Implement Pipeline● Control Memory management● Fully parallelized
● In●Real-time
13
ISSUES
● How to Integrate two different method● How to Improve performance
● Parallelize computation ● Controlling Threads with scheduler (RR)● use GPU
● Other optimization method
14
Contents
● Translucent object rendering● In Volumetric data rendering● In Polyhedral object rendering
● Motivation & Goal of this paper● System Overview ( Pipeline )
● Triangle rasterization● Depth sorting● Ray casting of homogeneous segments● Empty space skipping
● Results● Performance● Workload distribution● Memory consumption
15
Pipeline
16
System Overview
1. Triangle Rasterization2. Depth Sorting3. Ray casting of homogeneous
segments4. Empty space skipping
17
1. Triangle Rasterization
18
1. Triangle Rasterization
● Parallel Computation● Rasterize triangle to screen
● Make coverage masks● 1 or 0 (bit expression)
● Each fragment unit(tile) hasinformation for triangles projected on them
● Consider line slope and expresseach row as bit shifting
Four Times faster than straightforward per-pixel computation
19
2. Depth Sorting
20
● For integrate with Ray casting method
2. Depth Sorting
16bits
16bits
Z-value
Triangle id
Array
21
3. Ray casting of Homogeneous Segments &4. Empty Space Skipping
22
● Pixel thread iterates through the sorted triangle array
● Homogeneous Segments● Interval between two consecutive entries● We know currently intersected scene
objects●CSG(boolean) operation can be applied
3. Ray casting of Homogeneous Segments
23
3. Ray casting of Homogeneous Segments
● Only polyhedral objects loop can be simplified● No need to process whole ray casting step
Performance improvements of up to 10%
24
4. Empty Space Skipping
● Processing rays in empty space is waste!
● Calculating bounding geometries● By using lower resolution mask volume
● Original Volume Uniform bricks ● Test underlying dataset voxel
Tight fitting bounding geometry improves frame rate by up to 15%
25
Contents● Translucent object rendering
● In Volumetric data rendering● In Polyhedral object rendering
● Motivation & Goal of this paper● System Overview ( Pipeline )
● Triangle rasterization● Depth sorting● Ray casting of homogeneous segments● Empty space skipping
● Results● Performance● Workload distribution● Memory consumption
26
Results
● Performance Comparison
27
Results
● Workload distribution
28
Results
Heavy GEOMETRY data load Heavy VOLUME data load
29
Memory Consumption
● Volume Texture ( 5283 )● About 562 MB of global memory
●Pre-computed gradient x4● Triangle Records
● About 6MB●Complex scene increase
30
Conclusion
● Good Performance● by recent improvements in multicore GPU● Customized Pipeline● Render in real-time
● Broad range of applications● Multiple volumes● Volume data + Geometry data● CSG operation