Hardware-Assisted Visibility Sorting for Tetrahedral Volume Rendering Steven Callahan Milan Ikits João Comba Cláudio Silva Steven Callahan Milan Ikits.

Slides:



Advertisements
Similar presentations
COMPUTER GRAPHICS CS 482 – FALL 2014 NOVEMBER 10, 2014 GRAPHICS HARDWARE GRAPHICS PROCESSING UNITS PARALLELISM.
Advertisements

VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Pre-Integrated Splatting (Stefan Roettger)
Understanding the graphics pipeline Lecture 2 Original Slides by: Suresh Venkatasubramanian Updates by Joseph Kider.
Graphics Pipeline.
Direct Volume Rendering. What is volume rendering? Accumulate information along 1 dimension line through volume.
A Coherent Grid Traversal Algorithm for Volume Rendering Ioannis Makris Supervisors: Philipp Slusallek*, Céline Loscos *Computer Graphics Lab, Universität.
Fast Volumetric Display of Natural Gaseous Phenonema Stefan Roettger Thomas Ertl University of Erlangen.
REAL-TIME VOLUME GRAPHICS Christof Rezk Salama Computer Graphics and Multimedia Group, University of Siegen, Germany Eurographics 2006 Real-Time Volume.
CAP4730: Computational Structures in Computer Graphics Visible Surface Determination.
Hardware-Accelerated Adaptive EWA Volume Splatting Wei Chen ZJU Liu Ren CMU Matthias Zwicker MIT Hanspeter Pfister MERL.
Damon Rocco.  Tessellation: The filling of a plane with polygons such that there is no overlap or gap.  In computer graphics objects are rendered as.
Rasterization and Ray Tracing in Real-Time Applications (Games) Andrew Graff.
Chapter 6: Vertices to Fragments Part 2 E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley Mohan Sridharan Based on Slides.
Interactive Deformation and Visualization of Level-Set Surfaces Using Graphics Hardware Aaron Lefohn Joe Kniss Charles Hansen Ross Whitaker Aaron Lefohn.
Shadow Silhouette Maps Pradeep Sen, Mike Cammarano, Pat Hanrahan Stanford University.
Adapted from: CULLIDE: Interactive Collision Detection Between Complex Models in Large Environments using Graphics Hardware Naga K. Govindaraju, Stephane.
3D Graphics Processor Architecture Victor Moya. PhD Project Research on architecture improvements for future Graphic Processor Units (GPUs). Research.
Final Gathering on GPU Toshiya Hachisuka University of Tokyo Introduction Producing global illumination image without any noise.
IN4151 Introduction 3D graphics 1 Introduction to 3D computer graphics part 2 Viewing pipeline Multi-processor implementation GPU architecture GPU algorithms.
Accelerating Marching Cubes with Graphics Hardware Gunnar Johansson, Linköping University Hamish Carr, University College Dublin.
Sorting and cell compositing for irregular meshes Nelson Max, Peter Williams, Richard Cook, Claudio Silva.
Real-Time Stereo Matching on Programmable Graphics Hardware Liang Wei.
Smart Hardware- Accelerated Volume Rendering Stefan Roettger Stefan Guthe Daniel Weiskopf Wolfgang Strasser Thomas Ertl.
Volume Rendering using Graphics Hardware
Hidden Surface Removal
Afrigraph 2004 Massive model visualization Tutorial A: Part I Rasterization Based Approaches Andreas Dietrich Computer Graphics Group, Saarland University.
Erdem Alpay Ala Nawaiseh. Why Shadows? Real world has shadows More control of the game’s feel  dramatic effects  spooky effects Without shadows the.
VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Volume Graphics - Advanced Klaus Engel Volume.
Ray Tracing and Photon Mapping on GPUs Tim PurcellStanford / NVIDIA.
Technology and Historical Overview. Introduction to 3d Computer Graphics  3D computer graphics is the science, study, and method of projecting a mathematical.
Stefan Roettger University of Stuttgart A Two-Step Approach for Interactive Pre-Integrated Volume Rendering of Unstructured Grids VolVis '02 A Two-Step.
Interactive Volume Visualization of General Polyhedral Grids Philipp Muigg 1,3, Markus Hadwiger 2, Helmut Doleisch 3, M. Eduard Gröller 1 1, Vienna University.
REAL-TIME VOLUME GRAPHICS Markus Hadwiger VRVis Research Center, Vienna Eurographics 2006 Real-Time Volume Graphics [04] GPU-Based Ray-Casting.
Lecture 3 : Direct Volume Rendering Bong-Soo Sohn School of Computer Science and Engineering Chung-Ang University Acknowledgement : Han-Wei Shen Lecture.
Interactive Rendering of Meso-structure Surface Details using Semi-transparent 3D Textures Vision, Modeling, Visualization Erlangen, Germany November 16-18,
Chris Kerkhoff Matthew Sullivan 10/16/2009.  Shaders are simple programs that describe the traits of either a vertex or a pixel.  Shaders replace a.
Interactive Time-Dependent Tone Mapping Using Programmable Graphics Hardware Nolan GoodnightGreg HumphreysCliff WoolleyRui Wang University of Virginia.
Smart Hardware-Accelerated Volume Rendering Stefan Roettger Stefan Guthe Daniel Weiskopf.
Cg Programming Mapping Computational Concepts to GPUs.
CS 450: COMPUTER GRAPHICS REVIEW: INTRODUCTION TO COMPUTER GRAPHICS – PART 2 SPRING 2015 DR. MICHAEL J. REALE.
OpenGL Conclusions OpenGL Programming and Reference Guides, other sources CSCI 6360/4360.
Unstructured Volume Rendering Jian Huang, CS 594, Spring 2002 This set of slides reference slides developed by Prof. Torsten Moeller, SFU, Canada.
Tone Mapping on GPUs Cliff Woolley University of Virginia Slides courtesy Nolan Goodnight.
Computer Graphics 2 Lecture 7: Texture Mapping Benjamin Mora 1 University of Wales Swansea Pr. Min Chen Dr. Benjamin Mora.
Rendering Fake Soft Shadows with Smoothies Eric Chan Massachusetts Institute of Technology.
1Computer Graphics Implementation II Lecture 16 John Shearer Culture Lab – space 2
Implementation II Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico.
Computer Graphics II University of Illinois at Chicago Volume Rendering Presentation for Computer Graphics II Prof. Andy Johnson By Raj Vikram Singh.
Stencil Routed A-Buffer
- Laboratoire d'InfoRmatique en Image et Systèmes d'information
Advanced Computer Graphics Spring 2014 K. H. Ko School of Mechatronics Gwangju Institute of Science and Technology.
Based on paper by: Rahul Khardekar, Sara McMains Mechanical Engineering University of California, Berkeley ASME 2006 International Design Engineering Technical.
Motivation Properties of real data sets Surface like structures
Graphics Interface 2009 The-Kiet Lu Kok-Lim Low Jianmin Zheng 1.
Real-Time Relief Mapping on Arbitrary Polygonal Surfaces Fabio Policarpo Manuel M. Oliveira Joao L. D. Comba.
3/16/04James R. McGirr1 Interactive Rendering of Large Volume Data Sets Written By : Stefan Guthe Michael Wand Julius Gonser Wolfgang Straβer University.
Discontinuous Displacement Mapping for Volume Graphics, Volume Graphics 2006, July 30, Boston, MA Discontinuous Displacement Mapping for Volume Graphics.
Computer Graphics I, Fall 2010 Implementation II.
Ray Tracing using Programmable Graphics Hardware
Unstructured Volume Rendering. Grid Types uniformrectilinearregularcurvilinear Structured Grids: regularirregularhybridcurved Unstructured Grids:
Shadows David Luebke University of Virginia. Shadows An important visual cue, traditionally hard to do in real-time rendering Outline: –Notation –Planar.
Pre-Integrated Volume Rendering: Past, Present, Future
High-Quality Pre-Integrated Volume Rendering Using Hardware Accelerated Pixel Shading Klaus Engel, Martin Kraus, Thomas Ertl Visualization and Interactive.
Real-Time Relief Mapping on Arbitrary Polygonal Surfaces Fabio Policarpo Manuel M. Oliveira Joao L. D. Comba.
Image Fusion In Real-time, on a PC. Goals Interactive display of volume data in 3D –Allow more than one data set –Allow fusion of different modalities.
Siggraph 2009 RenderAnts: Interactive REYES Rendering on GPUs Kun Zhou Qiming Hou Zhong Ren Minmin Gong Xin Sun Baining Guo JAEHYUN CHO.
A novel approach to visualizing dark matter simulations
1 Real-Time High-Quality View-dependent Texture Mapping using Per-Pixel Visibility Damien Porquet Jean-Michel Dischler Djamchid Ghazanfarpour MSI Laboratory,
- Introduction - Graphics Pipeline
Volume Rendering Lecture 21.
Presentation transcript:

