160 likes | 284 Vues
This paper discusses a novel approach to render parametric surfaces more accurately using GPUs. Traditional polygonal representations often fail to capture the exact shape of these surfaces, especially under close viewing conditions. The authors present a fragment-based evaluation method that leverages programmable graphics hardware to achieve robust and high-quality rendering. This technique allows for interactive computation of various parametric surfaces, such as Bezier and B-spline surfaces, enabling the manipulation of control points stored in textures, thus improving rendering fidelity.
E N D
Per-Pixel Evaluation of Parametric Surfaces on GPU Takashi Kanai Yusuke Yasui Keio University SFC ASTOM Inc. ACM Workshop on General Purpose Computing on Graphics Processors Los Angeles, USA, 7-8 August, 2004
Per-Pixel Evaluation of Parametric Surfaces on GPU Takashi Kanai Yusuke Yasui Keio University SFC ASTOM Inc. ACM SIGGRAPH 2004 Poster Los Angeles, USA, 8-12 August, 2004
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
Control points eigenvalues for A subdivision matrix Coefficients of eigenbasis functions Bi-cubic B-spline basis functions Subdivision Surface on GPU #1 Parametric Form of Subdivision Surface [Stam98] • u,v n,k (n: subdivision level, k: domain id) • 1st derivatives of both u, v directions can also be computed
Subdivision Surface on GPU #2 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 textureby n, k • Basis functions … directly computed in FP • Linear combination of basis functions and control points
Subdivision Surface on GPU #3 Texture Storage
Subdivision Surface on GPU #3’ Texture Storage (Close-up View)
Rasterization • Subdivided Polygon - parameters u,v - face id Fragments fragment program #1 fragment program #2 • - Computen and k from u,v - Fetch control points from a texture • - Compute basis functions • → surface position - Compute n and k - Fetch control points - Compute basis functions →derivatives, normal→output Algorithm Overview
For each fragment, Compute a reflection vector Compute an intersection point Assign a color to a fragment A line on a surface with different color … a reflection line Application: Reflection Lines[Yasui and Kanai, SMI 2004]
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 E-mail: kanai@sfc.keio.ac.jp Web: http://www.sfc.keio.ac.jp/~kanai/ 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.129-136, 2004.