Surface displacement tessellation and subdivision
This presentation is the property of its rightful owner.
Sponsored Links
1 / 26

Surface displacement, tessellation, and subdivision PowerPoint PPT Presentation


  • 43 Views
  • Uploaded on
  • Presentation posted in: General

Surface displacement, tessellation, and subdivision. Ikrima Elhassan. Overview. The Reyes image rendering architecture ", Cook et al., SIGGRAPH 1987 Curved PN triangles ", Vlachos, Peters, Boyd, and Mitchell, Symposium on Interactive 3D Graphics, 2001 . Reyes Architecture: Support Goals.

Download Presentation

Surface displacement, tessellation, and subdivision

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Surface displacement tessellation and subdivision

Surface displacement, tessellation,and subdivision

Ikrima Elhassan


Overview

Overview

  • The Reyes image rendering architecture", Cook et al.,SIGGRAPH 1987

  • Curved PN triangles", Vlachos, Peters, Boyd, and Mitchell,Symposium on Interactive 3D Graphics, 2001


Reyes architecture support goals

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

Design Goals

  • Natural Coordinates

  • Vectorization

  • Common underlying representation

  • Locality

  • Linearity

  • Large Models

  • Back door


Geometric locality sampling

Geometric Locality & Sampling

  • Raytracing can cause model and texture paging to dominate rendering time as model complexity increases

  • Uses stochastic sampling called jittering


Micropolygons

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

Micropolygons: Adv vs. Disadvantages


Texture locality

Texture Locality

  • 2 Classes of Textures: CATs & RATs

  • Sequential access with CATs

  • Can eliminate filtering


Description algorithm

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

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

Extensions

  • Constructive Solid Geometry

  • Transparency

  • Depth of field

  • Motion Blur


Implementation

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

Final Thoughts on Reyes


N patches

N-Patches


Issues with new geometric primitives

Issues with new geometric primitives

  • Must be compatible with work already in progress

  • Must be backward compatible

  • Fit existing hardware designs


N patches advantages

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

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 P0, P1,…, Pn, 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 C2 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 formulay = 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.

Interpolation


Geometry cubic b ezier

Geometry: cubic B´ezier

  • Bijk = control points = coefficients

  • Makes up the “control net”

  • Cubic interpolation


Normal quadratic b ezier

Normal: quadratic B´ezier

  • Linear or Quadratic Interpolation


Algorithm

Algorithm

  • LOD = # vertices -2 on an edge

  • Tangent coefficients determined by planer projection


Algorithm continued

Algorithm (Continued)

  • Quadratic interpolation allows for inflection between vertices


Examples of n patches

Examples of N-patches


Sharp edges

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

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

Advantages


  • Login