Fast Dynamic Tessellation of Trimmed NURBS Surfaced1
Abstract
Trimmed NURBS (non-uniform rational B-splines) surfaces are being increasingly used and standardized in geometric modeling applications. Fast graphical processing of trimmed NURBS at interactive speeds is absolutely essential to enable these applications. which poses some unique challenges in software, hardware, and algorithm design. This paper presents a technique that uses graphical compilation to enable fast dynamic tessellation of trimmed NURBS surfaces under highly varying transforms.We use the concept of graphical data compilation. through which we preprocess the NURBS surface into a compact, view-independent form amenable for fast per-frame extraction of triangles. Much of the complexity of processing is absorbed during compilation. Arbitrarily complex trimming regions are broken down into simple regions that are specially designed to facilitate tessellation before rendering. Potentially troublesome cases of degeneracies in the surface are detected and dealt with during compilation. Compilation enables a clean separation of algorithm-intensive and compute-intensive operations, and provides for parallel implementations of the latter. Also, we exercise a classification technique while processing trimming loops. which robustly takes care of geometric ambiguities and deals with special cases while keeping the compilation code simple and concise.
BibTeX
@article {10.1111:1467-8659.1330107,
journal = {Computer Graphics Forum},
title = {{Fast Dynamic Tessellation of Trimmed NURBS Surfaced1}},
author = {Abi-Ezzi, Salim S. and Subramaniam, Srikanth},
year = {1994},
publisher = {Blackwell Science Ltd and the Eurographics Association},
ISSN = {1467-8659},
DOI = {10.1111/1467-8659.1330107}
}
journal = {Computer Graphics Forum},
title = {{Fast Dynamic Tessellation of Trimmed NURBS Surfaced1}},
author = {Abi-Ezzi, Salim S. and Subramaniam, Srikanth},
year = {1994},
publisher = {Blackwell Science Ltd and the Eurographics Association},
ISSN = {1467-8659},
DOI = {10.1111/1467-8659.1330107}
}