GPU-Based Volume Rendering of. Unstructured Grids. João L. D. Comba. Fábio F. Bernardon UFRGS

Similar documents
Advanced Computer Graphics (CS & SE ) Lecture 7

Real - Time Rendering. Graphics pipeline. Michal Červeňanský Juraj Starinský

Graphics Processing Unit Architecture (GPU Arch)

X. GPU Programming. Jacobs University Visualization and Computer Graphics Lab : Advanced Graphics - Chapter X 1

Programming Graphics Hardware

Graphics Hardware. Graphics Processing Unit (GPU) is a Subsidiary hardware. With massively multi-threaded many-core. Dedicated to 2D and 3D graphics

GPU Architecture and Function. Michael Foster and Ian Frasch

GPU-based Tiled Ray Casting using Depth Peeling

Architectures. Michael Doggett Department of Computer Science Lund University 2009 Tomas Akenine-Möller and Michael Doggett 1

3D Computer Games Technology and History. Markus Hadwiger VRVis Research Center

Graphics and Imaging Architectures

Spring 2011 Prof. Hyesoon Kim

GPU Architecture. Michael Doggett Department of Computer Science Lund university

2.11 Particle Systems

Monday Morning. Graphics Hardware

Spring 2009 Prof. Hyesoon Kim

Graphics Hardware. Instructor Stephen J. Guy

CS GPU and GPGPU Programming Lecture 2: Introduction; GPU Architecture 1. Markus Hadwiger, KAUST

GPU Computation Strategies & Tricks. Ian Buck NVIDIA

Direct Rendering of Trimmed NURBS Surfaces

CS427 Multicore Architecture and Parallel Computing

What Next? Kevin Walsh CS 3410, Spring 2010 Computer Science Cornell University. * slides thanks to Kavita Bala & many others

1. Introduction. Introduction to Computer Graphics

Dynamic Seismic Displays

Progressive Volume Rendering of Large Unstructured Grids

CSE 591: GPU Programming. Introduction. Entertainment Graphics: Virtual Realism for the Masses. Computer games need to have: Klaus Mueller

Author: Steven Lynch 1

3D Graphics Then and Now: From the CPU to the GPU

From Brook to CUDA. GPU Technology Conference

Computer Graphics. Hardware Pipeline. Visual Imaging in the Electronic Age Prof. Donald P. Greenberg October 23, 2014 Lecture 16

CS 5630/6630 Scientific Visualization. Volume Rendering III: Unstructured Grid Techniques

Threading Hardware in G80

Graphics Hardware. Ulf Assarsson. Graphics hardware why? Recall the following. Perspective-correct texturing

Tutorial on GPU Programming #2. Joong-Youn Lee Supercomputing Center, KISTI

Interactive Volume Rendering of Unstructured Grids with Time-Varying Scalar Fields

Evolution of GPUs Chris Seitz

THE K-BUFFER AND ITS APPLICATIONS TO VOLUME RENDERING

Prof. Hakim Weatherspoon CS 3410, Spring 2015 Computer Science Cornell University

Introduction. Chapter What Is Cg?

Rendering Objects. Need to transform all geometry then

An Adaptive Framework for Visualizing Unstructured Grids with Time-Varying Scalar Fields

Hardware Accelerated Volume Visualization. Leonid I. Dimitrov & Milos Sramek GMI Austrian Academy of Sciences

Antonio R. Miele Marco D. Santambrogio

Windowing System on a 3D Pipeline. February 2005

Introduction to Shaders.

Advanced Rendering Techniques

Introduction to Modern GPU Hardware

Real Time Rendering of Expensive Small Environments Colin Branch Stetson University

Real-Time Rendering (Echtzeitgraphik) Michael Wimmer

The Rasterization Pipeline

Scanline Rendering 2 1/42

Introduction to CUDA

NVIDIA nfinitefx Engine: Programmable Pixel Shaders

CS230 : Computer Graphics Lecture 4. Tamar Shinar Computer Science & Engineering UC Riverside

