gluNurbsProperty 函数
gluNurbsProperty 函数 (NURBS) 属性设置非统一理性 B 样条。
语法
void WINAPI gluNurbsProperty(
GLUnurbs *nobj,
GLenum property,
GLfloat value
);
parameters
-
nobj
-
NURBS 对象 (使用 gluNewNurbsRenderer) 创建的。
-
property
-
要设置的属性。 以下为有效值:
Value 含义 - GLU_SAMPLING_TOLERANCE
指定采样方法设置为 GLU_PATH_LENGTH 时要使用的最大长度(以像素为单位)。 默认值为 50.0 像素。 - GLU_DISPLAY_MODE
值参数定义 NURBS 图面的呈现方式。 可以将 值 设置为 GLU_FILL、GLU_OUTLINE_POLYGON 或 GLU_OUTLINE_PATCH。
GLU_FILL。 表面呈现为一组多边形。 这是默认值。
GLU_OUTLINE_POLYGON。 NURBS 库仅绘制通过分割创建的多边形的轮廓。
GLU_OUTLINE_PATCH。 仅绘制用户定义的补丁和剪裁曲线的轮廓。- GLU_CULLING
值参数是布尔值。 当值设置为GL_TRUE时,控制点位于当前视区外部的 NURBS 曲线在分割之前将被丢弃。 默认值为GL_FALSE (,因为 NURBS 曲线不能完全落在其控制点) 的凸壳内。 - GLU_AUTO_LOAD_MATRIX
值参数是布尔值。 设置为 GL_TRUE 时,NURBS 代码从 OpenGL 服务器下载投影矩阵、模型视图矩阵和视区,以计算呈现的每个 NURBS 曲线的采样和剔除矩阵。 需要采样和剔除矩阵,以确定 NURBS 图面的分割线段或多边形,以及如果 NURBS 图面位于视区之外,则将其剔除。
如果此模式设置为GL_FALSE,则必须为 NURBS 呈现器提供投影矩阵、模型视图矩阵和视区,以用于构造采样和剔除矩阵。 可以使用 gluLoadSamplingMatrices 函数执行此操作。
此模式的默认值为 GL_TRUE。 在调用 gluLoadSamplingMatrices 之前,将此模式从 GL_TRUE 更改为GL_FALSE不会影响采样和剔除矩阵。
GLU 版本 1.1 或更高版本支持以下属性参数,不适用于 GLU 1.0 版本:GLU_PARAMETRIC_TOLERANCE、GLU_SAMPLING_METHOD、GLU_U_STEP和GLU_V_STEP。
GLU 版本 1.1 或更高版本支持以下值参数,对 GLU 1.0 版无效:GLU_PATH_LENGTH、GLU_PARAMETRIC_ERROR和GLU_DOMAIN_DISTANCE。- GLU_PARAMETRIC_TOLERANCE
指定采样方法设置为 GLU_PARAMETRIC_ERROR 时要使用的最大距离(以像素为单位)。 默认值为 0.5。 - GLU_SAMPLING_METHOD
指定如何对 NURBS 图面进行细化。 GLU_SAMPLING_METHOD可以具有以下三个值之一。
GLU_PATH_LENGTH。 默认值。 指定使用分割多边形边缘的最大长度(以像素为单位)呈现的图面不大于GLU_SAMPLING_TOLERANCE指定的值。
GLU_PARAMETRIC_ERROR。 指定在呈现图面时,GLU_PARAMETRIC_TOLERANCE的值指定分割多边形与其近似表面之间的最大距离(以像素为单位)。
GLU_DOMAIN_DISTANCE。 在参数坐标中,指定 u 和 v 维度中每个单位长度要获取的采样点数。- GLU_U_STEP
指定在参数坐标中沿 u 维度获取的每个单位长度的采样点数。 当 GLU_SAMPLING_METHOD 设置为 GLU_DOMAIN_DISTANCE 时,将使用 GLU_U_STEP 的值。 默认值为 100。 - GLU_V_STEP
指定在参数坐标中沿 v 维度获取的每个单位长度的采样点数。 当 GLU_SAMPLING_METHOD 设置为 GLU_DOMAIN_DISTANCE 时,将使用 GLU_V_STEP 的值。 默认值为 100。 -
value
-
要设置所指示属性的值。 值参数可以是数值或以下三个值之一:GLU_PATH_LENGTH、GLU_PARAMETRIC_ERROR或GLU_DOMAIN_DISTANCE。
值 含义 - GLU_PATH_LENGTH
默认值。 指定使用分割多边形边缘的最大长度(以像素为单位)呈现的图面不大于GLU_SAMPLING_TOLERANCE指定的值。 - GLU_PARAMETRIC_ERROR
指定在呈现图面时,GLU_PARAMETRIC_TOLERANCE的值指定分割多边形与其近似表面之间的最大距离(以像素为单位)。 - GLU_DOMAIN_DISTANCE
在参数坐标中,指定 u 和 v 维度中每个单位长度要获取的采样点数。
返回值
此函数不返回值。
注解
使用 gluNurbsProperty 控制存储在 NURBS 对象中的属性。 这些属性会影响 NURBS 曲线的呈现方式。
要求
要求 | 值 |
---|---|
最低受支持的客户端 |
Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 |
Windows 2000 Server [仅限桌面应用] |
标头 |
|
库 |
|
DLL |
|