realtime 3d visualization without gpu

16
© Tobias Goetz, Fraunhofer ITWM 1 3D VIZ WITHOUT THE GPU The PV-4D Render Engine

Upload: tobias-g

Post on 15-Apr-2017

478 views

Category:

Technology


3 download

TRANSCRIPT

© Tobias Goetz, Fraunhofer ITWM1

3D VIZ WITHOUT THE GPUThe PV-4D Render Engine

© Tobias Goetz, Fraunhofer ITWM2

Content

1. Introduction

2. Features

3. Examples

4. Technology

5. Target Applications & Competition

6. Implementation: XtreemView

© Tobias Goetz, Fraunhofer ITWM3

Introduction

PV-4D is

a parallel 3D render engine, i.e. software/code to generate images from three (or more) dimensional datasets.

completely CPU based, i.e. does not require graphic hardware

capable of rendering huge datasets

scalable, i.e. adjust the hardware to the problem not vice versa.

able to deliver photorealistic renderings as well as game/animation style images

easy and intuitive to implement in a software solution

© Tobias Goetz, Fraunhofer ITWM4

Introduction

PV-4D directly supports three different kind of data types:

1. Volumetric Data (e.g. seismic data, MRI/CT datasets, 3D X-Rays, …)

2. Triangulated Objects (e.g. CAD/CAM, Games, Architecture, Film, …)

3. Polygon Objects (i.e. hexahedrons / tetrahedrons, e.g. reservoir simulations)

Besides those datasets, PV-4D has an interface for regular OpenGL programming, thus users can add custom objects easily into and/or on top of a 3D scene

© Tobias Goetz, Fraunhofer ITWM5

Features

High quality display of full real amplitude values (32bit float) in HD quality.

Easy and gradual blending between two volumetric datasets.

Volume rendering on entire datasets. Transparency set by alpha value for the color, associated to certain values.

Real-time support for full quality zoom, pan, and rotate, as well as scaling and translating individual objects within the scene

Perspective and parallel projection for easy orientation and fast, distortion free browsing through large datasets.

Easy cross-section displays and slicing of x, y and z planes.

Easy advanced slicing along I, j, k hexa-planes with range selection in real-time using rebuilt multi bounding volume hierarchy.

Instant read-out of cursor position and amplitude value(s) at any given position.

© Tobias Goetz, Fraunhofer ITWM6

Features

PV-4D directly supports triangles, voxels, hexahedrons; all other objects indirectly with OpenGL

Full scene graph for easy management of multiple objects

OpenGL can co-exist in both directions using depth buffer management:

PV-4D OpenGL

OpenGL PV-4D

Available 32bit z-Buffer for integration of user objects with OpenGL/Mesa

On single node systems, OpenGL can be used directly on the GPU, on multi-node systems, Mesa3D is used. Engine switches automatically

Engine comes with documentation as well as example code snippets to illustrate how it is used.

© Tobias Goetz, Fraunhofer ITWM7

Features

State-of-the-art geometry handling (compiler, traversal, intersection)

Full HDR pipeline

Scene lighting using HDR environment maps (individual light sources under development)

High-Quality texture filtering

High-Quality anti-aliasing

C/C++ library (Intel compiler required to link because of specific intrinsics)

Builds under Linux, Windows and Mac (parallel version only for Linux)

© Tobias Goetz, Fraunhofer ITWM8

Examples

High-Quality CAD Visualization

~ 25 million triangles

Resolution: 2800 × 1050

Full ray differentials

HQ texture and normalmap filtering

Un-compressed textures (up to 4k x 4k)

16x anti-aliasing

Mitchell-Netravali-Filter reconstruction

Fully interactive framerate

© Tobias Goetz, Fraunhofer ITWM9

Examples

Dynamic Fairy With Shadows

~ 170,000 triangles (< 5 ms rebuild)

Keyfreame animation with 100k triangles

Resolution: 2800 × 1050

Full ray differentials

HQ texture and normalmap filtering

Un-compressed textures (up to 2 k × 2 k)

8 × anti-aliasing

Cone-filter reconstruction

> 60 fps on average

© Tobias Goetz, Fraunhofer ITWM10

Examples

Triangulated CAD Model

~ 350 million triangles

Resolution: 2800 × 1050

Triangles distorted/displaced on purpose by model provider

No textures, but up to uncompressed 4k x 4k possible

Fully interactive framerate on a single workstation

© Tobias Goetz, Fraunhofer ITWM11

Examples

Interactive Volume Rendering

2x 57GB seismic dataset

First rendered using volume rendering, focusing on interesting layers with high amplitude values

Second rendered as regular volume and cut back to reveal transparent one

Resolution: 1900 x 1050

Full 32bit float value used

Fully interactive framerate on a dual workstation setting

© Tobias Goetz, Fraunhofer ITWM12

Technology

Realtime CPU-based parallel Raytracing, i.e.

no special graphics hardware required, and

no bandwidth bottleneck between main memory and GPU memory.

Keep all data in memory: instant access at all times

Parallel and scalable: match hardware to problem!

Parallel handling of data: double the hardware, double the speed

Main Memory, RAM (256GB)

CPU

File System

Graphic Card4 – 8 GB

~100 GB/s

~8 GB/s

Main Memory, RAM (256GB)

CPU

Main Memory, RAM (256GB)

CPU

Main Memory, RAM (256GB)

CPU

Main Memory, RAM (256GB)

CPU

Main Memory, RAM (256GB)

CPU

Main Memory, RAM (256GB)

CPU

Main Memory, RAM (256GB)

CPU

Main Memory, RAM (256GB)

CPU

Parallel File System

~100 GB/s each

Classic approach: Data runs through GPU for visualization and needs to go through 8GB/s bottleneck.

PV-4D approach: Omit GPU and do all visualization on CPU and in parallel.

© Tobias Goetz, Fraunhofer ITWM13

Technology: GPI2

Partitioned Global Address Space (PGAS) solution by Fraunhofer ITWM

Allows to create large block of memory over many compute nodes with direct read and write access for all nodes asynchronous communication

Uses Ethernet (10GB / 40GB) or Infiniband Interconnects

Allows fastest image composition even with large number of compute nodes (the more nodes are calculating an image, the harder the compositing step)

© Tobias Goetz, Fraunhofer ITWM14

Technology

Several patented algorithms for under-the-hood tasks

Fast algorithms for bounding volume hierarchy (BVH) traversing

Hybrid acceleration structures with dual multi BVH

State of the art quad / hexahedron intersection detection

Realtime primitive compilers

Fastest software based image compositing over many nodes

© Tobias Goetz, Fraunhofer ITWM15

Anyone who needs fast, large scale data

visualization

Oil & Gas

Communication

Processing & Interpretation

Interpretation Departments

Processing DepartmentsAutomotive

Design Stage

Virtual Showroom

Medical X-Ray, CRT, MRI

Filming/Gaming

Animated Movies

Fast CGI

Architecture

Life walk-through

Photorealistic

Possible Application Fields

© Tobias Goetz, Fraunhofer ITWM16

QUESTIONS?

Tobias GoetzNorth-America Representative

Fraunhofer Institute for Industrial Mathematics (ITWM)Competence-Center High-Performance Computing

San Francisco, CA 94103

cell: +1 (510) 908-0867 mail: [email protected]