100 likes | 235 Views
Real-Time Rendering of Trimmed Surfaces. SIGGRAPH 89 Alyn Rockwook, Kurt Heaton, Tom Davis (SGI). Introduction. Modern graphics systems have hardware support for polygon rendering:
E N D
Real-Time Rendering of Trimmed Surfaces SIGGRAPH 89 Alyn Rockwook, Kurt Heaton,Tom Davis (SGI)
Introduction • Modern graphics systems have hardware support for polygon rendering: • hundreds of thousands or even millions of polygons per second (including transformations, clipping, lighting, smooth shading, and z-buffering) • We need efficient methods to convert free-form surfaces to polygons.
Introduction • Goals: • real-time performance • high quality images • portability • Previous work: • does not take advantage of hardware support • does not account for trimming • exhibits too many unwanted visual artifacts
Introduction • Reminders: • object space is the 3D coordinate system in which the surface is defined • image space is to where the viewing transformations map the object space • screen space is the 2D coordinate system by projecting image space on the xy-plane • parameter space is the rectangle of (u,v) coordinates
Introduction • Definition: • a region is monotone with respect to an axis if any line perpendicular to that axis has a convex intersection with the region
The method • 7 main steps: • 1. convert to Bezier: • surfaces are converted to Bezier patches • trimming regions are loops of Bezier or piecewise linear curves • 2. calculate step sizes: • in parameter space, for each curve and surface, to guarantee the size of facets in screen space will not exceed a user specified tolerance
The method • 3. find extrema • find the points on the trimming curves where the tangents are parallel to the u or v axes • 4. divide into uv-monotone regions • each region is defined by a closed loop of curves • 5. cove and tile • each uv-monotone region is uniformly tessellated into a grid of rectangles connected by triangles to points evaluated along the curves
The method • 6. evaluate surface functions • polygons in (u,v) space are transformed to facets in object space • surface normals are calculated • 7. render facets • each facet is transformed to screen space, clipped, lighted, smooth shaded, and z-buffered using standard 3D graphics hardware
Results • Met the goals: • 15,000 triangles per second (1989) • same image quality as the polygon hardware supports • the IRIS-4D GTX implementation was ported to a Personal IRIS in only two days
Results • More good things: • patches can be processed in parallel • tile size smaller than a user specified tolerance (tradeoff image quality/rendering speed) • different size tiles without cracking • modular architecture: • steps with well defined interfaces • we can select the best way to implement each step • easier to develop and to maintain