Per-Pixel Evaluation of Parametric Surfaces on GPU ACM Workshop on General Purpose Computing on Graphics Processors Los Angeles, USA, 7-8 August, 2004.

Slides:



Advertisements
Similar presentations
Spherical Harmonic Lighting of Wavelength-dependent Phenomena Clifford Lindsay, Emmanuel Agu Worcester Polytechnic Institute (USA)
Advertisements

Advanced Computer Graphics CSE 190 [Spring 2015], Lecture 10 Ravi Ramamoorthi
Part I: Basics of Computer Graphics
University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2007 Tamara Munzner Curves Week 12, Wed Apr.
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.
CS5500 Computer Graphics © Chun-Fa Chang, Spring 2007 CS5500 Computer Graphics April 19, 2007.
Designing Parametric Cubic Curves Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico.
1 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Introduction to Computer Graphics Ed Angel Professor of Computer Science, Electrical and.
Subdivision Primer CS426, 2000 Robert Osada [DeRose 2000]
Modelling: Curves Week 11, Wed Mar 23
University of British Columbia CPSC 414 Computer Graphics © Tamara Munzner 1 Curves Week 13, Mon 24 Nov 2003.
COEN Computer Graphics I
Designing Parametric Cubic Curves
1 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Models and Architectures Ed Angel Professor of Computer Science, Electrical and Computer.
Curve Surfaces June 4, Examples of Curve Surfaces Spheres The body of a car Almost everything in nature.
Splines III – Bézier Curves
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:
11/19/02 (c) 2002, University of Wisconsin, CS 559 Last Time Many, many modeling techniques –Polygon meshes –Parametric instancing –Hierarchical modeling.
CSE167: Computer Graphics Instructor: Steve Rotenberg UCSD, Fall 2005
Triangle Scan Conversion. 2 Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009 Rasterization Rasterization (scan conversion) –Determine which.
Computer Graphics. Requirements Prerequisites Prerequisites CS 255 : Data Structures CS 255 : Data Structures Math 253 Math 253 Experience with C Programming.
Y. Kotani · F. Ino · K. Hagihara Springer Science + Business Media B.V Reporter: 李長霖.
1 Dr. Scott Schaefer Smooth Curves. 2/109 Smooth Curves Interpolation  Interpolation through Linear Algebra  Lagrange interpolation Bezier curves B-spline.
CSC 461: Lecture 3 1 CSC461 Lecture 3: Models and Architectures  Objectives –Learn the basic design of a graphics system –Introduce pipeline architecture.
Image Vectorization Cai Qingzhong 2007/11/01.
1 Introduction to Computer Graphics SEN Introduction to OpenGL Graphics Applications.
1 Angel: Interactive Computer Graphics 5E © Addison-Wesley 2009 CS4610/7610: Introduction to Computer Graphics.
3D Graphics for Game Programming Chapter IV Fragment Processing and Output Merging.
Rendering Overview CSE 3541 Matt Boggus. Rendering Algorithmically generating a 2D image from 3D models Raster graphics.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
1Computer Graphics Lecture 4 - Models and Architectures John Shearer Culture Lab – space 2
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
CS662 Computer Graphics Game Technologies Jim X. Chen, Ph.D. Computer Science Department George Mason University.
Splines IV – B-spline Curves based on: Michael Gleicher: Curves, chapter 15 in Fundamentals of Computer Graphics, 3 rd ed. (Shirley & Marschner) Slides.
Parametric Surfaces Define points on the surface in terms of two parameters Simplest case: bilinear interpolation s t s x(s,t)x(s,t) P 0,0 P 1,0 P 1,1.
Artistic Surface Rendering Using Layout Of Text Tatiana Surazhsky Gershon Elber Technion, Israel Institute of Technology.
Review on Graphics Basics. Outline Polygon rendering pipeline Affine transformations Projective transformations Lighting and shading From vertices to.
Rendering Curves and Surfaces Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico 1 Angel:
11/6/ :55 Graphics II Introduction to Parametric Curves and Surfaces Session 2.
Parametric Curves CS 318 Interactive Computer Graphics John C. Hart.
Designing Parametric Cubic Curves 1. 2 Objectives Introduce types of curves ­Interpolating ­Hermite ­Bezier ­B-spline Analyze their performance.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
CS 450: Computer Graphics PARAMETRIC SPLINES AND SURFACES
Geometry processing on GPUs Jens Krüger Technische Universität München.
COMPUTER GRAPHICS CS 482 – FALL 2015 SEPTEMBER 29, 2015 RENDERING RASTERIZATION RAY CASTING PROGRAMMABLE SHADERS.
Dynamic Geometry Displacement Jens Krüger Technische Universität München.
Introduction to Meshes Lecture 22 Mon, Oct 20, 2003.
CS559: Computer Graphics Lecture 33: Shape Modeling Li Zhang Spring 2008.
Curves University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2013 Tamara Munzner.
1 E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley 2012 Models and Architectures 靜宜大學 資訊工程系 蔡奇偉 副教授 2012.
Real-Time Relief Mapping on Arbitrary Polygonal Surfaces Fabio Policarpo Manuel M. Oliveira Joao L. D. Comba.
GLSL Review Monday, Nov OpenGL pipeline Command Stream Vertex Processing Geometry processing Rasterization Fragment processing Fragment Ops/Blending.
Introduction to Parametric Curve and Surface Modeling.
Applications and Rendering pipeline
1 Real-Time High-Quality View-dependent Texture Mapping using Per-Pixel Visibility Damien Porquet Jean-Michel Dischler Djamchid Ghazanfarpour MSI Laboratory,
Advanced Computer Graphics
Models and Architectures
Models and Architectures
Models and Architectures
Introduction to Computer Graphics with WebGL
GPGPU: Distance Fields
Chapter V Vertex Processing
Introduction to Computer Graphics
Introduction to Computer Graphics
Models and Architectures
Chapter XIV Normal Mapping
Introduction to Parametric Curve and Surface Modeling
Introduction to Computer Graphics
Presentation transcript:

