摘要 |
A unique graphics pipeline and method for utilizing the same to render trimmed NURBS surfaces is described. To render a graphics primitive such as a trimmed NURBS, the primitive first is processed through a compilation step, followed by a two phase traversal step and a display step. A compilation of the graphics primitive is first performed. Through this process, the NURBS surface is reduced at creation time into a form amenable for fast processing subsequently during traversal. At compilation the trimmed NURBS is broken down into monotone v-regions which remain valid for subsequent views and renderings. A key feature of the form produced by compilation is that it is independent of the tessellation step size; therefore the form remains valid under heavy changes to modeling and/or viewing transformations. Furthermore, a substantial portion of the processing complexity for rendering the primitive is absorbed at compilation, thus minimizing the complexity of tessellation at traversal. Once the graphic primitive is processed through the compilation step, the primitive is processed through the traversal step. The traversal operation is split into two phases. The first phase is algorithmically complicated and requires a large amount of memory. Therefore it is advantageous to run the first phase on a general purpose computer system. The second phase is algorithmically simple and requires a limited amount of memory but it is floating point intensive and repetitive; therefore, it is preferred that the second phase is run on fast, dedicated processors such as floating point processors. However, as the primitive has been broken down into monotone v-regions, the burden of generating the image can be distributed among the processors for processing in parallel. <IMAGE> |