CSE 591/392: GPU Programming. Introduction. Klaus Mueller. Computer Science Department Stony Brook University

GPU Memory Model Overview

Rendering. Converting a 3D scene to a 2D image. Camera. Light. Rendering. View Plane

Ray Casting on Programmable Graphics Hardware. Martin Kraus PURPL group, Purdue University

Rasterization Overview

Graphics Performance Optimisation. John Spitzer Director of European Developer Technology

The Need for Programmability

CMPE 665:Multiple Processor Systems CUDA-AWARE MPI VIGNESH GOVINDARAJULU KOTHANDAPANI RANJITH MURUGESAN

GPGPU, 1st Meeting Mordechai Butrashvily, CEO GASS

Real-Time Isosurface Extraction Using the GPU Programmable Geometry Pipeline

Mattan Erez. The University of Texas at Austin

1.2.3 The Graphics Hardware Pipeline

CS8803SC Software and Hardware Cooperative Computing GPGPU. Prof. Hyesoon Kim School of Computer Science Georgia Institute of Technology

3D Graphics and OpenGl. First Steps

Accelerator cards are typically PCIx cards that supplement a host processor, which they require to operate Today, the most common accelerators include

A SIMD-efficient 14 Instruction Shader Program for High-Throughput Microtriangle Rasterization

High-Quality Surface Splatting on Today s GPUs

Graphics Architectures and OpenCL. Michael Doggett Department of Computer Science Lund university

CS 179: GPU Programming

Lecture 2. Shaders, GLSL and GPGPU

Introduction to Multicore architecture. Tao Zhang Oct. 21, 2010

Image-Space Acceleration for Direct Volume Rendering of Unstructured Grids using Joint Bilateral Upsampling

GPU-AWARE HYBRID TERRAIN RENDERING

20 Years of OpenGL. Kurt Akeley. Copyright Khronos Group, Page 1

Computer Graphics. Hardware Pipeline. Visual Imaging in the Electronic Age Prof. Donald P. Greenberg October 13, 2016 Lecture 15

PowerVR Hardware. Architecture Overview for Developers

Mattan Erez. The University of Texas at Austin

Models and Architectures

CS GPU and GPGPU Programming Lecture 8+9: GPU Architecture 7+8. Markus Hadwiger, KAUST

Automatic Tuning Matrix Multiplication Performance on Graphics Hardware

GeForce4. John Montrym Henry Moreton

GRAPHICS HARDWARE. Niels Joubert, 4th August 2010, CS147

Getting fancy with texture mapping (Part 2) CS559 Spring Apr 2017

GPU Basics. Introduction to GPU. S. Sundar and M. Panchatcharam. GPU Basics. S. Sundar & M. Panchatcharam. Super Computing GPU.

Rendering Grass with Instancing in DirectX* 10

Cg 2.0. Mark Kilgard

CS451Real-time Rendering Pipeline

Cloth Simulation on the GPU. Cyril Zeller NVIDIA Corporation

Volume Graphics Introduction

A Trip Down The (2011) Rasterization Pipeline

The Rasterization Pipeline

and Parallel Algorithms Programming with CUDA, WS09 Waqar Saleem, Jens Müller

Efficient and Scalable Shading for Many Lights

Ray Casting of Trimmed NURBS Surfaces on the GPU

The Traditional Graphics Pipeline

Programmable GPUS. Last Time? Reading for Today. Homework 4. Planar Shadows Projective Texture Shadows Shadow Maps Shadow Volumes

Transcription:

GPU-Based Volume Rendering of João L. D. Comba Cláudio T. Silva Steven P. Callahan Unstructured Grids UFRGS University of Utah University of Utah Fábio F. Bernardon UFRGS Natal - RN - Brazil XVIII Brazilian Symposium on Computer Graphics and Image Processing

GPU-Based Volume Rendering of Unstructured Grids Module 1: Graphics Hardware (GPUs) Module 2: Projected Tetrahedra Techniques Module 3: Isosurface Techniques break Module 4: Hw Assisted Visibility Sorting (HAVS) Module 5: HW Ray-Casting Module 6: Conclusion

