fd631596aface6da4edfa4d512ac0764.ppt
- Количество слайдов: 26
Surface displacement, tessellation, and subdivision Ikrima Elhassan
Overview The Reyes image rendering architecture", Cook et al. , SIGGRAPH 1987 n Curved PN triangles", Vlachos, Peters, Boyd, and Mitchell, Symposium on Interactive 3 D Graphics, 2001 n
Reyes Architecture: Support Goals Speed (render high quality film in less than a year) n Shading/Model Complexity & Diversity n Minimal Raytracing n Image Quality n Flexibility n
Design Goals Natural Coordinates n Vectorization n Common underlying representation n Locality n Linearity n Large Models n Back door n
Geometric Locality & Sampling Raytracing can cause model and texture paging to dominate rendering time as model complexity increases n Uses stochastic sampling called jittering n
Micro. Polygons ½ pixel in length for Nyquist limit n Dice primitives along natural boundaries n Done in eyespace n Results in a grid with shared vertices n
Micropolygons: Adv vs. Disadvantages n n n Vectorizable Texture locality & filtering Subdivision coherence Ease of Clipping & Displacement maps No perspective n n Shading occurs on nonvisible micropolygons Rendering time becomes tied to depth complexity
Texture Locality n n n 2 Classes of Textures: CATs & RATs Sequential access with CATs Can eliminate filtering
Description Algorithm Bounded primitives (not necessarily tight) n Primitives must be able to break down into diceable primitives n Must be able to split primitives n Diceability test – returns “diceable” or “not diceable” n
Algorithm Description (Continued) n n n 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 n Transparency n Depth of field n Motion Blur n
Implementation Bucket Rendering n Each primitive is diced or split and put into corresponding bucket n Only one bucket is needed at a time n Lowers memory requirements n
Final Thoughts on Reyes n n No inverse calculations No clipping calculations Very vectorized No texture thrashing and can eliminate run time filtering n n 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 n Must be backward compatible n Fit existing hardware designs n
N-patches: Advantages Curved surfaces n Improved visual quality (smooth silhouettes and better vertex shading) n Do not require developers to store geometry differently (triangles) n Minimize change to API’s n Minimize bandwidth n
Goals Isolation (cannot access mesh neighbors) n Fast Evaluation (including normal) n Modeling range (smoother contours and better shading) n
Interpolation Use barycentric coordinates for triangular domain n Consider a set of points P 0, P 1, …, Pn, and consider the set of all affine combinations taken from these points. That is all points that can be written as for some n This set of points forms an affine space, and the coordinates are called the barycentric coordinates of the points of the space. n Recall that a point within a triangle Δp 0 p 1 p 2, can be described as p(u, v) = p 0 + u(p 1 -p 0) + v(p 2 -p 0) = (1 u-v)p 0 + up 1 + vp 2, where (u, v) are the barycentric coordinates n Bicubic interpolation results in C 2 surfaces n n n 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 righthand 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 n n n Bijk = control points = coefficients Makes up the “control net” Cubic interpolation
Normal: quadratic B´ezier n Linear or Quadratic Interpolation
Algorithm n n LOD = # vertices -2 on an edge Tangent coefficients determined by planer projection
Algorithm (Continued) n Quadratic interpolation allows for inflection between vertices
Examples of N-patches
Sharp Edges Proven that you cant have creases with purely local information n More than distinct normal per vertex causes holes or cracks n Not really discussed in detail, solution is to add more triangles n
Hardware Performance n n n n 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 n n n Generated on-chip Saves bandwidth and memory Curved surfaces and better shading n n Cant control curvature No sharp edges
fd631596aface6da4edfa4d512ac0764.ppt