Unlike trimming curves, space curves are defined in 3D space. A space curve object may not contain any other type of geometry, such as free-form surfaces or polygons. Space curves are not rendered but serve as input geometry for modeling operations, by passing the space curve object as a parameter to a geometry shader. The curve geometry is defined as a list of space curves, each referencing multiple curve segments.
An object containing space curve geometry follows this outline:
object "object_name" [ tag label_numberint ] [ basis list ] group vector list vertex list [ list of curves ] space curve [ list of curve segment references ] end group end object
A single space curve definition follows this outline:
space curve "curve_name"min max ...
The dots indicate that each space curve statement may be followed by more than one curve segment reference. The min and max parameters allow using only part of the curve referenced. min and max must be in the range of the parameter vector of the curve.
Here is an example of a space curve object:
object "myspacecurve" basis "bezier_1" bezier 1 group 0.4 0.4 1.2 0.6 0.4 1.2 0.6 0.6 1.2 0.4 0.6 1.2 v 0 v 1 v 2 v 3 curve "curve1" bezier_1 0. 1. 2. 3. 4. 0 1 2 3 0 space curve "sp1" "curve1" 0. 4. end group end object
Copyright © 1986, 2012 NVIDIA Corporation