30
Ray Casting of Multiple Volumetric Datasets with Polyhedral Boundaries on Manycore GPUs Park, Soonchan KAIST (Korea Advanced Institute of Science and Technology)

Ray Casting of Multiple Volumetric Datasets with Polyhedral Boundaries on Manycore GPUs

Embed Size (px)

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 Presentation

Citation preview

Page 1: Ray Casting of Multiple Volumetric Datasets with Polyhedral Boundaries on Manycore GPUs

Ray Casting of Multiple Volumetric Datasets with Polyhedral Boundaries

on Manycore GPUs

Park, Soonchan

KAIST (Korea Advanced Institute of Science and Technology)

Page 2: Ray Casting of Multiple Volumetric Datasets with Polyhedral Boundaries on Manycore GPUs

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

Page 3: Ray Casting of Multiple Volumetric Datasets with Polyhedral Boundaries on Manycore GPUs

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

Page 4: Ray Casting of Multiple Volumetric Datasets with Polyhedral Boundaries on Manycore GPUs

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

Page 5: Ray Casting of Multiple Volumetric Datasets with Polyhedral Boundaries on Manycore GPUs

5

Volume Data Set Examples

Page 6: Ray Casting of Multiple Volumetric Datasets with Polyhedral Boundaries on Manycore GPUs

6

Volume Rendering by Ray Casting Method

Accumulated color of blue voxels = Color of pixel on view plane

Page 7: Ray Casting of Multiple Volumetric Datasets with Polyhedral Boundaries on Manycore GPUs

7

How to Render Translucency Object

● Opacity transfer function● Example of gray value

● Bone : over 1300● Brain : 550~850● Skin : 400~700

Page 8: Ray Casting of Multiple Volumetric Datasets with Polyhedral Boundaries on Manycore GPUs

8

Geometry data case

● Back-to-Front order● Sort all geometry by z-value from camera● Render them from far to near

● Depth peeling

Page 9: Ray Casting of Multiple Volumetric Datasets with Polyhedral Boundaries on Manycore GPUs

9

Depth Peeling

Page 10: Ray Casting of Multiple Volumetric Datasets with Polyhedral Boundaries on Manycore GPUs

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

Page 11: Ray Casting of Multiple Volumetric Datasets with Polyhedral Boundaries on Manycore GPUs

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

Page 12: Ray Casting of Multiple Volumetric Datasets with Polyhedral Boundaries on Manycore GPUs

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

Page 13: Ray Casting of Multiple Volumetric Datasets with Polyhedral Boundaries on Manycore GPUs

13

ISSUES

● How to Integrate two different method● How to Improve performance

● Parallelize computation ● Controlling Threads with scheduler (RR)● use GPU

● Other optimization method

Page 14: Ray Casting of Multiple Volumetric Datasets with Polyhedral Boundaries on Manycore GPUs

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

Page 15: Ray Casting of Multiple Volumetric Datasets with Polyhedral Boundaries on Manycore GPUs

15

Pipeline

Page 16: Ray Casting of Multiple Volumetric Datasets with Polyhedral Boundaries on Manycore GPUs

16

System Overview

1. Triangle Rasterization2. Depth Sorting3. Ray casting of homogeneous

segments4. Empty space skipping

Page 17: Ray Casting of Multiple Volumetric Datasets with Polyhedral Boundaries on Manycore GPUs

17

1. Triangle Rasterization

Page 18: Ray Casting of Multiple Volumetric Datasets with Polyhedral Boundaries on Manycore GPUs

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

Page 19: Ray Casting of Multiple Volumetric Datasets with Polyhedral Boundaries on Manycore GPUs

19

2. Depth Sorting

Page 20: Ray Casting of Multiple Volumetric Datasets with Polyhedral Boundaries on Manycore GPUs

20

● For integrate with Ray casting method

2. Depth Sorting

16bits

16bits

Z-value

Triangle id

Array

Page 21: Ray Casting of Multiple Volumetric Datasets with Polyhedral Boundaries on Manycore GPUs

21

3. Ray casting of Homogeneous Segments &4. Empty Space Skipping

Page 22: Ray Casting of Multiple Volumetric Datasets with Polyhedral Boundaries on Manycore GPUs

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

Page 23: Ray Casting of Multiple Volumetric Datasets with Polyhedral Boundaries on Manycore GPUs

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%

Page 24: Ray Casting of Multiple Volumetric Datasets with Polyhedral Boundaries on Manycore GPUs

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%

Page 25: Ray Casting of Multiple Volumetric Datasets with Polyhedral Boundaries on Manycore GPUs

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

Page 26: Ray Casting of Multiple Volumetric Datasets with Polyhedral Boundaries on Manycore GPUs

26

Results

● Performance Comparison

Page 27: Ray Casting of Multiple Volumetric Datasets with Polyhedral Boundaries on Manycore GPUs

27

Results

● Workload distribution

Page 28: Ray Casting of Multiple Volumetric Datasets with Polyhedral Boundaries on Manycore GPUs

28

Results

Heavy GEOMETRY data load Heavy VOLUME data load

Page 29: Ray Casting of Multiple Volumetric Datasets with Polyhedral Boundaries on Manycore GPUs

29

Memory Consumption

● Volume Texture ( 5283 )● About 562 MB of global memory

●Pre-computed gradient x4● Triangle Records

● About 6MB●Complex scene increase

Page 30: Ray Casting of Multiple Volumetric Datasets with Polyhedral Boundaries on Manycore GPUs

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