University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2007 Tamara Munzner Visualization Week 11,

Slides:



Advertisements
Similar presentations
Reconstruction from Voxels (GATE-540)
Advertisements

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.
David Luebke1/19/99 CS 551/651: Antialiasing David Luebke
CLASS 9 ADVANCE RENDERING RAY TRACING RADIOSITY LIGHT FIELD CS770/870.
CS 551 / CS 645 Antialiasing. What is a pixel? A pixel is not… –A box –A disk –A teeny tiny little light A pixel is a point –It has no dimension –It occupies.
Volume Rendering Volume Modeling Volume Rendering Volume Modeling Volume Rendering 20 Apr
Direct Volume Rendering (DVR): Ray-casting
University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2005 Tamara Munzner Final Review Week 13,
University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2005 Tamara Munzner Virtual Trackball, Scientific.
University of British Columbia CPSC 314 Computer Graphics May-June 2005 Tamara Munzner Scientific Visualization,
University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2005 Tamara Munzner Information Visualization.
1 Scientific Visualization Melanie Tory Acknowledgments: Torsten Möller (Simon Fraser University) Raghu Machiraju (Ohio State University) Klaus Mueller.
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.
(conventional Cartesian reference system)
X86 and 3D graphics. Quick Intro to 3D Graphics Glossary: –Vertex – point in 3D space –Triangle – 3 connected vertices –Object – list of triangles that.
Introduction to Volume Visualization Mengxia Zhu Fall 2007.
University of British Columbia CPSC 414 Computer Graphics © Tamara Munzner 1 Sampling Week 7, Fri 17 Oct 2003 p1 demos sampling.
University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2010 Tamara Munzner Spatial/Scientific Visualization.
University of British Columbia CPSC 414 Computer Graphics © Tamara Munzner 1 Scan Conversion Week 6, Fri 10 Oct 2003 sampling.
Volume Visualization Acknowledgements: Torsten Möller (SFU)
6.1 Vis_04 Data Visualization Lecture 6 - A Rough Guide to Rendering.
Coordinate Systems X Y Z (conventional Cartesian reference system) X Y Z.
Direct Volume Rendering w/Shading via Three- Dimensional Textures.
University of British Columbia CPSC 414 Computer Graphics © Tamara Munzner 1 Shading Week 5, Wed 1 Oct 2003 recap: lighting shading.
ITUppsala universitet Data representation and fundamental algorithms Filip Malmberg
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.
Computer Graphics Inf4/MSc Computer Graphics Lecture 11 Texture Mapping.
Ray Tracing Primer Ref: SIGGRAPH HyperGraphHyperGraph.
Volumetric and Blobby Objects Lecture 8 (Modelling)
1 Computer Graphics Week13 –Shading Models. Shading Models Flat Shading Model: In this technique, each surface is assumed to have one normal vector (usually.
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.
Scientific Visualization Module 6 Volumetric Algorithms (adapted by S.V. Moore – slides deleted, modified, and added) prof. dr. Alexandru (Alex) Telea.
University of Coimbra Reconstruction of Voxels from Sensor Data Ricardo Martins Coimbra, 19 th January 2010 Doctoral Programme in Electrical Engineering.
REAL-TIME VOLUME GRAPHICS Christof Rezk Salama Computer Graphics and Multimedia Group, University of Siegen, Germany Eurographics 2006 Real-Time Volume.
C O M P U T E R G R A P H I C S Guoying Zhao 1 / 14 C O M P U T E R G R A P H I C S Guoying Zhao 1 / 14 Going-through.
Graphics Graphics Korea University cgvr.korea.ac.kr Solid Modeling 고려대학교 컴퓨터 그래픽스 연구실.
ITUppsala universitet Advanced Computer Graphics Filip Malmberg
Marching Cubes: A High Resolution 3D Surface Construction Algorithm William E. Lorenson Harvey E. Cline General Electric Company Corporate Research and.
Week 2 - Friday.  What did we talk about last time?  Graphics rendering pipeline  Geometry Stage.
Direct Volume Rendering (DVR): Ray-casting Jian Huang This set of slides references slides used by Prof. Torsten Moeller (Simon Fraser), Prof. Han-Wei.
University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2007 Tamara Munzner Blending, Modern Hardware.
CS447/ Realistic Rendering -- Radiosity Methods-- Introduction to 2D and 3D Computer 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.
Real-Time rendering Chapter 4.Visual Appearance 4.4. Aliasing and antialiasing 4.5. Transparency,alpha,and compositing 4.6. Fog 4.7. Gamma correction
3D Volume Visualization. Volume Graphics  Maintains a 3D image representation that is close to the underlying fully-3D object (but discrete)  경계표면 (Boundary.
University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2007 Tamara Munzner Collision II, Antialiasing.
CHAPTER 5 CONTOURING. 5.3 CONTOURING Fig 5.7. Relationship between color banding and contouring Contour line (isoline): the same scalar value, or isovalue.
CS559: Computer Graphics Final Review Li Zhang Spring 2010.
3-D Information cs5764: Information Visualization Chris North.
CS559: Computer Graphics Lecture 12: Antialiasing & Visibility Li Zhang Spring 2008.
CDS 301 Fall, 2008 Domain-Modeling Techniques Chap. 8 November 04, 2008 Jie Zhang Copyright ©
Sampling Week 7, Fri 17 Oct 2003 p1 demos sampling.
Week 2 - Friday CS361.
Volume Visualization Chap. 10 November 20 , 2008 Jie Zhang Copyright ©
CSc4730/6730 Scientific Visualization
Scientific Visualization, Information Visualization I/II Week 5, Thu Jun 9
Volume Rendering Lecture 21.
Real-Time Volume Graphics [06] Local Volume Illumination
Domain-Modeling Techniques
Volume Rendering (2).
CSc4730/6730 Scientific Visualization
Volume Rendering Lecture 21.
The Graphics Pipeline Lecture 5 Mon, Sep 3, 2007.
Adding Surface Detail 고려대학교 컴퓨터 그래픽스 연구실.
Adding Surface Detail 고려대학교 컴퓨터 그래픽스 연구실.
Presentation transcript:

University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2007 Tamara Munzner Visualization Week 11, Fri Mar 30

2 News extra TA office hours in lab for hw/project Q&A next week: Thu 4-6, Fri 10-2 last week of classes: Mon 2-5, Tue 4-6, Wed 2-4, Thu 4-6, Fri 9-6 final review Q&A session Mon Apr reminder: no lecture/labs Fri 4/6, Mon 4/9

3 Review: Collision Proxy Tradeoffs increasing complexity & tightness of fit decreasing cost of (overlap tests + proxy update) AABB OBB Sphere Convex Hull 6-dop collision proxy (bounding volume) is piece of geometry used to represent complex object for purposes of finding collision proxies exploit facts about human perception we are bad at determining collision correctness especially many things happening quickly

4 Review: Spatial Data Structures uniform grids bounding volume hierarchies octrees BSP trees kd-trees OBB trees

5 Review: Aliasing incorrect appearance of high frequencies as low frequencies to avoid: antialiasing supersample sample at higher frequency low pass filtering remove high frequency function parts aka prefiltering, band-limiting

6 Review: Supersample and Average supersample: create image at higher resolution e.g. 768x768 instead of 256x256 shade pixels wrt area covered by thick line/rectangle average across many pixels e.g. 3x3 small pixel block to find value for 1 big pixel rough approximation divides each pixel into a finer grid of pixels 6/99/9 5/99/9 0/9 4/9

7 Review: Image As Signal 1D slice of raster image discrete sampling of 1D spatial signal theorem any signal can be represented as an (infinite) sum of sine waves at different frequencies Examples from Foley, van Dam, Feiner, and Hughes Pixel position across scanline Intensity

8 Review: Sampling Theorem and Nyquist Rate Shannon Sampling Theorem continuous signal can be completely recovered from its samples iff sampling rate greater than twice maximum frequency present in signal sample past Nyquist Rate to avoid aliasing twice the highest frequency component in the image’s spectrum

9 Review: Low-Pass Filtering

10 Scientific Visualization

11 Reading FCG Chapter 23

12 Surface Graphics objects explicitly defined by surface or boundary representation mesh of polygons 200 polys 1000 polys polys

13 Surface Graphics pros fast rendering algorithms available hardware acceleration cheap OpenGL API for programming use texture mapping for added realism cons discards interior of object, maintaining only the shell operations such cutting, slicing & dissection not possible no artificial viewing modes such as semi- transparencies, X-ray surface-less phenomena such as clouds, fog & gas are hard to model and represent

14 Volume Graphics for some data, difficult to create polygonal mesh voxels: discrete representation of 3D object volume rendering: create 2D image from 3D object translate raw densities into colors and transparencies different aspects of the dataset can be emphasized via changes in transfer functions

15 Volume Graphics pros formidable technique for data exploration cons rendering algorithm has high complexity! special purpose hardware costly (~$3K-$10K) volumetric human head (CT scan)

16 Isosurfaces 2D scalar fields: isolines contour plots, level sets topographic maps 3D scalar fields: isosurfaces

17 Volume Graphics: Examples anatomical atlas from visible human (CT & MRI) datasets industrial CT - structural failure, security applications flow around airplane wing shockwave visualization: simulation with Navier-Stokes PDEs

18 Isosurface Extraction array of discrete point samples at grid points 3D array: voxels find contours closed, continuous determined by iso-value several methods marching cubes is most common Iso-value = 5

19 MC 1: Create a Cube consider a cube defined by eight data values (i,j,k)(i+1,j,k) (i,j+1,k) (i,j,k+1) (i,j+1,k+1)(i+1,j+1,k+1) (i+1,j+1,k) (i+1,j,k+1)

20 MC 2: Classify Each Voxel classify each voxel according to whether lies outside the surface (value > iso-surface value) inside the surface (value <= iso-surface value) 8 Iso= Iso=9 =inside =outside

21 MC 3: Build An Index binary labeling of each voxel to create index v1v2 v6 v3 v4 v7 v8 v5 inside =1 outside= Index: v1v2 v3 v4 v5v6 v7v8

22 MC 4: Lookup Edge List use index to access array storing list of edges all 256 cases can be derived from 15 base cases

23 MC 4: Example index = triangle 1 = a, b, c a b c

24 MC 5: Interpolate Triangle Vertex for each triangle edge find vertex location along edge using linear interpolation of voxel values =10 =0 T=8 T=5 i i+1 x

25 MC 6: Compute Normals calculate the normal at each cube vertex use linear interpolation to compute the polygon vertex normal

26 MC 7: Render!

27 Direct Volume Rendering do not compute surface

28 Rendering Pipeline Classify

29 Classification data set has application-specific values temperature, velocity, proton density, etc. assign these to color/opacity values to make sense of data achieved through transfer functions

30 Transfer Functions map data value to color and opacity

31 Transfer Functions Human Tooth CT (f)(f) RGB(f)RGB(f) f RGBRGB shading, compositing…  Gordon Kindlmann

32 Setting Transfer Functions can be difficult, unintuitive, and slow f  f  f  f  Gordon Kindlmann

33 Rendering Pipeline Classify Shade

34 Light Effects usually only consider reflected part Light absorbed transmitted reflected Light=refl.+absorbed+trans. Light ambient specular diffuse Light=ambient+diffuse+specular

35 Rendering Pipeline Classify Shade Interpolate

36 Interpolation given: needed: 2D 1D given: needed: nearest neighbor linear

37 Rendering Pipeline Classify Shade Interpolate Composite

38 Volume Rendering Algorithms ray casting image order, forward viewing splatting object order, backward viewing texture mapping object order back-to-front compositing

39 Ray Traversal Schemes Depth Intensity Max Average Accumulate First

40 Ray Traversal - First first: extracts iso-surfaces (again!) Depth Intensity First

41 Ray Traversal - Average average: looks like X-ray Depth Intensity Average

42 Ray Traversal - MIP max: Maximum Intensity Projection used for Magnetic Resonance Angiogram Depth Intensity Max

43 Ray Traversal - Accumulate accumulate: make transparent layers visible Depth Intensity Accumulate

44 Splatting each voxel represented as fuzzy ball 3D gaussian function RGBa value depends on transfer function fuzzy balls projected on screen, leaving footprint called splat composite front to back, in object order

45 Texture Mapping 2D: axis aligned 2D textures back to front compositing commodity hardware support must calculate texture coordinates, warp to image plane 3D: image aligned 3D texture simple to generate texture coordinates

46 InfoVis Example: TreeJuxtaposer side by side comparison of evolutionary trees stretch and squish navigation guaranteed visibility progressive rendering demo - downloadable from