使用 NURBS 曲线和图面
非统一合理 B 样条 (NURBS) 函数提供对二维和三维曲线和图面的常规和强大描述,将曲线和表面转换为 OpenGL 计算器。 NURBS 函数可以表示许多计算机辅助机械设计系统中的几何图形。 他们可以以各种样式呈现曲线和表面,并且可以自动处理自适应细分,将域分割成小三角形的高曲率区域和靠近剪影边缘的区域。 NURBS 函数分为以下类别。
若要管理 NURBS 对象,请使用:
- gluNewNurbsRenderer (创建 NURBS 对象)
- gluDeleteNurbsRenderer (删除 NURBS 对象)
- gluNurbsCallback (建立错误处理函数)
若要指定所需的曲线,请使用:
若要指定所需的图面,请使用:
还可以指定剪裁区域,该区域定义要评估的 NURBS 图面域的子集,以便可以创建具有平滑边界或包含孔的图面。
若要指定剪裁区域,请使用:
与使用四边形对象一样,可以控制 NURBS 曲线和图面的呈现方式。 可以确定:
- 是否放弃其控制多面体位于当前视区外部的曲线或图面。
- 用于呈现曲线和表面的多边形边缘) 最大长度 (像素。
- 是要从 OpenGL 服务器获取投影矩阵、模型视图矩阵和视区,还是使用 gluLoadSamplingMatrices 提供它们。
使用 gluNurbsProperty 设置这些属性,或使用默认值。 可以使用 gluGetNurbsProperty 查询 NURBS 对象的呈现样式。