Direct Volume Rendering Joe Michael Kniss Scientific Computing and Imaging Institute University of Utah.

Slides:



Advertisements
Similar presentations
7.1 Vis_04 Data Visualization Lecture 7 3D Scalar Visualization Part 2 : Volume Rendering- Introduction.
Advertisements

Direct Volume Rendering. What is volume rendering? Accumulate information along 1 dimension line through volume.
Week 10 - Monday.  What did we talk about last time?  Global illumination  Shadows  Projection shadows  Soft shadows.
REAL-TIME VOLUME GRAPHICS Christof Rezk Salama Computer Graphics and Multimedia Group, University of Siegen, Germany Eurographics 2006 Real-Time Volume.
Image Reconstruction T , Biomedical Image Analysis Seminar Presentation Seppo Mattila & Mika Pollari.
Light Fields PROPERTIES AND APPLICATIONS. Outline  What are light fields  Acquisition of light fields  from a 3D scene  from a real world scene 
Real-Time Rendering TEXTURING Lecture 02 Marina Gavrilova.
CLASS 9 ADVANCE RENDERING RAY TRACING RADIOSITY LIGHT FIELD CS770/870.
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.
1. What is Lighting? 2 Example 1. Find the cubic polynomial or that passes through the four points and satisfies 1.As a photon Metal Insulator.
Volume Rendering Volume Modeling Volume Rendering Volume Modeling Volume Rendering 20 Apr
CS 325 Introduction to Computer Graphics 04 / 09 / 2010 Instructor: Michael Eckmann.
CS6500 Adv. Computer Graphics © Chun-Fa Chang, Spring 2003 Object-Order vs. Screen-Order Rendering April 24, 2003.
High-Quality Volume Graphics on Consumer PC Hardware
(conventional Cartesian reference system)
3/23/2005 © Dr. Zachary Wartell 1 Illumination Models and Surface- Rendering Methods.
Skin Rendering GPU Graphics Gary J. Katz University of Pennsylvania CIS 665 Adapted from David Gosselin’s Power Point and article, Real-time skin rendering,
IN4151 Introduction 3D graphics 1 Introduction to 3D computer graphics part 2 Viewing pipeline Multi-processor implementation GPU architecture GPU algorithms.
Global Illumination May 7, Global Effects translucent surface shadow multiple reflection.
7M836 Animation & Rendering
6.1 Vis_04 Data Visualization Lecture 6 - A Rough Guide to Rendering.
CSCE 641: Computer Graphics Image-based Rendering Jinxiang Chai.
N u v P(0,0) P(4,1) Orthographic (parallel) projection: Finding the starting point of the ray P(0,0): origin of image plane P(4,1): image pixel at i=4,
Direct Volume Rendering w/Shading via Three- Dimensional Textures.
Smart Hardware- Accelerated Volume Rendering Stefan Roettger Stefan Guthe Daniel Weiskopf Wolfgang Strasser Thomas Ertl.
Volume Rendering using Graphics Hardware
Application of Digital Signal Processing in Computed tomography (CT)
Computer Graphics Inf4/MSc Computer Graphics Lecture 7 Texture Mapping, Bump-mapping, Transparency.
Optical Models Jian Huang, CS 594, Spring 2002 This set of slides are modified from slides used by Prof. Torsten Moeller, at Simon Fraser University, BC,
Shading. What is Shading? Assigning of a color to a pixel in the final image. So, everything in shading is about how to select and combine colors to get.
Lecture 3 : Direct Volume Rendering Bong-Soo Sohn School of Computer Science and Engineering Chung-Ang University Acknowledgement : Han-Wei Shen Lecture.
COLLEGE OF ENGINEERING UNIVERSITY OF PORTO COMPUTER GRAPHICS AND INTERFACES / GRAPHICS SYSTEMS JGB / AAS 1 Shading (Shading) & Smooth Shading Graphics.
Computer Graphics. Requirements Prerequisites Prerequisites CS 255 : Data Structures CS 255 : Data Structures Math 253 Math 253 Experience with C Programming.
-Global Illumination Techniques
09/09/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Event management Lag Group assignment has happened, like it or not.
REAL-TIME VOLUME GRAPHICS Christof Rezk Salama Computer Graphics and Multimedia Group, University of Siegen, Germany Eurographics 2006 Real-Time Volume.
09/11/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Graphics Pipeline Texturing Overview Cubic Environment Mapping.
Direct Volume Rendering (DVR): Ray-casting Jian Huang This set of slides references slides used by Prof. Torsten Moeller (Simon Fraser), Prof. Han-Wei.
Rendering Overview CSE 3541 Matt Boggus. Rendering Algorithmically generating a 2D image from 3D models Raster graphics.
CMSC 635 Volume Rendering. Volume data  3D Scalar Field: F(x,y,z) = ?  Implicit functions  Voxel grid  Scalar data  Density  Temperature  Wind.
Volume Rendering CMSC 491/635. Volume data  3D Scalar Field: F(x,y,z) = ?  Implicit functions  Voxel grid  Scalar data  Density  Temperature  Wind.
3D Volume Visualization. Volume Graphics  Maintains a 3D image representation that is close to the underlying fully-3D object (but discrete)  경계표면 (Boundary.
3-D Data cs5984: Information Visualization Chris North.
Course Introduction to virtual engineering Óbuda University John von Neumann Faculty of Informatics Institute of Applied Mathematics Lecture and laboratory.
Graphics Graphics Korea University cgvr.korea.ac.kr 1 Surface Rendering Methods 고려대학교 컴퓨터 그래픽스 연구실.
Electronic Visualization Laboratory (EVL) University of Illinois at Chicago Paper-4 Interactive Translucent Volume Rendering and Procedural Modeling Joe.
CHAPTER 10 VOLUME VISUALIZATION. OUTLINE 3D (volumetric) scalar fields Slice plane and isosurfaces techniques are limited in showing only a subset of.
Volume Visualization with Ray Casting
Visual Appearance Chapter 4 Tomas Akenine-Möller Department of Computer Engineering Chalmers University of Technology.
Discontinuous Displacement Mapping for Volume Graphics, Volume Graphics 2006, July 30, Boston, MA Discontinuous Displacement Mapping for Volume Graphics.
CS559: Computer Graphics Final Review Li Zhang Spring 2010.
COMPUTER GRAPHICS CS 482 – FALL 2015 SEPTEMBER 29, 2015 RENDERING RASTERIZATION RAY CASTING PROGRAMMABLE SHADERS.
Hardware Accelerated Volume Rendering Using PC Hardware CSE564 Final Demo Evan Closson.
3-D Information cs5764: Information Visualization Chris North.
Shadows David Luebke University of Virginia. Shadows An important visual cue, traditionally hard to do in real-time rendering Outline: –Notation –Planar.
CDS 301 Fall, 2008 From Graphics to Visualization Chap. 2 Sep. 3, 2009 Jie Zhang Copyright ©
CSE 681 Introduction to Ray Tracing. CSE 681 Ray Tracing Shoot a ray through each pixel; Find first object intersected by ray. Image plane Eye Compute.
Real-Time Soft Shadows with Adaptive Light Source Sampling
Photorealistic Rendering vs. Interactive 3D Graphics
Visual Appearance Chapter 4
Volume Rendering Lecture 21.
GPU Graphics Gary J. Katz University of Pennsylvania CIS 665
Real-Time Volume Graphics [06] Local Volume Illumination
Volume Rendering Lecture 21.
Orthographic (parallel) projection:
Texture Mapping 고려대학교 컴퓨터 그래픽스 연구실.
Adding Surface Detail 고려대학교 컴퓨터 그래픽스 연구실.
Adding Surface Detail 고려대학교 컴퓨터 그래픽스 연구실.
Introduction to Ray Tracing
Presentation transcript:

Direct Volume Rendering Joe Michael Kniss Scientific Computing and Imaging Institute University of Utah

Outline 1. What is Volume Rendering? 2. Shading models 3. Current hardware methods 4.Visualization 2001 presentation

Volume Rendering Volume Rendering is a visualization/graphics technique which directly renders data using a reasonable approximation to a physical light transport model. What?

Overview Data acquisition Reconstruction Sample & interpolate Transfer function Lighting Blend/integrate Volume Rendering Spiral CT Filtered back-projection Tri-linear Interp. 3D T.F. Light & shadow Back to Front

Overview Volume Rendering Acquisition typeReconstruction CT (X-ray) MRI Simulation Inverse Radon Inverse Fourier None? Others: PET, SPECT, EEG, MEG, Geological, Atmospheric

Interpolation Overview Sampled Function How do we recover a function that is at least C 0 continuous?? Real Function ?

Interpolation Estimate values between samples Reconstruct continuous function Overview box linear sinc Catmul- Rom C0C0 C0C0 C1C1 C 00

Interpolation Estimate values between samples Reconstruct continuous function Overview box linear sinc Catmul- Rom Bad OKGood Best Quality

Interpolation Estimate values between samples Reconstruct continuous function Overview box linear sinc Catmul- Rom Easiest EasyOK Hard Use

Interpolation Overview Sampled Function Laura Bush

Interpolation Overview Box What is the value here?

Interpolation Overview Box What is the value here?

Interpolation Overview Box What is the value here?

Interpolation Overview Box == Nearest Neighbor Reconstructed function

Interpolation Overview Linear What is the value here?

Interpolation Overview Linear What is the value here?

Interpolation Overview Linear What is the value here?

Interpolation Overview Linear == Connect the dots Reconstructed function

Interpolation Overview Catmull-Rom == Rolling Hills Reconstructed function

Interpolation Overview Sinc == Roller Coaster Reconstructed function But what about the ringing??

Interpolation Overview

Interpolation Overview box linear sinc Catmul- Rom Bad OKBetter Hmm… Quality In reality:

Interpolation Bi-linear Tri-linear What is the value here?

Bi-linear = 3 linear interpolations, 2 axes Tri-linear = 7 linear interpolations, 3 axes Interpolation 1 st along x 2 nd along y 1 st along x

Bi-linear = 3 linear interpolations, 2 axes Tri-linear = 7 linear interpolations, 3 axes Interpolation 1 st along x 2 nd along y 1 st along x 2 nd along y

Bi-linear = 3 linear interpolations, 2 axes Tri-linear = 7 linear interpolations, 3 axes Interpolation 1 st along x 2 nd along y 1 st along x 2 nd along y 3 rd along z

Transfer Function Assign optical properties to data –Color –Opacity Transfer function

Transfer Function Assign optical properties to data –Color –Opacity Transfer function x

Transfer Function Assign optical properties to data –Color –Opacity Transfer function T(x)

Rendering Overview Volume Data Eye Image plane Projection

Rendering Overview Volume Data Eye Image plane Ray Casting But how do we get the final color?? r0r0 r1r1

Rendering Overview Solution: Integrate r0r0 r1r1 r0r0 r1r1 T(x)

Rendering Overview Solution: Sum (Riemann) r0r0 r1r1 r0r0 r1r1

Rendering Overview r0r0 r1r1 Emissive What about occlusion??

Rendering Overview r0r0 r1r1 Absorption Use alpha channel for opacity Values should approach ZERO Exponential -1 curve

Rendering Overview r0r0 r1r1

Rendering Overview r0r0 r1r1 Emission & Absorption

Rendering Overview Emission & Absorption r0r0 r1r1

Rendering Overview Emission & Absorption r0r0 r1r1 c out = c i + a i *c in =

Rendering Overview Emission & Absorption r0r0 r1r1 c out = c i + a i *c i-1 Where did the light come from??

Lighting Overview Eye Image plane r0r0 r1r1 Light

Lighting Overview Light Sample r i The volume occludes some of the light

Lighting Overview Sample r i (s) First scattering/ shadows l0l0

Lighting Overview It still doesn’t look like a surface. Standard shading models need a surface normal

Lighting Overview Solution: use the gradient as the normal linear linear derivative

Lighting Overview Solution: use the gradient as the normal linear linear derivative dx = 3-10 = -7 dy = 5-14 = -9

Lighting Overview Solution: use the gradient as the normal normal light eye reflection

Lighting Overview Diffuse n l Color = C*(n l) C = object color

Lighting Overview Diffuse + specular n l e r Color = C*(n l) + LC*(r l) P LC = light color P = specular power

Lighting Overview Diffuse + specular & shadow Color = [C*(n l) + LC*(r l) P ] * S S = shadow amount

Lighting Overview Diffuse + specular & shadow + Ambient Color = [C*(n l) + LC*(r l) P ] * S + C*A A = Ambient contribution

Rendering Overview Volume Data Eye Image plane Ray Casting r0r0 r1r1 Cast a ray through each pixel Intersect with volume Numerically integrate & return color

Rendering Hardware Volume Data Eye Image plane Graphics Hardware Polygons – Proxy geometry Textures – Data & interpolation Blending operations – Numerical integration Slices

Hardware Slices View direction 1 slice 5 slices 20 slices 45 slices 85 slices 170 slices

Hardware Data texture Grad texture Shadow texture T.F. texture Shade texture Texture combiner Color & opacity Data texture Polygon slicing through texture

Hardware Slices Frame buffer Blend each slice with previously rendered Projection

References Nelson Max, Optical Models for Direct Volume Rendering, IEEE Visualization and Computer Graphics (v1 #2 June 1995) Mark Levoy, Display of Surfaces from Volume Data, IEEE Computer Graphics and Applications (v8 #3 May 1988) Kenneth R. Castleman, Digital Image Processing, Prentice Hall (c1996 ISBN: )