Unstructured Volume Rendering Jian Huang, CS 594, Spring 2002 This set of slides reference slides developed by Prof. Torsten Moeller, SFU, Canada.

Slides:



Advertisements
Similar presentations
Spectral Analysis of Function Composition and Its Implications for Sampling in Direct Volume Visualization Steven Bergner GrUVi-Lab/SFU Torsten Möller.
Advertisements

Today Composing transformations 3D Transformations
VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Pre-Integrated Splatting (Stefan Roettger)
Direct Volume Rendering. What is volume rendering? Accumulate information along 1 dimension line through volume.
Fast Volumetric Display of Natural Gaseous Phenonema Stefan Roettger Thomas Ertl University of Erlangen.
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.
Extended Gaussian Images
Computer Graphics Visible Surface Determination. Goal of Visible Surface Determination To draw only the surfaces (triangles) that are visible, given a.
Hank Childs, University of Oregon November 15 th, 2013 Volume Rendering, Part 2.
Cell-Projection of Convex Polyhedra Stefan Roettger Thomas Ertl University of Erlangen.
Direct Volume Rendering (DVR): Ray-casting
Splatting Jian Huang, CS 594, Spring 2002 This set of slides reference slides made by Ohio State University alumuni over the past several years.
Footprint Evaluation for Volume Rendering
University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2005 Tamara Munzner Information Visualization.
Announcements Project 2 Out today Sign up for a panorama kit ASAP! –best slots (weekend) go quickly...
Introduction to Volume Rendering Presented by Zvi Devir.
Introduction to Volume Visualization Mengxia Zhu Fall 2007.
Sorting and cell compositing for irregular meshes Nelson Max, Peter Williams, Richard Cook, Claudio Silva.
Hardware-Assisted Visibility Sorting for Tetrahedral Volume Rendering Steven Callahan Milan Ikits João Comba Cláudio Silva Steven Callahan Milan Ikits.
The Pinhole Camera Model
Direct Volume Rendering w/Shading via Three- Dimensional Textures.
Volume Rendering & Shear-Warp Factorization Joe Zadeh January 22, 2002 CS395 - Advanced Graphics.
Part I: Basics of Computer Graphics Rendering Polygonal Objects (Read Chapter 1 of Advanced Animation and Rendering Techniques) Chapter
Stockman MSU/CSE Math models 3D to 2D Affine transformations in 3D; Projections 3D to 2D; Derivation of camera matrix form.
CSE 872 Dr. Charles B. Owen Advanced Computer Graphics1 Other Rendering Techniques Types of rendering – Wireframe techniques – Scan-line conversion – Reyes.
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.
Introduction to 3D Graphics John E. Laird. Basic Issues u Given a internal model of a 3D world, with textures and light sources how do you project it.
10/5/04© University of Wisconsin, CS559 Fall 2004 Last Time Compositing Painterly Rendering Intro to 3D Graphics Homework 3 due Oct 12 in class.
CS 450: Computer Graphics REVIEW: OVERVIEW OF POLYGONS
Basics of Rendering Pipeline Based Rendering –Objects in the scene are rendered in a sequence of steps that form the Rendering Pipeline. Ray-Tracing –A.
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.
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,
1 Speeding Up Ray Tracing Images from Virtual Light Field Project ©Slides Anthony Steed 1999 & Mel Slater 2004.
3/4/04© University of Wisconsin, CS559 Spring 2004 Last Time Clipping Lines –Cohen-Sutherland: The use of outcodes and early reject/accept tests –Liang-Barsky:
CS 551/651 Advanced Computer Graphics Warping and Morphing Spring 2002.
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,
Scientific Visualization Module 6 Volumetric Algorithms (adapted by S.V. Moore – slides deleted, modified, and added) prof. dr. Alexandru (Alex) Telea.
09/09/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Event management Lag Group assignment has happened, like it or not.
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.
CS447/ Realistic Rendering -- Radiosity Methods-- Introduction to 2D and 3D Computer Graphics.
03/24/03© 2003 University of Wisconsin Last Time Image Based Rendering from Sparse Data.
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.
Graphics Lecture 13: Slide 1 Interactive Computer Graphics Lecture 13: Radiosity - Principles.
Binary Space Partitioning Trees Ray Casting Depth Buffering
CS559: Computer Graphics Lecture 9: Rasterization Li Zhang Spring 2008.
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.
Duy & Piotr. How to reconstruct a high quality image with the least amount of samples per pixel the least amount of resources And preserving the image.
CS 325 Introduction to Computer Graphics 03 / 29 / 2010 Instructor: Michael Eckmann.
Hank Childs, University of Oregon Volume Rendering, Part 3.
Interactive Graphics Lecture 10: Slide 1 Interactive Computer Graphics Lecture 10 Introduction to Surface Construction.
CHAPTER 5 CONTOURING. 5.3 CONTOURING Fig 5.7. Relationship between color banding and contouring Contour line (isoline): the same scalar value, or isovalue.
1 Georgia Tech, IIC, GVU, 2006 MAGIC Lab Rossignac Graphic pipeline  Scan-conversion algorithm (high level)  Pixels.
COMPUTER GRAPHICS CS 482 – FALL 2015 SEPTEMBER 29, 2015 RENDERING RASTERIZATION RAY CASTING PROGRAMMABLE SHADERS.
Unstructured Volume Rendering. Grid Types uniformrectilinearregularcurvilinear Structured Grids: regularirregularhybridcurved Unstructured Grids:
Pre-Integrated Volume Rendering: Past, Present, Future
Presented by 翁丞世  View Interpolation  Layered Depth Images  Light Fields and Lumigraphs  Environment Mattes  Video-Based.
A novel approach to visualizing dark matter simulations
Computational Photography Derek Hoiem, University of Illinois
Volume Rendering Lecture 21.
Real-Time Volume Graphics [06] Local Volume Illumination
Hank Childs, University of Oregon
Volume Rendering Lecture 21.
Plants from Images CS 658.
Visualization CSE 694L Roger Crawfis The Ohio State University.
Presentation transcript:

Unstructured Volume Rendering Jian Huang, CS 594, Spring 2002 This set of slides reference slides developed by Prof. Torsten Moeller, SFU, Canada

Grid Types uniformrectilinearregularcurvilinear Structured Grids: regularirregularhybridcurved Unstructured Grids:

Unstructured Grids still assume scalar data translation - as before translation matrix still the same classification - as before because it is still a scalar data type shading - same shading model(s) interpolation - problematic compositing - still BTF or FTB problem - how to sort?

Ray-Casting Garrity 1990 needs to figure out, where the ray is going then needs to figure out how to integrate along that ray assumes arbitrary polyhedra (as opposed to just tetrahedra as many other algorithm) image order FTB

Ray-Casting - basic algorithm For each ray –find intersection with first cell –interpolate a color, opacity value –while not outside the volume find exit point of ray in cell interpolate a color, opacity value integrate opacity/color along ray within cell

Ray-Casting - intersection point just look at all faces compute the intersection with all faces of the current cell and take the nearest requires cell organized data structure first cell - only consider faces that belong to only one cell A D C B

Ray-Casting - intersection point Intersection of ray defined by point d and direction vector e: d a c b

Ray-Casting - rendering integral classify scalar values at nodes into color/opacity it then linearly interpolates these values within a plane for the intersection points integrate along the cell by multiplying the average with the distance (another linear interpolation at work) needs the gradient for shading A D C B

Ray-Casting - gradients Vertices are not nicely aligned in x/y/z direction hence, we need to solve an equation system using any three pairs of neighboring points

