200 likes | 322 Views
Overview. Introduction Curved Surfaces vs. Polygons in Models Xform Surfaces to Polygons for Rendering Other Ways to Render Curved Surfaces Improving performance Future?. Pixel Level Surface Subdivision. Ray Tracing. Scan Line Display. Improving Performance. Why bother?
E N D
Overview • Introduction • Curved Surfaces vs. Polygons in Models • Xform Surfaces to Polygons for Rendering • Other Ways to Render Curved Surfaces • Improving performance • Future?
Improving Performance • Why bother? • Build polygon model from curves offline • Take advantage of fast polygon hardware • Problem: • Too many polygons to render • Multiresolution? Too many to store even • Solution: • On-line polygon generation
Approach • Algorithms based on Polyigonization are fastest • Generate polygons • Render polygons (hardware) • Minimize number of polygons and time • Pull from rendering bag of tricks • Keep parallelization in mind
Techniques • Simple (fast) tiling and coving (Wagner) • Viewing frustum/bounding boxes culling • Back patch culling • Spatial/temporal coherence • Surface simplifications
Picking bounds for tessellation • Problem: This takes half the time!
Kill Cracks A B D C F G E
Culling (Patch Clipping) • Each Bézier surface is contained within the convex polytope of its control points • Put axis aligned box around points • Well known technique
DRAW TRIANGLES Back Patch Culling • Back facing polygons will eventually be eliminated in rendering process • Why not remove all surfaces that fully face way from view point (back patches)? View point To Render Tessellate
Back Patch Culling II • Eliminate 30-40% of model • How the hell do they do this?
Frame Coherence • Save triangles and normals • Tessellation bounds change
Surface Simplifications • Suppose we have many curved surfaces of an object visible but only in 10 pixel square • Each surface is tessellated into at least 2 triangles • Polygon rendering becomes the bottleneck • Dynamically combine adjacent surfaces according to computed level of detail
Super Surfaces • Similar to polygon surface simplification
Surface Simplifications • Problem: This takes too long • Can do in parallel though
Summary • Bézier Patch • Visibility Computation • Surface Bounds Computation • Patch Triangulation • Triangle Rasterization
Problems • Require user input for tolerances? • Bottleneck is ____ ?