Sorting and cell compositing for irregular meshes Nelson Max, Peter Williams, Richard Cook, Claudio Silva.

Slides:



Advertisements
Similar presentations
Visible-Surface Detection(identification)
Advertisements

Polygon Scan Conversion – 11b
Lecture 8 Transparency, Mirroring
8.1 Prisms, Area and Volume Prism – 2 congruent polygons lie in parallel planes corresponding sides are parallel. corresponding vertices are connected.
CS 450: COMPUTER GRAPHICS FILLING POLYGONS SPRING 2015 DR. MICHAEL J. REALE.
CSC418 Computer Graphics n Polygon normals n Back Faces n Visibility Algorithms.
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.
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.
CAP4730: Computational Structures in Computer Graphics Visible Surface Determination.
Computer Graphics Visible Surface Determination. Goal of Visible Surface Determination To draw only the surfaces (triangles) that are visible, given a.
Part I: Basics of Computer Graphics
Bell Ringer Get out your notebook and prepare to take notes on Chapter 8 What is the difference between two-dimensional and three-dimensional?
Tutorial 2 – Computational Geometry
17. Computational Geometry Chapter 7 Voronoi Diagrams.
Informationsteknologi Thursday, November 22, 2007Computer Graphics - Class 111 Today’s class Clipping Parametric and point-normal form of lines Intersecting.
University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2005 Tamara Munzner Information Visualization.
Surface Reconstruction from 3D Volume Data. Problem Definition Construct polyhedral surfaces from regularly-sampled 3D digital volumes.
CGDD 4003 THE MASSIVE FIELD OF COMPUTER GRAPHICS.
Hidden Surface Elimination Wen-Chieh (Steve) Lin Institute of Multimedia Engineering I-Chen Lin’ CG Slides, Rich Riesenfeld’s CG Slides, Shirley, Fundamentals.
Rasterization May 14, Triangles Only We will discuss the rasterization of triangles only. Why? –Polygon can be decomposed into triangles. –A triangle.
Hardware-Assisted Visibility Sorting for Tetrahedral Volume Rendering Steven Callahan Milan Ikits João Comba Cláudio Silva Steven Callahan Milan Ikits.
Vertices and Fragments III Mohan Sridharan Based on slides created by Edward Angel 1 CS4395: Computer Graphics.
CSE 872 Dr. Charles B. Owen Advanced Computer Graphics1 Other Rendering Techniques Types of rendering – Wireframe techniques – Scan-line conversion – Reyes.
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.
Polygon Scan Conversion and Z-Buffering
University of Illinois at Chicago Electronic Visualization Laboratory (EVL) CS 426 Intro to 3D Computer Graphics © 2003, 2004, 2005 Jason Leigh Electronic.
Polygons Two-dimensional shapes that have three or more sides made from straight lines. Examples: triangles squares rectangles.
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.
Geometry The strand of math that deals with measurement and comparing figures, both plane and solid .
Attributes A quality that is characteristic of someone or something.
SOLID FIGURES SPI
The Geometry of Solids Section 10.1.
COMP 261 Lecture 16 3D Rendering. input: set of polygons viewing direction direction of light source(s) size of window. output: an image Actions rotate.
The BSP-tree from Prof. Seth MIT.. Motivation for BSP Trees: The Visibility Problem We have a set of objects (either 2d or 3d) in space. We have.
Acute angle An angle with a measure less than 90 degrees.
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.
CAP4730: Computational Structures in Computer Graphics
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
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.
Computer Graphics Basic 3D Geometry CO2409 Computer Graphics Week 5-1.
Implementation II.
1 Visiblity: Culling and Clipping Computer Graphics COMP 770 (236) Spring 2009 January 21 & 26: 2009.
Review on Graphics Basics. Outline Polygon rendering pipeline Affine transformations Projective transformations Lighting and shading From vertices to.
Chapter Area, Pythagorean Theorem, and Volume 14 Copyright © 2013, 2010, and 2007, Pearson Education, Inc.
Hank Childs, University of Oregon Volume Rendering, Part 3.
Attributes A quality that is characteristic of someone or something.
Ch 12 and 13 Definitions. 1. polyhedron A solid with all flat surfaces that enclose a single region of space.
11/24/ :45 Graphics II Shadow Maps Reflections Session 5.
Computer Graphics I, Fall 2010 Implementation II.
Unstructured Volume Rendering. Grid Types uniformrectilinearregularcurvilinear Structured Grids: regularirregularhybridcurved Unstructured Grids:
Render methods. Contents Levels of rendering Wireframe Plain shadow Gouraud Phong Comparison Gouraud-Phong.
Computer Graphics Lecture 08 Taqdees A. Siddiqi Computer Graphics Filled Area Primitives I Lecture 08 Taqdees A. Siddiqi
Introduction to 3D Solids and Solids of Revolution Some 3D shapes can be formed by revolving a 2D shape around a line (called the axis of revolution).
Spring 2006 G5BAGR – Advanced Computer Graphics
Visible Surface Detection
Computer Graphics Implementation II
8.1 Angles of Polygons What you’ll learn:
The Graphics Rendering Pipeline
Introduction to Meshes
Vertical Angles Vertical angles are across from each other and are created by intersecting lines.
14 Chapter Area, Pythagorean Theorem, and Volume
Introduction to Meshes
Presentation transcript:

Sorting and cell compositing for irregular meshes Nelson Max, Peter Williams, Richard Cook, Claudio Silva

Large LLNL simulations have Irregular meshes of mixed “zoo” cell types: hexahedra, tetrahedra, pyramids & prisms Millions of cells of different sizes Non-planar quadrilateral faces Non-convex data volumes

Polyhedron compositing Composite RGBA cell projections using software or hardware polygon rendering Requires global back-to-front visibility sort, so that if cell A hides cell B, B comes first

Topological sort for convex data volume of convex cells with planar faces Build a directed graph, with an edge for every interior face, directed at the cell on the same side of the face plane as the viewpoint FA B V

Count dependency (incoming edges) for each cell Put cells with dependency count zero on queue While queue is not empty, move next cell A on queue to output list. Decrement dependency counts for each cell B pointed to by A. If B’s dependency count becomes zero put B on queue. Visibility cycle if queue empty and cells left over.

SXMPVO for non-convex volumes Sort exterior faces by centers of gravity For each exterior face in back to front order For each pixel in face, add face to depth sorted list of exterior faces for pixel For each pixel’s list Skip first entry For each successive pair (A, B) in pixel list add a new directed edge from A to B, if one is not yet present

Software cell projection algorithm Scan convert RGB  z of front faces into front buffer Scan convert RGB  z of back faces into back buffer For all pixels Compute length of ray segment from frontz - backz. Do analytic integrations for RGBA Composite into final image

Hardware cell projection algorithm Divide image plane into polygons by adding projected edges one by one to a winged edge data structure. For each vertex, interpolate front and back RGB  z (  = extinction coefficient) and do RGBA integrals. Convert polygons to triangle fans for hardware to interpolate and composite.

Producing correct opacity per pixel If the extinction coefficient  (s) varies linearly along the ray, with average , and d is the length of the ray segment, the opacity is A = 1. - exp(-  d) d and  vary linearly across each polygon so they can be interpolated as texture coordinates Load texture_table(u, v) with 1. - exp(-uv)

A cell with a non-planar face F Divide F into two triangles, using diagonal from vertex of lowest index. A face F or cell A is a problem face or cell if a viewing ray can intersect it twice. Subdivide all problem cells into tetrahedra. AFB

Parallelizing projection and integration Multiple projection threads take blocks of cells from sorting thread, and prepare blocks of triangle fans for OpenGL thread

Piecewise-linear transfer functions Exact color integration only possible for linear transfer functions

Divide all cells with contour surfaces or breakpoints in the transfer functions into tetrahedra. Then divide the tetrahedra into slabs at the contour values. Sort tetrahedra Sort slabs in each tetrahedron Draw contour polygons

Quadratic tetrahedra (10 nodes) Position linear; function quadratic Divide into curved slabs Ray trace to quadric contours Gauss integration for color on ray segments within slabs