Ray-Casting - conclusion Bottleneck - size of image (# of pixels) results for image: 960 cells seconds 1490 cells seconds 16,896 cells seconds 381,548 cells seconds may miss small polyhedra!!

Cell Projection Max, Hanrahan, Crawfis 1990 Shirley, Tuchman 1990 object order (cannot miss small structures) makes sense if one cell projects to many pixels based on tetrahedral decomposition

Cell Projection - basic algorithm Decompose volume into tetrahedral cells classify each tetrahedron according to its projected profile relative to a viewpoint find the positions of the tetrahedra vertices after the perspective transformation decompose projections of the tetrahedra into triangles find color and opacity values for the triangle vertices using ray integration in the original world coordinates scan convert the triangles on a graphics workstation

Cell Projection - tetrahedra Decompose volume into tetrahedral cells 5 or 6 tetrahedra are possible want least amount of computation for 5 - need to make sure that there will be no “cracks”

Cell Projection - tetrahedra for 5 - need to make sure that there will be no “cracks” I.e. edges need to line up properly

Cell Projection - projection classify each tetrahedron according to its projected profile relative to a viewpoint find the positions of the tetrahedra vertices after the perspective transformation

Projected Tetrahedra - decompose decompose projections of the tetrahedra into triangles

Cell Integration find color and opacity values for the triangle vertices using ray integration in the original world coordinates Sabella assumes, that volume density  (x,y,z) glows with an energy of C  per unit length and absorbs with an optical density of  (C and  are constants for a fixed material

Cell Integration How can we evaluate the rendering integral:

Cell Integration How can we evaluate D? linear interpolation (A=P(a) - P is the ray equation): and now:

Cell Integration How can we find S?  (u) is basically the transfer function it’s integral S(t) over a linear function could be pre- computed there is no restriction to the transfer function really scan convert the triangles on a graphics workstation

Projected Tetrahedra Shirley et al: find color and opacity values for the triangle vertices using ray integration in the original world coordinates at the thickest point scan convert the triangles on a graphics workstation then linearly interpolate this integral on the scanline can be implemented in hardware 0 I

Cell Integration Max et al: the integral is computed for each pixel/object scanline along the front and back face to determine front and back values of S(u). then we evaluate I with our formula

Depth Sorting But we need to repeat all these steps for all cells how to sort those cells? Max et al -> topological sort first: create a directed graph –nodes - cells –edges - faces –direction of edge means “in front of”

Depth Sorting do a topological sort of this graph (in linear time - linear in the order of the number of edges) only works if there are no cycles!

Rendering by Slicing Yagel et al 1996 uses the texture mapping hardware only implemented for tetrahedral grids cannot use the same algorithm as for regular grids where the slices are aligned along major axis we have to intersect the underlying geometry

Slicing - basic algorithm For any change in the viewing parameters –transform grid points into image space –determine z min and z max –dz = (z min -z max )/NumSlices –for i:=1 to NumSlices do slice the transformed cells with plane z slice render 2D polymesh and compose (hardware) z slice := z slice +dz for any change in the viewing parameters re-render polylist

Slicing - adaptive slicing Problem - might miss small detail idea: just keep (adaptively) subdividing until we sliced every polyhedra in that particular interval the compositing step must take care of different distance of slices

Slicing - progressive slicing Problem: How many slices do we need for a good image? Idea: time-quality tradeoff start with very few slices -> interactive display as long as the user isn’t changing the viewing parameters, keep refining -> hence progressively better images!

Splatting Mao, Hong, Kaufman 1995/96 extends the regular splatting ideas to irregular domain based on a resampling step based on Poisson distribution of new sample points

Splatting - basic algorithm For each cell –compute a random point –compute its extent (sphere/ellipse) by interpolating the gradients from the vertices –see whether it fits in the cell sort each ellpsoid/sphere splat each ellipsoid/sphere

Splatting - Poisson distribution Poisson distribution

Splatting - basic algorithm Pre-processing takes very long (days!!!) number of points increases dramatically alternative - just compute approximation of “bean- shapes” at the vertices (ellipsoids)

Splatting - sorting Mao doesn’t report anything specific can be done by quicksort better - topological sort