Export (0) Print
Expand All

gluNurbsProperty function

Applies to: desktop apps only

The gluNurbsProperty function sets a Non-Uniform Rational B-Spline (NURBS) property.

Syntax

void WINAPI gluNurbsProperty(
  GLUnurbs *nobj,
  GLenum property,
  GLfloat value
);

Parameters

nobj

The NURBS object (created with gluNewNurbsRenderer).

property

The property to be set. The following values are valid:

ValueMeaning
GLU_SAMPLING_TOLERANCE

Specifies the maximum length, in pixels, to use when the sampling method is set to GLU_PATH_LENGTH. The default value is 50.0 pixels.

GLU_DISPLAY_MODE

The value parameter defines how a NURBS surface is to be rendered. You can set value to GLU_FILL, GLU_OUTLINE_POLYGON, or GLU_OUTLINE_PATCH.

GLU_FILL. The surface is rendered as a set of polygons. This is the default value.

GLU_OUTLINE_POLYGON. The NURBS library draws only the outlines of the polygons created by tessellation.

GLU_OUTLINE_PATCH. Only the outlines of patches and trim curves defined by the user are drawn.

GLU_CULLING

The value parameter is a Boolean value. When value is set to GL_TRUE, NURBS curves whose control points lie outside the current viewport are discarded prior to tessellation. The default is GL_FALSE (because a NURBS curve cannot fall entirely within the convex hull of its control points).

GLU_AUTO_LOAD_MATRIX

The value parameter is a Boolean value. When set to GL_TRUE, the NURBS code downloads the projection matrix, modelview matrix, and viewport from the OpenGL server to compute sampling and culling matrices for each NURBS curve that is rendered. Sampling and culling matrices are required to determine the tessellation of a NURBS surface into line segments or polygons and to cull a NURBS surface if it lies outside of the viewport.

If this mode is set to GL_FALSE, you must provide a projection matrix, modelview matrix, and viewport for the NURBS renderer to use to construct sampling and culling matrices. You can do this with the gluLoadSamplingMatrices function.

The default for this mode is GL_TRUE. Changing this mode from GL_TRUE to GL_FALSE does not affect the sampling and culling matrices until you call gluLoadSamplingMatrices.

The following property parameters are supported in GLU version 1.1 or later and are not valid for GLU version 1.0: GLU_PARAMETRIC_TOLERANCE, GLU_SAMPLING_METHOD, GLU_U_STEP, and GLU_V_STEP.

The following value parameters are supported in GLU version 1.1 or later and are not valid for GLU version 1.0: GLU_PATH_LENGTH, GLU_PARAMETRIC_ERROR, and GLU_DOMAIN_DISTANCE.

GLU_PARAMETRIC_TOLERANCE

Specifies the maximum distance, in pixels, to use when the sampling method is set to GLU_PARAMETRIC_ERROR. The default value is 0.5.

GLU_SAMPLING_METHOD

Specifies how to tessallate a NURBS surface. GLU_SAMPLING_METHOD can have one of the following three values.

GLU_PATH_LENGTH. The default value. Specifies that surfaces rendered with the maximum length, in pixels, of the edges of the tessellation polygons are no greater than the value specified by GLU_SAMPLING_TOLERANCE.

GLU_PARAMETRIC_ERROR. Specifies that in rendering the surface, the value of GLU_PARAMETRIC_TOLERANCE specifies the maximum distance, in pixels, between the tessellation polygons and the surfaces they approximate.

GLU_DOMAIN_DISTANCE. Specifies, in parametric coordinates, how many sample points per unit length to take in the u and v dimensions.

GLU_U_STEP

Specifies the number of sample points per unit length taken along the u dimension in parametric coordinates. The value of GLU_U_STEP is used when GLU_SAMPLING_METHOD is set to GLU_DOMAIN_DISTANCE. The default value is 100.

GLU_V_STEP

Specifies the number of sample points per unit length taken along the v dimension in parametric coordinates. The value of GLU_V_STEP is used when GLU_SAMPLING_METHOD is set to GLU_DOMAIN_DISTANCE. The default value is 100.

 

value

The value to which to set the indicated property. The value parameter can be a numeric value or one of the following three values: GLU_PATH_LENGTH, GLU_PARAMETRIC_ERROR, or GLU_DOMAIN_DISTANCE.

ValueMeaning
GLU_PATH_LENGTH

The default value. Specifies that surfaces rendered with the maximum length, in pixels, of the edges of the tessellation polygons are no greater than the value specified by GLU_SAMPLING_TOLERANCE.

GLU_PARAMETRIC_ERROR

Specifies that in rendering the surface, the value of GLU_PARAMETRIC_TOLERANCE specifies the maximum distance, in pixels, between the tessellation polygons and the surfaces they approximate.

GLU_DOMAIN_DISTANCE

Specifies, in parametric coordinates, how many sample points per unit length to take in the u and v dimensions.

 

Return value

This function does not return a value.

Remarks

Use gluNurbsProperty to control properties stored in a NURBS object. These properties affect the way a NURBS curve is rendered.

 

Requirements

Minimum supported client

Windows 2000 Professional

Minimum supported server

Windows 2000 Server

Header

Glu.h

Library

Glu32.lib

DLL

Glu32.dll

See also

gluGetNurbsProperty
gluGetString
gluLoadSamplingMatrices
gluNewNurbsRenderer

 

 

Send comments about this topic to Microsoft

Build date: 3/6/2012

Community Additions

ADD
Show:
© 2014 Microsoft