Surface displacement, tessellation, and subdivision Ikrima Elhassan.

Slides:



Advertisements
Similar presentations
Exploration of bump, parallax, relief and displacement mapping
Advertisements

Computer Graphics methods
3D Graphics Rendering and Terrain Modeling
Real-Time Rendering TEXTURING Lecture 02 Marina Gavrilova.
Cubic Curves CSE167: Computer Graphics Instructor: Steve Rotenberg UCSD, Fall 2006.
Results / Compared to Relief Mapping It does not scale linearly with screen coverage as does the other techniques. However, for larger displacements, it.
Lecture 29 of 42 Bezier Curves and Splines Wednesday, 02 April 2008
CS-378: Game Technology Lecture #5: Curves and Surfaces Prof. Okan Arikan University of Texas, Austin Thanks to James O’Brien, Steve Chenney, Zoran Popovic,
MIT EECS 6.837, Durand and Cutler Curves & Surfaces.
Damon Rocco.  Tessellation: The filling of a plane with polygons such that there is no overlap or gap.  In computer graphics objects are rendered as.
HCI 530 : Seminar (HCI) Damian Schofield.
Modelling. Outline  Modelling methods  Editing models – adding detail  Polygonal models  Representing curves  Patched surfaces.
2003 by Jim X. Chen: Introduction to Modeling Jim X. Chen George Mason University.
(conventional Cartesian reference system)
Content Subdivision First some basics (control point polygon, mesh)
CS148: Introduction to Computer Graphics Final Review Session.
Copyright  Philipp Slusallek IBR: View Interpolation Philipp Slusallek.
6.1 Vis_04 Data Visualization Lecture 6 - A Rough Guide to Rendering.
University of British Columbia CPSC 414 Computer Graphics © Tamara Munzner 1 Shading Week 5, Wed 1 Oct 2003 recap: lighting shading.
Part I: Basics of Computer Graphics Rendering Polygonal Objects (Read Chapter 1 of Advanced Animation and Rendering Techniques) Chapter
Painterly Rendering for Animation Barbara J. Meier Walt Disney Feature Animation SIGGRAPH 96.
Computer Graphics: Programming, Problem Solving, and Visual Communication Steve Cunningham California State University Stanislaus and Grinnell College.
Hidden Surface Removal
Modeling and representation 1 – comparative review and polygon mesh models 2.1 Introduction 2.2 Polygonal representation of three-dimensional objects 2.3.
Curves and Surfaces (cont’) Amy Zhang. Conversion between Representations  Example: Convert a curve from a cubic B-spline curve to the Bézier form:
Polygon Shading. Assigning color to a shape to make graphical scenes look realistic, or artistic, or whatever effect we’re attempting to achieve But first.
In the name of God Computer Graphics Modeling1. Today Introduction Modeling Polygon.
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.
COMP 175: Computer Graphics March 24, 2015
11/19/02 (c) 2002, University of Wisconsin, CS 559 Last Time Many, many modeling techniques –Polygon meshes –Parametric instancing –Hierarchical modeling.
Technology and Historical Overview. Introduction to 3d Computer Graphics  3D computer graphics is the science, study, and method of projecting a mathematical.
Computer graphics & visualization REYES Render Everything Your Eyes Ever Saw.
A D V A N C E D C O M P U T E R G R A P H I C S CMSC 635 January 15, 2013 Spline curves 1/23 Curves and Surfaces.
Definitions Spectral Elements – data structures that contain information about data at points within each geometric entity. Finite elements only hold information.
CSE167: Computer Graphics Instructor: Steve Rotenberg UCSD, Fall 2005
Interactive Rendering of Meso-structure Surface Details using Semi-transparent 3D Textures Vision, Modeling, Visualization Erlangen, Germany November 16-18,
Week 11 - Thursday.  What did we talk about last time?  Image processing  Blurring  Edge detection  Color correction  Tone mapping  Lens flare.
Numerical Computation
Quadratic Surfaces. SPLINE REPRESENTATIONS a spline is a flexible strip used to produce a smooth curve through a designated set of points. We.
Unstructured Volume Rendering Jian Huang, CS 594, Spring 2002 This set of slides reference slides developed by Prof. Torsten Moeller, SFU, Canada.
Image Synthesis Rabie A. Ramadan, PhD 1. 2 About my self Rabie A. Ramadan My website and publications
Stream Processing Main References: “Comparing Reyes and OpenGL on a Stream Architecture”, 2002 “Polygon Rendering on a Stream Architecture”, 2000 Department.
Chapter VI Parametric Curves and Surfaces
Course 13 Curves and Surfaces. Course 13 Curves and Surface Surface Representation Representation Interpolation Approximation Surface Segmentation.
CS559: Computer Graphics Lecture 24: Shape Modeling Li Zhang Spring 2010.
- Laboratoire d'InfoRmatique en Image et Systèmes d'information
Review on Graphics Basics. Outline Polygon rendering pipeline Affine transformations Projective transformations Lighting and shading From vertices to.
Representation and modelling 3 – landscape specialisations 4.1 Introduction 4.2 Simple height field landscapes 4.3 Procedural modeling of landscapes- fractals.
Lecture 6 Rasterisation, Antialiasing, Texture Mapping,
CHAPTER 5 CONTOURING. 5.3 CONTOURING Fig 5.7. Relationship between color banding and contouring Contour line (isoline): the same scalar value, or isovalue.
Real-Time Relief Mapping on Arbitrary Polygonal Surfaces Fabio Policarpo Manuel M. Oliveira Joao L. D. Comba.
CS559: Computer Graphics Final Review Li Zhang Spring 2010.
CS 450: Computer Graphics PARAMETRIC SPLINES AND SURFACES
COMPUTER GRAPHICS CS 482 – FALL 2015 SEPTEMBER 29, 2015 RENDERING RASTERIZATION RAY CASTING PROGRAMMABLE SHADERS.
CS 445 / 645: Introductory Computer Graphics Review.
Introduction to Meshes Lecture 22 Mon, Oct 20, 2003.
Graphics, Modeling, and Textures Computer Game Design and Development.
DPL3/10/2016 CS 551/651: Simplification Continued David Luebke
1cs426-winter-2008 Notes. 2 Atop operation  Image 1 “atop” image 2  Assume independence of sub-pixel structure So for each final pixel, a fraction alpha.
CS559: Computer Graphics Lecture 33: Shape Modeling Li Zhang Spring 2008.
Real-Time Relief Mapping on Arbitrary Polygonal Surfaces Fabio Policarpo Manuel M. Oliveira Joao L. D. Comba.
Siggraph 2009 RenderAnts: Interactive REYES Rendering on GPUs Kun Zhou Qiming Hou Zhong Ren Minmin Gong Xin Sun Baining Guo JAEHYUN CHO.
Rendering Pipeline Fall, 2015.
3D Graphics Rendering PPT By Ricardo Veguilla.
The Graphics Rendering Pipeline
© University of Wisconsin, CS559 Fall 2004
Graphics, Modeling, and Textures
© University of Wisconsin, CS559 Spring 2004
Introduction to Meshes
Introduction to Meshes
Presentation transcript:

Surface displacement, tessellation, and subdivision Ikrima Elhassan

Overview The Reyes image rendering architecture", Cook et al., SIGGRAPH 1987 The Reyes image rendering architecture Curved PN triangles", Vlachos, Peters, Boyd, and Mitchell, Symposium on Interactive 3D Graphics, 2001 Curved PN triangles

Reyes Architecture: Support Goals Speed (render high quality film in less than a year) Shading/Model Complexity & Diversity Minimal Raytracing Image Quality Flexibility

Design Goals Natural Coordinates Vectorization Common underlying representation Locality Linearity Large Models Back door

Geometric Locality & Sampling Raytracing can cause model and texture paging to dominate rendering time as model complexity increases Uses stochastic sampling called jittering

MicroPolygons ½ pixel in length for Nyquist limit Dice primitives along natural boundaries Done in eyespace Results in a grid with shared vertices

Micropolygons: Adv vs. Disadvantages Vectorizable Texture locality & filtering Subdivision coherence Ease of Clipping & Displacement maps No perspective Shading occurs on nonvisible micropolygons Rendering time becomes tied to depth complexity

Texture Locality 2 Classes of Textures: CATs & RATs Sequential access with CATs Can eliminate filtering

Description Algorithm Bounded primitives (not necessarily tight) Primitives must be able to break down into diceable primitives Must be able to split primitives Diceability test – returns “diceable” or “not diceable”

