The present invention comprises a computer implemented process and system for
rendering curves or surfaces as 3D graphics on a display. The system of the present
invention includes a computer system having a processor, a bus, and a 3D graphics
rendering pipeline. The curves or surfaces are modeled by non-uniform rational
B-splines (NURBS). The process of the present invention functions by receiving
a NURBS model for rendering from a software program running on the host processor.
The NURBS model defines a curve or surface. The process of the present invention
efficiently converts the NURBS model to a Bezier model using the hardware of the
graphics rendering pipeline. The Bezier model describes the same curve or surface.
The process of the present invention subsequently generates a plurality of points
on the curve or surface using the Bezier model and the graphics rendering pipeline.
The points are then used by the graphics rendering pipeline to render the curve
or surface defined by the Bezier model. Alternatively, a NURBS model is directly
evaluated into a plurality of points on a curve or surface, and in turn, rendered
into the curve or surface. This direct rendering of the NURBS model is implemented
using the graphics rendering pipeline.