Hardware-Assisted Visibility Sorting for Tetrahedral Volume Rendering Steven Callahan Milan Ikits João Comba Cláudio Silva Steven Callahan Milan Ikits João Comba Cláudio Silva

Scientific Computing and Imaging Institute, University of Utah Overview Introduction Previous Work Hardware-Assisted Visibility Sorting Results Future Work Conclusion

Scientific Computing and Imaging Institute, University of Utah Research Goal Real-time volume rendering Scalable (machine performance) Data of arbitrary size Simple and robust implementations

Scientific Computing and Imaging Institute, University of Utah Volume Rendering Regular Irregular

Scientific Computing and Imaging Institute, University of Utah Why Irregular Grids ? Unstructured grids are the preferred data type in scientific computations Level-Of-Detail (LOD) techniques intrinsically need unstructured grids El-Sana et al, Ben-Gurion

Scientific Computing and Imaging Institute, University of Utah Optical Models Light s ss Absorption plus emission

Scientific Computing and Imaging Institute, University of Utah Compositing Front-to-back I0I0 I1I1 I2I2 00 11 22 I2I2 22  01 I 01

Scientific Computing and Imaging Institute, University of Utah Volume Rendering: (Intersection) Sampling + Sorting

Scientific Computing and Imaging Institute, University of Utah Sampling: Triangle-Based Approach Class 1 (+, +, +, -) Class 2 (+, +, -, -) Projected Tetrahedra [Shirley-Tuchman 1990]