Per-Pixel Evaluation of Parametric Surfaces on GPU ACM Workshop on General Purpose Computing on Graphics Processors Los Angeles, USA, 7-8 August, 2004 Takashi Kanai Keio University SFC Yusuke Yasui ASTOM Inc.

Per-Pixel Evaluation of Parametric Surfaces on GPU ACM SIGGRAPH 2004 Poster Los Angeles, USA, 8-12 August, 2004 Takashi Kanai Keio University SFC Yusuke Yasui ASTOM Inc.

Surface Rendering In the rendering of parametric surfaces, in general, we often use a polygon to draw the approximation of its original surface. However, such rendering of a polygon does not represent its original surface exactly. This occurs notably in the case that a polygon is coarse or that a view position becomes closer to a surface.

Our Contribution Use of GPU (Programmable Graphics Hardware) Fragment-based evaluation (position, derivatives) of parametric surfaces on GPU Robust and high-quality evaluation Interactive computation

Parametric Surfaces on GPU Linear form of parametric surfaces (Bezier, B-spline, Coons, … ) Control points stored to texture(s) Basis functions directly provided in a fragment program

Parametric Form of Subdivision Surface [Stam98] u,v n,k ( n: subdivision level, k: domain id) 1 st derivatives of both u, v directions can also be computed Bi-cubic B-spline basis functions Subdivision Surface on GPU #1 eigenvalues for A subdivision matrix Coefficients of eigenbasis functions Control points

Implementation on GPU : computed in advance Computed for all patterns of n, k ( n = 1…15, k = 1, 2, 3. … 45 patterns) → stored in a texture In the fragment program, Fetch 16 control points from a texture by n, k Basis functions … directly computed in FP Linear combination of basis functions and control points Subdivision Surface on GPU #2

Texture Storage Subdivision Surface on GPU #3

Texture Storage (Close-up View) Subdivision Surface on GPU #3’

Algorithm Overview Subdivided Polygon - parameters u,v - face id Rasterization Fragments fragment program #1 - Compute n and k from u,v - Fetch control points from a texture - Compute basis functions → surface position fragment program #2 - Compute n and k - Fetch control points - Compute basis functions → derivatives, normal → output

Application: Reflection Lines [Yasui and Kanai, SMI 2004] For each fragment, 1. Compute a reflection vector 2. Compute an intersection point 3. Assign a color to a fragment 4. A line on a surface with different color … a reflection line

Results wireframe polygon-based fragment-based

Polygon-based Pixel-based

Discussion Position of a fragment Position of parametric surface computed on GPU Current solution: input polygon: better approximation of a surface run fragment program with bigger size of image

Conclusion and Future Work Conclusion Fragment-based evaluation of parametric surfaces on GPU Robust computation High-quality even for low polygons Interactive computation Future Work The number of instruction sets in a fragment program 1,024 (GF 5x00) → 65,000 (GF 6x00) Processing on a single fragment program will be possible (cuurrently … two FPs) in the near future.

Contact & References Takashi Kanai Keio University SFC Web: References Yusuke Yasui and Takashi Kanai, "Surface Quality Assessment of Subdivision Surfaces on Programmable Graphics Hardware", Proc. International Conference on Shape Modeling and Applications 2004 (Genova, Italy, 7-9 June 2004), pp , 2004.