GLenum property,
GLfloat value )
PARAMETERS
nurb Specifies the NURBS object (created with gluNewNurbsRenderer).
property Specifies the property to be set. Valid values are
GLU_SAMPLING_TOLERANCE, GLU_DISPLAY_MODE, GLU_CULLING,
GLU_AUTO_LOAD_MATRIX, GLU_PARAMETRIC_TOLERANCE,
GLU_SAMPLING_METHOD, GLU_U_STEP, GLU_V_STEP, or
GLU_NURBS_MODE.
value Specifies the value of the indicated property. It may be a
numeric value, or one of GLU_OUTLINE_POLYGON, GLU_FILL,
GLU_OUTLINE_PATCH, GL_TRUE, GL_FALSE, GLU_PATH_LENGTH,
GLU_PARAMETRIC_ERROR, GLU_DOMAIN_DISTANCE, GLU_NURBS_RENDERER,
or GLU_NURBS_TESSELLATOR.
DESCRIPTION
gluNurbsProperty is used to control properties stored in a NURBS object.
These properties affect the way that a NURBS curve is rendered. The ac‐
cepted values for property are as follows:
GLU_NURBS_MODE value should be set to be either GLU_NURBS_RENDERER or
GLU_NURBS_TESSELLATOR. When set to GLU_NURBS_RENDERER,
NURBS objects are tessellated into OpenGL primitives and
sent to the pipeline for rendering. When set to
GLU_NURBS_TESSELLATOR, NURBS objects are tessellated into
OpenGL primitives but the vertices, normals, colors,
and/or textures are retrieved back through a callback in‐
terface (see gluNurbsCallback). This allows the user to
cache the tessellated results for further processing.
The initial value is GLU_NURBS_RENDERER.
GLU_SAMPLING_METHOD
Specifies how a NURBS surface should be tessellated.
value may be one of GLU_PATH_LENGTH,
GLU_PARAMETRIC_ERROR, GLU_DOMAIN_DISTANCE,
GLU_OBJECT_PATH_LENGTH, or GLU_OBJECT_PARAMETRIC_ERROR.
When set to GLU_PATH_LENGTH, the surface is rendered so
that the maximum length, in pixels, of the edges of the
tessellation polygons is no greater than what is speci‐
fied by GLU_SAMPLING_TOLERANCE.
GLU_PARAMETRIC_ERROR specifies that the surface is ren‐
dered in such a way that the value specified by
GLU_PARAMETRIC_TOLERANCE describes the maximum distance,
in pixels, between the tessellation polygons and the sur‐
faces they approximate.
GLU_DOMAIN_DISTANCE allows users to specify, in paramet‐
ric coordinates, how many sample points per unit length
The initial value of GLU_SAMPLING_METHOD is
GLU_PATH_LENGTH.
GLU_SAMPLING_TOLERANCE
Specifies the maximum length, in pixels or in object
space length unit, to use when the sampling method is set
to GLU_PATH_LENGTH or GLU_OBJECT_PATH_LENGTH. The NURBS
code is conservative when rendering a curve or surface,
so the actual length can be somewhat shorter. The initial
value is 50.0 pixels.
GLU_PARAMETRIC_TOLERANCE
Specifies the maximum distance, in pixels or in object
space length unit, to use when the sampling method is
GLU_PARAMETRIC_ERROR or GLU_OBJECT_PARAMETRIC_ERROR. The
initial value is 0.5.
GLU_U_STEP Specifies the number of sample points per unit length
taken along the u axis in parametric coordinates. It is
needed when GLU_SAMPLING_METHOD is set to
GLU_DOMAIN_DISTANCE. The initial value is 100.
GLU_V_STEP Specifies the number of sample points per unit length
taken along the v axis in parametric coordinate. It is
needed when GLU_SAMPLING_METHOD is set to
GLU_DOMAIN_DISTANCE. The initial value is 100.
GLU_DISPLAY_MODE
value can be set to GLU_OUTLINE_POLYGON, GLU_FILL, or
GLU_OUTLINE_PATCH. When GLU_NURBS_MODE is set to be
GLU_NURBS_RENDERER, value defines how a NURBS surface
should be rendered. When value is set to GLU_FILL, the
surface is rendered as a set of polygons. When value is
set to GLU_OUTLINE_POLYGON, the NURBS library draws only
the outlines of the polygons created by tessellation.
When value is set to GLU_OUTLINE_PATCH just the outlines
of patches and trim curves defined by the user are drawn.
When GLU_NURBS_MODE is set to be GLU_NURBS_TESSELLATOR,
value defines how a NURBS surface should be tessellated.
When GLU_DISPLAY_MODE is set to GLU_FILL or
GLU_OUTLINE_POLYGON, the NURBS surface is tessellated
into OpenGL triangle primitives which can be retrieved
back through callback functions. If GLU_DISPLAY_MODE is
set to GLU_OUTLINE_PATCH, only the outlines of the
patches and trim curves are generated as a sequence of
line strips which can be retrieved back through callback
functions.
The initial value is GLU_FILL.
If this mode is set to GL_FALSE, then the program needs
to provide a projection matrix, a modelview matrix, and a
viewport for the NURBS renderer to use to construct sam‐
pling and culling matrices. This can be done with the
gluLoadSamplingMatrices function. This mode is initially
set to GL_TRUE. Changing it from GL_TRUE to GL_FALSE
does not affect the sampling and culling matrices until
gluLoadSamplingMatrices is called.
NOTES
If GLU_AUTO_LOAD_MATRIX is true, sampling and culling may be executed
incorrectly if NURBS routines are compiled into a display list.
A property of GLU_PARAMETRIC_TOLERANCE, GLU_SAMPLING_METHOD, GLU_U_STEP,
or GLU_V_STEP, or a value of GLU_PATH_LENGTH, GLU_PARAMETRIC_ERROR,
GLU_DOMAIN_DISTANCE are only available if the GLU version is 1.1 or
greater. They are not valid parameters in GLU 1.0.
gluGetString can be used to determine the GLU version.
GLU_NURBS_MODE is only availble if the GLU version is 1.3 or greater.
The GLU_OBJECT_PATH_LENGTH and GLU_OBJECT_PARAMETRIC_ERROR values for
the GLU_SAMPLING_METHOD property are only available if the GLU version
is 1.3 or greater.
SEE ALSO
gluGetNurbsProperty, gluLoadSamplingMatrices, gluNewNurbsRenderer,
gluGetString, gluNurbsCallback
GLUNURBSPROPERTY(3G)
Man(1) output converted with
man2html