Volume Rendering Volume Modeling Volume Rendering Volume Modeling Volume Rendering 20 Apr. 2000.

Slides:



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

Envisioning Information Lecture 14 – Scientific Visualization
Compositing and Blending Ed Angel Professor Emeritus of Computer Science University of New Mexico 1 E. Angel and D. Shreiner: Interactive Computer Graphics.
VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Pre-Integrated Splatting (Stefan Roettger)
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 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.
Ray-casting in VolumePro™ 1000
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.
Direct Volume Rendering (DVR): Ray-casting
University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2005 Tamara Munzner Information Visualization.
Rasterization and Ray Tracing in Real-Time Applications (Games) Andrew Graff.
Surface Reconstruction from 3D Volume Data. Problem Definition Construct polyhedral surfaces from regularly-sampled 3D digital volumes.
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.
Direct Volume Rendering Joe Michael Kniss Scientific Computing and Imaging Institute University of Utah.
Introduction to Volume Visualization Mengxia Zhu Fall 2007.
Volume Visualization Acknowledgements: Torsten Möller (SFU)
Volume Rendering & Shear-Warp Factorization Joe Zadeh January 22, 2002 CS395 - Advanced Graphics.
ITUppsala universitet Data representation and fundamental algorithms Filip Malmberg
CSE 872 Dr. Charles B. Owen Advanced Computer Graphics1 Other Rendering Techniques Types of rendering – Wireframe techniques – Scan-line conversion – Reyes.
CSE 681 Ray Tracing Implicit Surfaces. CSE 681 Overview Similar to CSG –Combine primitive objects to form complex object Primitives are “density fields”
Volumetric and Blobby Objects Lecture 8 (Modelling)
lecture 2 : Visualization Basics
Technology and Historical Overview. Introduction to 3d Computer Graphics  3D computer graphics is the science, study, and method of projecting a mathematical.
19/18/ :34 Graphics II Volume Rendering Session 10.
Lecture 3 : Direct Volume Rendering Bong-Soo Sohn School of Computer Science and Engineering Chung-Ang University Acknowledgement : Han-Wei Shen Lecture.
Scientific Visualization Module 6 Volumetric Algorithms (adapted by S.V. Moore – slides deleted, modified, and added) prof. dr. Alexandru (Alex) Telea.
REAL-TIME VOLUME GRAPHICS Christof Rezk Salama Computer Graphics and Multimedia Group, University of Siegen, Germany Eurographics 2006 Real-Time Volume.
Graphics Graphics Korea University cgvr.korea.ac.kr Solid Modeling 고려대학교 컴퓨터 그래픽스 연구실.
ITUppsala universitet Advanced Computer Graphics Filip Malmberg
2D/3D Shape Manipulation, 3D Printing Shape Representations Slides from Olga Sorkine February 20, 2013 CS 6501.
Direct Volume Rendering (DVR): Ray-casting Jian Huang This set of slides references slides used by Prof. Torsten Moeller (Simon Fraser), Prof. Han-Wei.
Visible-Surface Detection Jehee Lee Seoul National University.
Unstructured Volume Rendering Jian Huang, CS 594, Spring 2002 This set of slides reference slides developed by Prof. Torsten Moeller, SFU, Canada.
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.
1 Real-time visualization of large detailed volumes on GPU Cyril Crassin, Fabrice Neyret, Sylvain Lefebvre INRIA Rhône-Alpes / Grenoble Universities Interactive.
Computer Graphics 2 Lecture 7: Texture Mapping Benjamin Mora 1 University of Wales Swansea Pr. Min Chen Dr. Benjamin Mora.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
Shader Study 이동현. Vision engine   Games Helldorado The Show Warlord.
3D Object Representations
3D Volume Visualization. Volume Graphics  Maintains a 3D image representation that is close to the underlying fully-3D object (but discrete)  경계표면 (Boundary.
Computer Graphics II University of Illinois at Chicago Volume Rendering Presentation for Computer Graphics II Prof. Andy Johnson By Raj Vikram Singh.
CHAPTER 10 VOLUME VISUALIZATION. OUTLINE 3D (volumetric) scalar fields Slice plane and isosurfaces techniques are limited in showing only a subset of.
Ray Tracing Fall, Introduction Simple idea  Forward Mapping  Natural phenomenon infinite number of rays from light source to object to viewer.
Volume Visualization with Ray Casting
CHAPTER 5 CONTOURING. 5.3 CONTOURING Fig 5.7. Relationship between color banding and contouring Contour line (isoline): the same scalar value, or isovalue.
3D Object Representations 2011, Fall. Introduction What is CG?  Imaging : Representing 2D images  Modeling : Representing 3D objects  Rendering : Constructing.
CS559: Computer Graphics Final Review Li Zhang Spring 2010.
COMPUTER GRAPHICS CS 482 – FALL 2015 SEPTEMBER 29, 2015 RENDERING RASTERIZATION RAY CASTING PROGRAMMABLE SHADERS.
3-D Information cs5764: Information Visualization Chris North.
1 CSCE 441: Computer Graphics Hidden Surface Removal Jinxiang Chai.
Volume Rendering A volume representation is an extension of a 2D image to 3D space. A pixel in 2D space become a voxel in 3D space. Voxel.
3D Object Representations 2009, Fall. Introduction What is CG?  Imaging : Representing 2D images  Modeling : Representing 3D objects  Rendering : Constructing.
Hardware-Accelerated Parallel Non-Photorealistic Volume Rendering Eric B.Lum Kwan-Liu Ma University of California at Davis.
Robert S. Laramee 1 1 Visualization, Lecture #3 Volume Visualization, Part 1 (of 4)
3D Graphics Rendering PPT By Ricardo Veguilla.
3D Object Representations
Volume Rendering Lecture 21.
ATCM 6317 Procedural Animation
Real-Time Volume Graphics [06] Local Volume Illumination
CSc4730/6730 Scientific Visualization
Graphics and Multimedia
Volume Rendering Lecture 21.
Procedural Animation Lecture 10: Volume simulation
Presentation transcript:

Volume Rendering Volume Modeling Volume Rendering Volume Modeling Volume Rendering 20 Apr. 2000

2 Computer Graphics Volume Modeling & Rendering Some data is more naturally modeled as a volume, not a surface You could always convert the volume to a surface, but that’s not always best Volume rendering: render the volume directly Ray-traced isosurface f(x,y,z)=c Same data, rendered as a volume

3 Computer Graphics Why Bother with Volume Rendering? Isn’t surface modeling & rendering easier? Show all your data –more informative –less misleading (the isosurface of noisy data is unpredictable) Constructive Solid Geometry (CSG) is natural Simpler and more efficient than converting a very complex data volume (like the inside of someone’s head) to polygons and then rendering them

4 Computer Graphics Contrasts Surface Rendering Surface rendering is the "usual" type of rendering. Data is converted to geometrical primitives (e.g. triangles), which are then drawn. Everything you see is a 2D surface, embedded in a 3D space. The conversion to geometrical primitives may lose or disguise some data. Good for opaque objects, objects with smooth surface. Volume Rendering Data consists of one or more (supposedly continuous) fields in 3D. A Transfer Function maps the data into a volume of RGBA values. This volume is rendered directly, like a blob of colored jello. Data is seen more directly; less likely to be hidden. Works well for complex surfaces.

5 Computer Graphics Applications medical –Computed Tomography (CT) –Magnetic Resonance Imaging (MRI) –Ultrasound engineering & science –Computational Fluid Dynamics (CFD) – aerodynamic simulations –meteorology – weather prediction –astrophysics – simulate galaxies Computer Graphics –Participating media –Texels

6 Computer Graphics Brief History of Volume Visualization 1970’smodeling & rendering with 3-D grids and octrees 1984 ray casting volume models D scan conversion of lines, polygons into 3-D grid 1987 marching cubes algorithm (convert volume model to surface model) 1988 direct volume rendering with painter’s algorithm 1989 splatting 1990’svolume rendering hardware

7 Computer Graphics Volume Rendering Pipeline Data volumes come in all types: tissue density (CT), relaxation time of certain molecules (MRI), windspeed, pressure, temperature, value of implicit function. Data volumes are used as input to a transfer function, which produces a sample volume of colors and opacities as output. –Typical might be a 256x256x64 CT scan That volume is rendered to produce a final image. transfer function data volumes sample volume rendering final image

8 Computer Graphics Transfer Functions The transfer function takes (multiple) scalar data values as input, and outputs RGBA It gets applied to every voxel in the volume “model” It can be very simple (a color lookup table) or very complicated (implementing CSG, voxel texturing, etc.)

9 Computer Graphics Rendering Usually one just integrates color through the volume (ray casting) Recursive ray tracing is also possible –But it gets confusing pretty quickly (shadows, filtered light, reflections, etc) For lighting we need surfaces! –We can use the magnitude of the local gradient to check for surfaces (for example, bone is denser than fat on CT scans) –And we can use the (negative of the) gradient direction as a lighting normal! –Some, all, or none of the voxels will have surface lighting. And we need material properties! –Either assume all the data is one material type, –Or use a separate set of segmentation data to identify voxel materials.

10 Computer Graphics Some Details Regular x-y-z data grids are easiest and fastest to handle, but algorithms exist for handling irregular grids like finite element models, where the voxels (volume elements) are not all parallelepipeds. –Resample it –or just deal with it –Finite element data, ultrasound data Geometrical primitives can be handled by "rasterizing" them into data grids. This model was rasterized and rendered with VolVis

11 Computer Graphics Accumulating Opacity By convention, opacity (alpha) ranges from 0.0 to 1.0, 1.0 being completely opaque. Multiple layers of material are composited according to their opacity. An ideal, continuous material takes the limit of this process as it goes to an infinite number of infinitely thin layers (exponentials). The local gradient of opacity can be used to detect surfaces, and as the normal for the lighting equation.

12 Computer Graphics Ray Casting Volumes Just integrate color and opacity along the ray Simplest scheme just takes equal steps along ray, sampling opacity and color Grids make it easiest to find the next cell It’s simple to include volumes as primitives in a ray tracer –clouds, fog, smoke, fire done this way

13 Computer Graphics Trilinear Interpolation How do you compute RGBA values which are not at sample points? Nearest neighbor (point sampling) yields blocky images Trilinear interpolation is better, but slower Just like texture mapping –You can even mipmap in 3D Nearest NeighborTrilinear Interpolation

14 Computer Graphics Splatting Wonderfully simple Working back-to-front (or front-to-back), draw a “splat” for each chunk of data Easy to implement, but not as accurate as ray casting works reasonably for non-gridded data closeup of a splat

15 Computer Graphics Other Techniques Shear-Warp (Lacroute and Levoy) –requires a grid –sort of like Bresenham for volumes –very fast with no hardware acceleration, but implementation is tricky Polygons + 3D texture –Build a 3D texture, including opacity –Draw a stack of polygons from back to front, with that texture –Very efficient on machines with hardware acceleration that supports opacity Viewpoint 3D RGBA Texture Draw polygons back to front

16 Computer Graphics CSG is Easy The transfer function can be used to mask a volume or merge volumes You are still confined to the grid, of course head or and not

17 Computer Graphics Another CSG example (VolVis again)

18 Computer Graphics Acceleration Techniques Limit yourself to what you can do in cache... …and do multiple blocks if necessary Octrees Quit integration early- that last bit is slowest Error measures Parallelism

19 Computer Graphics Pictures colliding galaxies