Ray-casting in VolumePro™ 1000

Slides:



Advertisements
Similar presentations
VIZARD II: A Reconfigurable Interactive Volume Rendering System WSI / GRIS, Universität Tübingen ‡ Philips Research, Hamburg † Viatronix *ATI M. Meißner.
Advertisements

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.
Render Cache John Tran CS851 - Interactive Ray Tracing February 5, 2003.
3D Graphics Rendering and Terrain Modeling
REAL-TIME VOLUME GRAPHICS Christof Rezk Salama Computer Graphics and Multimedia Group, University of Siegen, Germany Eurographics 2006 Real-Time Volume.
Fast Volume Rendering Using a Shear-Warp Factorization of the Viewing Transformation Philippe Larcoute & Marc Levoy Stanford University Published in SIGGRAPH.
Other DVR Algorithms and A Comparison Jian Huang, CS 594, Spring 2002.
03/12/02 (c) 2002 University of Wisconsin, CS559 Last Time Some Visibility (Hidden Surface Removal) algorithms –Painter’s Draw in some order Things drawn.
The Discrete Ray-casting Algorithm Qiang Xue Jiaoying Shi State Key Lab Of CAD&CG Zhejiang University.
Hank Childs, University of Oregon November 15 th, 2013 Volume Rendering, Part 2.
 Engineering Graphics & Introductory Design 3D Graphics and Rendering REU Modeling Course – June 13 th 2014.