GPU-Based Volume Rendering of Module 1: Graphics Hardware Unstructured Grids João L. D. Comba UFRGS Natal - RN - Brazil XVIII Brazilian Symposium on Computer Graphics and Image Processing

Pre-GPU Graphics Acceleration Integrated Graphics Architecture Silicon Graphics Evans & Sutherland

Graphics Pipeline and ization

Graphics Pipeline glbegin(gl_triangles); gl3f(0.0,0.0,0.0); gl3f(1.0,0.0,0.0); gl3f(0.5,1.0,0.0);... glend(); and ization

Graphics Pipeline 1 2 4 3 and ization

Graphics Pipeline 1 4 1 3 1 2 3 2 3 and ization 4

Graphics Pipeline 1 2 3 4 1 3 and ization

4 2 3 1 3 1 and ization Graphics Pipeline

Graphics Pipeline 3 1 3 4 and ization 2 1

Graphics Pipeline 1 3 4 and ization 3 2 1

Graphics Pipeline 1 2 4 1 3 4 and ization 3

Graphics Pipeline 1 2 1 3 4 and ization 3

Graphics Pipeline 3 4 and ization 1

Graphics Pipeline 4 and ization 3 1

Graphics Pipeline and ization 4 3 1

Graphics Pipeline and ization

Graphics Pipeline and ization

Graphics Pipeline and ization

Graphics Pipeline and ization

First-Generation GPUS (up to 1998) NVIDIA TNT2, ATI Rage, 3dfx Voodoo3 Relevant tasks: izing pretransformed triangles Applying one or two textures Implement DirectX 6 feature set NVIDIA TNT2 VOODOO 3

GPUs and ization

Second-Generation GPUS (1999-2000) NVIDIA GeForce 256, GeForce2, ATI Radeon 7500, S3 Savage 3D Relevant tasks: & Lighting (T&L) em Hardware Implement DirectX 7 feature set Cube map textures More math operations for combining textures (still limited) GeForce2 GTS ATI Radeon 7500 AIW

GPUs and ization

Third-Generation GPUS (2001) NVIDIA GeForce 3, GeForce4 Ti, Microsoft XBox, ATI Radeon 8500, Quadro 4 Relevant tasks: programmability rather than more configurability More pixel-level (fragment) configurability (not truly programmable) 3D Textures Shadow Maps QUADRO 4 XGL 900 ATI Radeon 8500

GPUs and ization Programmable Processor

Fourth-Generation GPUS (2002-2003) NVIDIA GeForce FX family, ATI 9700, ATI 9800 Relevant tasks: and Fragment programmability Implement DirectX 9 feature set 32 Bit IEEE Floating Point per component (128-bit textures) ATI Radeon 9800 Intel Pentium 4 2.4 Ghz = 55 million transistors NVIDIA GeForce FX 5800 = 125 million transistor 2.27 NVIDIA GeForceFX 5800

GPUs and ization Programmable Processor Programmable Fragment Processor

Fifth Generation (04-05) NVIDIA 6800 16 pipes fragment shader NVIDIA 7800: 24 pipes fragment shader ATI X1800 (released 4 days ago) What is has to offer: Memory access for vertex programs Branches in fragment program Longer fragment programs

GPUs and ization Programmable Processor Programmable Fragment Processor

Sixth Generation (2006) Unified Architecture: Same Instruction Set ( and Fragment Processors) Geometry Processor: Ability to program how vertices can be combined to form new primitives Ability to create vertices Generalized Output Buffers More?

What the GPU offers? Streaming processors Vector operations: 4-component instructions with 32-bit IEEE floating point operations GPU Memory Accesses through Textures: 1-,2-,3-D tables no read-write textures Multiple Render Targets Limited branching/loops

What we will see today Summary of solutions for Volume Rendering problems using GPUs Span different architectures Open exciting perspectives for other interesting problems: Dynamic or Time-Varying Problems