Algorithm Description (Continued) Does not require clipping Use ε plane to avoid invalid perspective calculation Primitives with 0<z < ε are split until no primitives span the ε plane

Extensions Constructive Solid Geometry Transparency Depth of field Motion Blur

Implementation Bucket Rendering Each primitive is diced or split and put into corresponding bucket Only one bucket is needed at a time Lowers memory requirements

Final Thoughts on Reyes No inverse calculations No clipping calculations Very vectorized No texture thrashing and can eliminate run time filtering Sampling occurs after shading Difficult to handle metaballs Hard to bound primitives such as particle systems for bucket sort Polygons don’t have natural coordinate system

N-Patches

Issues with new geometric primitives Must be compatible with work already in progress Must be backward compatible Fit existing hardware designs

N-patches: Advantages Curved surfaces Improved visual quality (smooth silhouettes and better vertex shading) Do not require developers to store geometry differently (triangles) Minimize change to API’s Minimize bandwidth

Goals Isolation (cannot access mesh neighbors) Fast Evaluation (including normal) Modeling range (smoother contours and better shading)

Interpolation Use barycentric coordinates for triangular domain Consider a set of points P 0, P 1,…, P n, and consider the set of all affine combinations taken from these points. That is all points that can be written as for some This set of points forms an affine space, and the coordinates are called the barycentric coordinates of the points of the space. Recall that a point within a triangle Δp0p1p2, can be described as p(u,v) = p0 + u(p1-p0) + v(p2-p0) = (1- u-v)p0 + up1 + vp2, where (u,v) are the barycentric coordinates Bicubic interpolation results in C 2 surfaces Given a tabulated function yi = y(xi), i = 1...N, focus attention on one particular interval, between xj and xj+1. Linear interpolation in that interval gives the interpolation formula y = Ayj + By(j+1) If we have yi”, we can add to the right- hand side of equation a cubic polynomial whose second derivative varies linearly from a value y j on the left to a value y (j+1) on the right.

Geometry: cubic B´ezier B ijk = control points = coefficients Makes up the “control net” Cubic interpolation

Normal: quadratic B´ezier Linear or Quadratic Interpolation

Algorithm LOD = # vertices -2 on an edge Tangent coefficients determined by planer projection

Algorithm (Continued) Quadratic interpolation allows for inflection between vertices

Examples of N-patches

Sharp Edges Proven that you cant have creases with purely local information More than distinct normal per vertex causes holes or cracks Not really discussed in detail, solution is to add more triangles

Hardware Performance Operations are dot products, addition of two vectors, scaling, and per-component multiply of two vectors Uses 6.8 to 11.6 vector operations per generated vertex Fill rate is not a bottleneck, since screen area is unchanged Key limiting factor, most of time, is bandwidth Overhead in additional transformation of vertices Reduces calculation for key-frame interpolation and collision detection Might be able to shift pixel shading to vertex shading

Advantages Generated on-chip Saves bandwidth and memory Curved surfaces and better shading Cant control curvature No sharp edges