gluNurbsCurve 函数
gluNurbsCurve 函数定义非均匀有理 B 曲线的形状 (NURBS) 曲线。
语法
void WINAPI gluNurbsCurve(
GLUnurbs *nobj,
GLint nknots,
GLfloat *knot,
GLint stride,
GLfloat *ctlarray,
GLint order,
GLenum type
);
参数
-
nobj
-
使用 gluNewNurbsRenderer) 创建的 NURBS 对象 (。
-
nknots
-
结中的 结数。 nknots 参数等于控制点数加上顺序。
-
结
-
nknots 非声明性结值的数组。
-
大步
-
偏移量 (为连续曲线控制点之间) 多个单精度浮点值。
-
ctlarray
-
指向控制点数组的指针。 坐标必须与 类型一致。
-
order
-
NURBS 曲线的顺序。 顺序参数等于 degree + 1;因此,三次方曲线的阶数为 4。
-
type
-
曲线的类型。 如果此曲线是在 gluBeginCurve/gluEndCurve 对中定义的,则类型可以是任何有效的一维计算器类型 (,例如 GL_MAP1_VERTEX_3 或 GL_MAP1_COLOR_4) 。 在 gluBeginTrim/gluEndTrim 对之间,唯一有效的类型是GLU_MAP1_TRIM_2和GLU_MAP1_TRIM_3。
返回值
此函数不返回值。
注解
当 gluNurbsCurve 出现在 gluBeginCurve/gluEndCurve 对之间时,它描述要呈现的曲线。 通过将每个坐标显示为 gluBeginCurve gluEndCurve 对之间的单独 gluNurbsCurve 来关联位置坐标、纹理坐标和颜色坐标。/ 不要针对单个 gluBeginCurve/gluEndCurve 对中的颜色、位置和纹理数据多次调用gluNurbsCurve。 进行一次调用,以描述曲线的位置 (GL_MAP1_VERTEX_3或 GL_MAP1_VERTEX_4) 类型。
当 gluNurbsCurve 出现在 gluBeginTrim/gluEndTrim 对之间时,它描述 NURBS 图面上的剪裁曲线。 如果 type 为GLU_MAP1_TRIM_2,它将描述二维 (u 和 v) 参数空间的曲线。 如果GLU_MAP1_TRIM_3,则描述二维同质 (u、 v 和 w) 参数空间的曲线。 有关剪裁曲线的更多讨论,请参阅 gluBeginTrim。
示例
以下函数使用法线呈现带纹理的 NURBS 曲线:
gluBeginCurve(nobj);
gluNurbsCurve(nobj, ..., GL_MAP1_TEXTURE_COORD_2);
gluNurbsCurve(nobj, ..., GL_MAP1_NORMAL);
gluNurbsCurve(nobj, ..., GL_MAP1_VERTEX_4);
gluEndCurve(nobj);
要求
要求 | 值 |
---|---|
最低受支持的客户端 |
Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 |
Windows 2000 Server [仅限桌面应用] |
标头 |
|
库 |
|
DLL |
|