Volume Rendering Volume Modeling Volume Rendering Volume Modeling Volume Rendering 20 Apr
Direct Volume Rendering (DVR): Ray-casting
Chapter 6: Vertices to Fragments Part 2 E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley Mohan Sridharan Based on Slides.
Vertices and Fragments I CS4395: Computer Graphics 1 Mohan Sridharan Based on slides created by Edward Angel.
Splatting Josh Anon Advanced Graphics 1/29/02. Types of Rendering Algorithms Backward mapping Image plane mapped into data Ray casting Forward mapping.
Introduction to Volume Rendering Presented by Zvi Devir.
Hidden Surface Elimination Wen-Chieh (Steve) Lin Institute of Multimedia Engineering I-Chen Lin’ CG Slides, Rich Riesenfeld’s CG Slides, Shirley, Fundamentals.
3D Graphics Processor Architecture Victor Moya. PhD Project Research on architecture improvements for future Graphic Processor Units (GPUs). Research.
IN4151 Introduction 3D graphics 1 Introduction to 3D computer graphics part 2 Viewing pipeline Multi-processor implementation GPU architecture GPU algorithms.
Memory Efficient Acceleration Structures and Techniques for CPU-based Volume Raycasting of Large Data S. Grimm, S. Bruckner, A. Kanitsar and E. Gröller.
Status – Week 283 Victor Moya. 3D Graphics Pipeline Akeley & Hanrahan course. Akeley & Hanrahan course. Fixed vs Programmable. Fixed vs Programmable.
Vertices and Fragments III Mohan Sridharan Based on slides created by Edward Angel 1 CS4395: Computer Graphics.
1 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Models and Architectures Ed Angel Professor of Computer Science, Electrical and Computer.
Volume Rendering & Shear-Warp Factorization Joe Zadeh January 22, 2002 CS395 - Advanced Graphics.
Smart Hardware- Accelerated Volume Rendering Stefan Roettger Stefan Guthe Daniel Weiskopf Wolfgang Strasser Thomas Ertl.
The Story So Far The algorithms presented so far exploit: –Sparse sets of images (some data may not be available) –User help with correspondences (time.
Computer Graphics Panos Trahanias ΗΥ358 Spring 2009.
Technology and Historical Overview. Introduction to 3d Computer Graphics  3D computer graphics is the science, study, and method of projecting a mathematical.
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.
Smart Hardware-Accelerated Volume Rendering Stefan Roettger Stefan Guthe Daniel Weiskopf.
A Sorting Classification of Parallel Rendering Molnar et al., 1994.
REAL-TIME VOLUME GRAPHICS Christof Rezk Salama Computer Graphics and Multimedia Group, University of Siegen, Germany Eurographics 2006 Real-Time Volume.
CS 450: COMPUTER GRAPHICS REVIEW: INTRODUCTION TO COMPUTER GRAPHICS – PART 2 SPRING 2015 DR. MICHAEL J. REALE.
Marching Cubes: A High Resolution 3D Surface Construction Algorithm William E. Lorenson Harvey E. Cline General Electric Company Corporate Research and.
Direct Volume Rendering (DVR): Ray-casting Jian Huang This set of slides references slides used by Prof. Torsten Moeller (Simon Fraser), Prof. Han-Wei.
CSC 461: Lecture 3 1 CSC461 Lecture 3: Models and Architectures  Objectives –Learn the basic design of a graphics system –Introduce pipeline architecture.
Image-based Rendering. © 2002 James K. Hahn2 Image-based Rendering Usually based on 2-D imagesUsually based on 2-D images Pre-calculationPre-calculation.
OpenGL Conclusions OpenGL Programming and Reference Guides, other sources CSCI 6360/4360.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
1Computer Graphics Lecture 4 - Models and Architectures John Shearer Culture Lab – space 2
Volume Rendering CMSC 491/635. Volume data  3D Scalar Field: F(x,y,z) = ?  Implicit functions  Voxel grid  Scalar data  Density  Temperature  Wind.
1 Real-time visualization of large detailed volumes on GPU Cyril Crassin, Fabrice Neyret, Sylvain Lefebvre INRIA Rhône-Alpes / Grenoble Universities Interactive.
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.
Implementation II.
Computer Graphics II University of Illinois at Chicago Volume Rendering Presentation for Computer Graphics II Prof. Andy Johnson By Raj Vikram Singh.
Volume Clipping via Per-Fragment Operations in Texture-Based Volume Visualization Visualization and Interactive Systems Group University of Stuttgart Germany.
112/5/ :54 Graphics II Image Based Rendering Session 11.
Review on Graphics Basics. Outline Polygon rendering pipeline Affine transformations Projective transformations Lighting and shading From vertices to.
Subject Name: Computer Graphics Subject Code: Textbook: “Computer Graphics”, C Version By Hearn and Baker Credits: 6 1.
Hank Childs, University of Oregon Volume Rendering, pt 1.
Motivation Properties of real data sets Surface like structures
CS559: Computer Graphics Final Review Li Zhang Spring 2010.
Computer Graphics I, Fall 2010 Implementation II.
What are shaders? In the field of computer graphics, a shader is a computer program that runs on the graphics processing unit(GPU) and is used to do shading.
CS 445 / 645: Introductory Computer Graphics Review.
High-Quality Pre-Integrated Volume Rendering Using Hardware Accelerated Pixel Shading Klaus Engel, Martin Kraus, Thomas Ertl Visualization and Interactive.
Chapter 1 Graphics Systems and Models Models and Architectures.
Advanced Rendering Technology The AR250 A New Architecture for Ray Traced Rendering.
Discrete Techniques.
The Graphics Rendering Pipeline
Real-Time Volume Graphics [06] Local Volume Illumination
Hank Childs, University of Oregon
Lecture 13 Clipping & Scan Conversion
RADEON™ 9700 Architecture and 3D Performance
Presentation transcript:

Ray-casting in VolumePro™ 1000 Yin Wu, Vishal Bhatia, Hugh Lauer, Larry Seiler

VolumePro™ 1000 Summary Second generation real-time volume rendering accelerator Ray-casting at 109 samples per second Ray-per-pixel image quality Translucent & opaque embedded polygons 8-, 16-, & 32-bit voxels (up to four fields) Geometry-based space leaping, early ray termination …

The Challenge in Ray-casting Performance vs. Image Quality Shear-Warp Traverse & resample data in memory order. Warp needed for final image. Fast Efficient memory access VolumePro 500 Image Quality 2nd resampling No embedded geometry Full Image order Traverse & resample data in pixel order Image Quality No 2nd resampling Embedded geometry Performance Memory accesses similar to random access.

VolumePro 1000 Ray-casting Rays through pixels on image plane Image quality equiv. to full image order No 2nd resampling

VolumePro 1000 Ray-casting Rays through pixels on image plane … Samples organized in planes parallel to faces of the volume Traverse & process data in memory order Maximize memory performance

xy-image order — 2 parts (aka shear-image order) Voxel processing part Traverse data slice-by-slice in memory order Read voxels for each slice of samples Voxel-oriented processing (e.g., gradient estimation) Store in on-chip buffers Sample processing part Define sample points where rays intersect slices Traverse & interpolate on-chip buffer in pixel order Sample-oriented processing e.g., illumination, filtering, depth testing, compositing Output to image

VolumePro 1000 ray-casting (Additional optimizations) Section: rays assoc. with tile of image plane Minimize on-chip buffer space All slices of a section processed before next section Enables early ray termination Mini-block and stamp organized memory Burst accesses to 222 voxels or 22 pixels From VolumePro 500 Skewed across eight memory channels Parallel access to 8 adjacent mini-blocks or stamps in any dimension From VolumePro 500, Cube-4 (SUNY Stony Brook)

Block Diagram Sequencer Pipelines 250 MHz PCI bus Interface 33-66 MHz Voxels (organized as mini-blocks) 16-node SIMD processor Sequencer Voxel processing PCI bus Interface 33-66 MHz control On-chip Slice buffers Memory Interface eight channels 16-bit DDR SDRAM (266-333 MHz) Sample processing Sample processing control Pixels (organized as stamps)

Technical summary Four 250 MHz pipelines, 109 samples per second Trilinear interpolations on seven channels Four colors or voxel fields Three gradient components Classification of (up to) four voxel fields Phong illumination calculation 25-30 individual visibility tests Alpha correction, gradient magnitude modulation Perspective rendering (in Shear-Warp)

What next? Is 109 samples/second enough? Major items yet to be done 1 megapixel at 15 fps  ~66 samples/ray (average) Not very many, even with aggressive space leaping Major items yet to be done Content-based space-leaping Faster memory, pipelines, and Sequencer Perspective volume rendering More programmability

Pretty Pictures

Supplementary Slides

Embedding Surfaces in Volumes Allows inserting pointers, medical prostheses, or geological data markers into the volume Also supports arbitrary clipping regions, all in real time Each ray is cast in multiple segments, between surfaces specified by depth buffers Surface rendering performed in 3D graphics chip using OpenGL Front clip bounds Trans- lucent surface So how do we do it? First, we render the polygon data using OpenGL or Direct3D on the standard 3D graphics chip. This produces one or more layers of depth and image data. The example at the right shows an opaque background behind a closed translucent surface that produces a front layer and a back layer. A fourth depth layer specified a portion of the volume that we want to clip out. Opaque background

Embedding Surfaces in Volumes Allows inserting pointers, medical prostheses, or geological data markers into the volume Also supports arbitrary clipping regions, all in real time Each ray is cast in multiple segments, between surfaces specified by depth buffers Surface rendering performed in 3D graphics chip using OpenGL Next, we start compositing samples along the rays, until they reach another depth-image layer. We then composite the surface colors into the rays...

Embedding Surfaces in Volumes Allows inserting pointers, medical prostheses, or geological data markers into the volume Also supports arbitrary clipping regions, all in real time Each ray is cast in multiple segments, between surfaces specified by depth buffers Surface rendering performed in 3D graphics chip using OpenGL ... And continue compositing samples along the rays until they reach the next surface.

Embedding Surfaces in Volumes Allows inserting pointers, medical prostheses, or geological data markers into the volume Also supports arbitrary clipping regions, all in real time Each ray is cast in multiple segments, between surfaces specified by depth buffers Surface rendering performed in 3D graphics chip using OpenGL Finally, when all of the rays have reached the opaque background, we can stop ray-casting. TURN ON DEMO: TEAPOT with LOBSTER, play with CROP PLANES