Curved PN Triangles. Alex Vlachos Jörg Peters

Similar documents
Curved PN Triangles. Alex Vlachos Jörg Peters Chas Boyd Jason L. Mitchell

Computer Graphics CS 543 Lecture 13a Curves, Tesselation/Geometry Shaders & Level of Detail

Surface Modeling. Polygon Tables. Types: Generating models: Polygon Surfaces. Polygon surfaces Curved surfaces Volumes. Interactive Procedural

Information Coding / Computer Graphics, ISY, LiTH. Splines

3D Modeling Parametric Curves & Surfaces. Shandong University Spring 2013

Shading. Introduction to Computer Graphics Torsten Möller. Machiraju/Zhang/Möller/Fuhrmann

Review of Tuesday. ECS 175 Chapter 3: Object Representation

Computer Graphics I Lecture 11

Curves & Surfaces. Last Time? Progressive Meshes. Selective Refinement. Adjacency Data Structures. Mesh Simplification. Mesh Simplification

Approximating Subdivision Surfaces with Gregory Patches for Hardware Tessellation

For each question, indicate whether the statement is true or false by circling T or F, respectively.

Curves. Computer Graphics CSE 167 Lecture 11

3D Modeling Parametric Curves & Surfaces

Curves and Surfaces Computer Graphics I Lecture 9

Computer Graphics Curves and Surfaces. Matthias Teschner

Level of Details in Computer Rendering

Curves and Surfaces for Computer-Aided Geometric Design

CHAPTER 1 Graphics Systems and Models 3

Subdivision Surfaces

Approximate Catmull-Clark Patches. Scott Schaefer Charles Loop

Curves & Surfaces. MIT EECS 6.837, Durand and Cutler

Curves and Surfaces Computer Graphics I Lecture 10

CSE 167: Introduction to Computer Graphics Lecture #11: Bezier Curves. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2016

Computergrafik. Matthias Zwicker Universität Bern Herbst 2016

Subdivision Surfaces

CSE 167: Introduction to Computer Graphics Lecture 12: Bézier Curves. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2013

Approximating Catmull-Clark Subdivision Surfaces with Bicubic Patches

CSE 167: Introduction to Computer Graphics Lecture #13: Curves. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2017

INF3320 Computer Graphics and Discrete Geometry

CS452/552; EE465/505. Clipping & Scan Conversion

D3D11 Tessellation. Sarah Tariq NVIDIA

Beginning Direct3D Game Programming: 1. The History of Direct3D Graphics

Spring 2012 Final. CS184 - Foundations of Computer Graphics. University of California at Berkeley

Module Contact: Dr Stephen Laycock, CMP Copyright of the University of East Anglia Version 1

Direct Rendering of Trimmed NURBS Surfaces

Computer Graphics 1. Chapter 2 (May 19th, 2011, 2-4pm): 3D Modeling. LMU München Medieninformatik Andreas Butz Computergraphik 1 SS2011

Computergrafik. Matthias Zwicker. Herbst 2010

Ray Casting of Trimmed NURBS Surfaces on the GPU

From curves to surfaces. Parametric surfaces and solid modeling. Extrusions. Surfaces of revolution. So far have discussed spline curves in 2D

Localized Construction of Curved Surfaces from Polygon Meshes: A Simple and Practical Approach on GPU

Higher Order Surfaces in OpenGL with NV_evaluators. Sébastien Dominé

The Application Stage. The Game Loop, Resource Management and Renderer Design

Mach band effect. The Mach band effect increases the visual unpleasant representation of curved surface using flat shading.

Advanced Computer Graphics

The Essentials of CAGD

Chapter 4-3D Modeling

Rendering Curves and Surfaces. Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico

Lecture 4: Geometry Processing. Kayvon Fatahalian CMU : Graphics and Imaging Architectures (Fall 2011)

Motivation MGB Agenda. Compression. Scalability. Scalability. Motivation. Tessellation Basics. DX11 Tessellation Pipeline

PN-triangle tessellation using Geometry shaders

PNG1 Triangles for Tangent Plane Continuous Surfaces on the GPU

Lecture IV Bézier Curves

Graphics Shaders. Theory and Practice. Second Edition. Mike Bailey. Steve Cunningham. CRC Press. Taylor&FnincIs Croup tootutor London New York

Interactive Computer Graphics A TOP-DOWN APPROACH WITH SHADER-BASED OPENGL

Introduction to the Mathematical Concepts of CATIA V5

Spline Functions on Triangulations