Scientific Computing and Imaging Institute, University of Utah Sorting Application Rasterization Display Object-Space Sorting Image Space i.e., let’s sort the geometry!

Scientific Computing and Imaging Institute, University of Utah Cell-Projection B p A A < B p

Scientific Computing and Imaging Institute, University of Utah Object-Space Sorting: Williams’ MPVO Viewing direction A B C E D F B < A A < C B < E C < E C < D E < F D < F Idea: Define ordering relations by looking at shared faces.

Scientific Computing and Imaging Institute, University of Utah MPVO Limitations Missing relations!

Scientific Computing and Imaging Institute, University of Utah XMPVO Viewing direction Idea: Using ray shooting queries to complement ordering relations. A B C D A < C A < B B < D

Scientific Computing and Imaging Institute, University of Utah Sorting Application Rasterization Display Object Space Image-Space Sorting i.e., let’s sort the pixels!

Scientific Computing and Imaging Institute, University of Utah Image-Space Sorting: A-Buffer Idea: Keep a list of intersections for each pixel. [Carpenter 1984]

Scientific Computing and Imaging Institute, University of Utah Cell-Projection With An A-Buffer

Scientific Computing and Imaging Institute, University of Utah Cell-Projection With An A-Buffer

Scientific Computing and Imaging Institute, University of Utah Cell-Projection With An A-Buffer

Scientific Computing and Imaging Institute, University of Utah Cell-Projection With An A-Buffer

Scientific Computing and Imaging Institute, University of Utah Cell-Projection With An A-Buffer

Scientific Computing and Imaging Institute, University of Utah Cell-Projection With An A-Buffer

Scientific Computing and Imaging Institute, University of Utah Cell-Projection With An A-Buffer

Scientific Computing and Imaging Institute, University of Utah Cell-Projection With An A-Buffer

Scientific Computing and Imaging Institute, University of Utah Cell-Projection With An A-Buffer

Scientific Computing and Imaging Institute, University of Utah Cell-Projection With An A-Buffer

Scientific Computing and Imaging Institute, University of Utah Cell-Projection With An A-Buffer

Scientific Computing and Imaging Institute, University of Utah Cell-Projection With An A-Buffer

Scientific Computing and Imaging Institute, University of Utah Cell-Projection With An A-Buffer Not sorted!

Scientific Computing and Imaging Institute, University of Utah Cell-Projection With An A-Buffer Sorted!

Scientific Computing and Imaging Institute, University of Utah A-Buffer Limitations c cells n x n pixels Number of Intersections: O(cn ) 2 Problems Time: sorting takes too long Memory: storage too high

Scientific Computing and Imaging Institute, University of Utah Sorting Application Rasterization Display Image-Space Sorting Object-Space Sorting

Scientific Computing and Imaging Institute, University of Utah Approximate Object-Space Sorting 1

Scientific Computing and Imaging Institute, University of Utah Approximate Object-Space Sorting 1 2

Scientific Computing and Imaging Institute, University of Utah Approximate Object-Space Sorting 1 2 3

Scientific Computing and Imaging Institute, University of Utah Approximate Object-Space Sorting

Scientific Computing and Imaging Institute, University of Utah Approximate Object-Space Sorting

Scientific Computing and Imaging Institute, University of Utah Approximate Object-Space Sorting A Solution: Use an insertion-sort A-buffer!

Scientific Computing and Imaging Institute, University of Utah Approximate Object-Space Sorting  Use a conservative bound on the intersections What about the space problem?

Scientific Computing and Imaging Institute, University of Utah Hardware Assisted Visibility Sorting (HAVS) Sort in image-space and object-space Do an approximate object-space sorting of the cells on the CPU (i.e. sort by face centroid) Complete the sort in image-space by using a fixed depth A-buffer (called a k-buffer) implemented on the GPU Can handle non-convex meshes, has a low memory overhead, and requires minimal pre-processing of data

Scientific Computing and Imaging Institute, University of Utah HAVS Overview

