gluNurbsSurface 函数
gluNurbsSurface 函数定义非均匀有理 B 样条的形状 (NURBS) 图面。
语法
void WINAPI gluNurbsSurface(
GLUnurbs *nobj,
GLint sknot_count,
float *sknot,
GLint tknot_count,
GLfloat *tknot,
GLint s_stride,
GLint t_stride,
GLfloat *ctlarray,
GLint sorder,
GLint torder,
GLenum type
);
参数
-
nobj
-
NURBS 对象 (使用 gluNewNurbsRenderer) 创建的。
-
sknot_count
-
参数 u 方向中的结数。
-
sknot
-
参数 u 方向中sknot_count非休止结值的数组。
-
tknot_count
-
参数 v 方向中的结数。
-
tknot
-
参数 v 方向中tknot_count非休止结值的数组。
-
s_stride
-
偏移量 (为在 ctlarray 参数 u 方向的连续控制点之间) 多个单精度浮点值。
-
t_stride
-
在 ctlarray 参数 v 方向的连续控制点之间,单精度浮点值的偏移量 () 。
-
ctlarray
-
包含 NURBS 图面的控制点的数组。 参数 u 和 v 方向中连续控制点之间的偏移量由 s_stride 和 t_stride 提供。
-
sorder
-
NURBS 图面在参数 u 方向上的顺序。 顺序比度多一个,因此以 u 为单位的立方表面的 u 阶为 4。
-
torder
-
NURBS 图面在参数 v 方向中的顺序。 顺序比度多一个,因此以 v 为单位为立方的图面的 v 顺序为 4。
-
type
-
图面的类型。 类型参数可以是任何有效的二维计算器类型 (,例如GL_MAP2_VERTEX_3或GL_MAP2_COLOR_4) 。
返回值
此函数不返回值。
注解
在任何修整) 之前,在 NURBS 表面定义中使用 gluNurbsSurface 来描述 NURBS 表面 (的形状。 若要标记 NURBS 表面定义的开头,请使用 gluBeginSurface 函数。 若要标记 NURBS 表面定义的末尾,请使用 gluEndSurface 函数。 仅在 NURBS 表面定义中调用 gluNurbsSurface 。
通过将每个位置、纹理和颜色坐标显示为 gluBeginSurface/gluEndSurface 对之间的单独 gluNurbsSurface,可以将位置、纹理和颜色坐标与图面相关联。 在单个 gluBeginSurface/gluEndSurface 对中,只能调用 gluNurbsSurface 以获取颜色、位置和纹理数据。 进行一次调用来描述 (GL_MAP2_VERTEX_3或GL_MAP2_VERTEX_4) 类型的 图面的位置。
可以通过在调用 gluBeginTrim 和 gluEndTrim 之间使用 gluNurbsCurve 和 gluPwlCurve 函数来剪裁 NURBS 图面。
u 方向具有sknot_count节的 gluNurbsSurface,在 v 方向为tknot_count结,具有 orders sorder 和 torder 的 - (sknot_countsorder) 由 (tknot_count -torder) 控制点进行多管。
要求
要求 | 值 |
---|---|
最低受支持的客户端 |
Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 |
Windows 2000 Server [仅限桌面应用] |
标头 |
|
库 |
|
DLL |
|