Approximating Catmull-Clark Subdivision Surfaces with Bicubic Patches

Efficient Substitutes for Subdivision Surfaces

Curves and Surfaces 2

Introduction to Computer Graphics

CS337 INTRODUCTION TO COMPUTER GRAPHICS. Describing Shapes. Constructing Objects in Computer Graphics. Bin Sheng Representing Shape 9/20/16 1/15

Mattan Erez. The University of Texas at Austin

Direct Rendering. Direct Rendering Goals

Tamy Boubekeur & Christophe Schlick

CS123 INTRODUCTION TO COMPUTER GRAPHICS. Describing Shapes. Constructing Objects in Computer Graphics 1/15

On Smooth Bicubic Surfaces from Quad Meshes

3/1/2010. Acceleration Techniques V1.2. Goals. Overview. Based on slides from Celine Loscos (v1.0)

OUTLINE. Quadratic Bezier Curves Cubic Bezier Curves

1. Introduction. 2. Parametrization of General CCSSs. 3. One-Piece through Interpolation. 4. One-Piece through Boolean Operations

Graphics and Visualization (GV)

Shape modeling Modeling technique Shape representation! 3D Graphics Modeling Techniques

Computer Graphics Splines and Curves

GLOBAL EDITION. Interactive Computer Graphics. A Top-Down Approach with WebGL SEVENTH EDITION. Edward Angel Dave Shreiner

2D Spline Curves. CS 4620 Lecture 18

Curves and Surfaces. Shireen Elhabian and Aly A. Farag University of Louisville

Why modern versions of OpenGL should be used Some useful API commands and extensions

Smooth Surfaces from 4-sided Facets

CS230 : Computer Graphics Lecture 4. Tamar Shinar Computer Science & Engineering UC Riverside

3D Rasterization II COS 426

An algorithm for polygon subdivision based on vertex normals

Curves and Curved Surfaces. Adapted by FFL from CSE167: Computer Graphics Instructor: Ronen Barzel UCSD, Winter 2006

CSE 167: Introduction to Computer Graphics Lecture #6: Lights. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2014

Surface Rendering. Surface Rendering

CS 130 Final. Fall 2015

Central issues in modelling

Towards Adaptive Rendering of Smooth Primitives on GPUs

Hardware Displacement Mapping

Lahore University of Management Sciences. CS 452 Computer Graphics

Interpolation using scanline algorithm

Bezier Curves, B-Splines, NURBS

A SIMD-efficient 14 Instruction Shader Program for High-Throughput Microtriangle Rasterization

ECE 600, Dr. Farag, Summer 09

CS130 : Computer Graphics. Tamar Shinar Computer Science & Engineering UC Riverside

Objects 2: Curves & Splines Christian Miller CS Fall 2011

Interactive Graphics. Lecture 9: Introduction to Spline Curves. Interactive Graphics Lecture 9: Slide 1

IMAGE-BASED RENDERING

Final Project, Digital Geometry Processing

Normals of subdivision surfaces and their control polyhedra

Lecture 25: Bezier Subdivision. And he took unto him all these, and divided them in the midst, and laid each piece one against another: Genesis 15:10

CS-184: Computer Graphics

Transcription:

1 Curved PN Triangles Alex Vlachos AVlachos@ati.com Jörg Peters jorg@cise.ufl.edu

Outline 2 Motivation Constraints Surface Properties Performance Demo

Quick Demo 3

Constraints 4 Software Developers Must fit into their art and engineering pipelines Must be compatible with work already in progress Must be backward compatible API s: OpenGL & Microsoft s Direct3D Expressible through the API concisely Minimal change (vertex buffers and index buffers) Hardware Performance Cost Fits current architecture

Goal: Improve Visual Quality No paradigm change for developers & artists Do not require developers to store geometry differently (triangles) Wide array of art content is usable Backwards compatible Minimize change to API s Use existing data structures No explicit connectivity information Fit existing hardware designs 5

Rendering Curved Surfaces 6 Visual cues Smooth silhouettes Lighting cues on the interior of polygons Separability of normal and position Familiar paradigm: bump mapping Visual Smoothness Curved PN Triangles provide Improved silhouettes Additional sample points for per-vertex operations Lighting operations (approximate Phong shading) Vertex shaders