Scientific Computing and Imaging Institute, University of Utah k-buffer Fixed size A-buffer of depth k Fragment stream sorter Stores k entries for each pixel. Each entry consists of the fragment’s scalar value and its distance to the viewpoint An incoming fragment replaces the entry that is closest to the eye (front-to-back compositing) Given a sequence of fragments such that each fragment is within k positions from its position is sorted order, it will output the fragments in sorted order

Scientific Computing and Imaging Institute, University of Utah k-buffer: Hardware Implementation Use multiple render target capability of ATI graphics cards (ATI_draw_buffers in OpenGL) Use P-buffer to accumulate color and opacity and three Aux buffers for the k-buffer entries P-buffer Aux 0 Aux 1 Aux 2 r g b a r comp g comp b comp a comp v1v1 v2v2 d1d1 d2d2 v4v4 v3v3 d4d4 d3d3 v5v5 v6v6 d5d5 d6d6

Scientific Computing and Imaging Institute, University of Utah Fragment Shader Overview

Scientific Computing and Imaging Institute, University of Utah Details Fix incorrect screen-space texture coordinates caused by perspective-correct interpolation Perspective interpolation Projecting vertices to find tex coords Projecting tex coords in shader

Scientific Computing and Imaging Institute, University of Utah Details Simultaneously reading and writing to a buffer is undefined when fragments are rasterized in parallel

Scientific Computing and Imaging Institute, University of Utah Details The buffers are initialized and flushed using k screen-aligned rectangles with negative scalar values Handling non-convex objects requires the exterior faces to be tagged with a negative distance d and keeping track of when we are inside or outside of the mesh with the sign of the scalar value v

Scientific Computing and Imaging Institute, University of Utah Details Early ray termination reads accumulated opacity and kills fragment if it is over a given threshold. Early z-test is currently not available on ATI 9800 when using multiple rendering targets

Scientific Computing and Imaging Institute, University of Utah Pre-Integrated Transfer Function Previous Work Volume density optical model ­Williams and Max 1992 Pre-integration on GPU ­Roettger et al ­5 s to update a 128x128x128 table Incremental pre-integration on CPU ­Wieler et al ­1.5 s to update a 128x128x128 table

Scientific Computing and Imaging Institute, University of Utah Pre-Integrated Transfer Function Williams and Max l S f S b

Scientific Computing and Imaging Institute, University of Utah Pre-Integrated Transfer Function Roettger et al. S S b f n = 0…l max T 3D

Scientific Computing and Imaging Institute, University of Utah Pre-Integrated Transfer Function Weiler et al.  l l S f S b S p l’ l

Scientific Computing and Imaging Institute, University of Utah Pre-Integrated Transfer Function Our Approach Incremental pre-integration of the 3D transfer function completely on the GPU ­Compute base slice using [Roettger et al.] ­Compute the other slices using the base slice and the previously computed slice [Weiler et al.] s to update a 128x128x128 table This allows interactive updates to the colormap and transfer function opacity

Scientific Computing and Imaging Institute, University of Utah Experiments Environment 3.0 GHz Pentium MB RAM Windows XP ATI Radeon 9800 Pro Results k-buffer analysis Performance results

Scientific Computing and Imaging Institute, University of Utah K-buffer Analysis DatasetMax AMax kk > 2k > 6 Spx , Torso ,3171,683 Fighter Accuracy analysis Analysis of k depth required to correctly render datasets Max values from 14 fixed viewpoints

Scientific Computing and Imaging Institute, University of Utah k-buffer Analysis Distribution analysis Shows actual pixels that require large k depths to render correctly for each viewpoint k 6 (red)

Scientific Computing and Imaging Institute, University of Utah Results DatasetCellsK = 2 Fps K = 2 Tets/s K = 6 Fps K = 6 Tets/s Spx20.8 M K K Torso1.1 M K K Fighter1.4 M K K Performance Average values from 14 fixed viewpoints Does not include partial sort on CPU 512 x 512 viewport with a 128 x 128 x 128 pre-integrated transfer function

Scientific Computing and Imaging Institute, University of Utah Image – Blunt Fin

Scientific Computing and Imaging Institute, University of Utah Image - Spx

Scientific Computing and Imaging Institute, University of Utah Image – Torso

Scientific Computing and Imaging Institute, University of Utah Image - Fighter

Scientific Computing and Imaging Institute, University of Utah Future Work Optimize partial sort on CPU Develop techniques to refine datasets to respect a given k (subdivide degenerate tets) Incorporate isosurface rendering Parallel techniques Proper hole handling Dynamic data Use early z-test

Scientific Computing and Imaging Institute, University of Utah Conclusion Renders up to 6 million Tets/sec when using a linear transfer function Handles arbitrary non-convex meshes Requires minimal pre-processing of data Maximum data size is bounded by main memory Uses simple vertex and fragment shaders