7 Vertex and Index Buffers Index Buffer Vertex Buffer Triangle 0 Triangle 1 Triangle 2 0 4 7 2 4 9 8 2 3. P 0,N 0 P 1,N 1 P 2,N 2 P 3,N 3 P 4,N 4 P 5,N 5 P 6,N 6 P 7,N 7 P 8,N 8 P 9,N 9. N 4 N 0 P 0 P 4 P 7 N 7

8 Vertex and Index Buffers Index Buffer Vertex Buffer Triangle 0 Triangle 1 Triangle 2 0 4 7 2 4 9 8 2 3. P 0,N 0 P 1,N 1 P 2,N 2 P 3,N 3 P 4,N 4 P 5,N 5 P 6,N 6 P 7,N 7 P 8,N 8 P 9,N 9. N 4 P 4 N 2 P 2 N 9 P 9

" " " Geometry: cubic Bézier (de Casteljau) form = control points = coefficients control net! #" $ #" $ % '& % #" ( )" *,+ + -% ". /10

5 5 5 Normal: quadratic Bézier (de Casteljau) form 2 3 4 5768 4 9 2 :;<-=1>@? ACBB = 5 D AFE B EGIH = D A B EEJG ;%= D A BB H 5 D A EE B G ; H D A B B ;K5 (or 2 linear == Phong shading)

Evaluation API lod L MON1PRQSP!TPRU$UVUXW = number of evaluation points on one edge minus two

Insertion into Graphics Pipeline On chip Vertex and primitive assembly Vertex shading Triangle setup Rasterization

Insertion into Graphics Pipeline On chip Vertex and primitive assembly. in 1 triangle (P & N) lod Curved PN triangle tesselation. out Y[Z]\_^ ` acb-d microtriangles Vertex shading Triangle setup Rasterization

e e e e Why this choice? Constraints: Isolation (cannot access mesh neighbors) Fast Evaluation (including normal) Modeling range (smoother contours and better shading) Symmetry (aesthic)

f f f f Constraints: f Isolation Fast Evaluation Decision: Rules out subdivision or surface spline Continuous normal without neighbor? (Prescribe normal along boundary but shape can be poor) Modeling range Symmetry.

g g g g g g h j i Constraints: Isolation Fast Evaluation Modeling range Decision: No subdivision or surface spline? (can t see neighbor!) No rational surface (normal of) rational surface is expensive [Gregory, Chiyokura, Grimm & Hughes] not multiple pieces [Clough- Tocher, Shirman-Sequin, Powell- Sabin] polynomial Symmetry.

k k k k k k l m Constraints: k Isolation Decision: No subdivision or surface spline? (can t see neighbor!) Fast Evaluation Not rational parametrization not multiple pieces n polynomial Modeling range Symmetry shape preservation Inflections: geometry cubic, normal quadratic predictability: want curved PN triangle close to the flat triangle

o o o o o o o p q Constraints: o Isolation Decision: No subdivision or surface spline? (can t see neighbor!) Fast Evaluation Not rational surface not multiple pieces r polynomial Modeling range (shape preservation) Inflections: geometry cubic, normal quadratic predictable: prove curved patch is close to the flat triangle Symmetry 3-sided Bézier patch.

Geometry coefficients stuu v wyx etc. s{z xu v ~})w x w zy ƒ x z x J ˆ. ƒ,š Œv wc Ž w Š Š s(xxx v J } v ~s{z xu s x z u s u z x. s u$x z s x u z sxz u$x ). v wyx w z w t J )ˆ.. (Farin 83)

Normal coefficients Linear vs Quadratic Normal Normalize ššœž Ÿ ~ Ÿ. «) K ± c²³ µ ¹ º Ÿ µ Ÿ ²» ± c²¼³ µ ¹ º O²³ )µ ½ ¾ (VanOverveld, Wyvill) šª

Normal coefficients Linear vs Quadratic Normal

È È À À Properties Interpolates À Á and  Á. ÃXÄ{ÅÆ on circle with center À Å Ç and radius É É. È ÊË Ì Å Í ÄXÎJÏ)Ð Quadratic precision: à ÅÅÅ. Surface is smooth at corners; Surface looks smooth (except possibly at silhouttes)

PN triangle calisthenics

Performance 10 Geometry, textures, display lists, shaders etc compete for memory Bandwidth savings Now able to actually feed high performance transform/shader engines

11 Basic Advantages Coarse triangulations yield geometry compression Level of detail (LOD) Geometry looks smoother!

Summary 12 API-friendly Developer-friendly Provides a vast visual improvement to existing and future content Improve silhouettes Improve lighting calculations Advantage of geometry compression and memory savings Overall performance is increased