首页 > 其他 > 详细

《高效学习OpenGL》 之 GLU的NURBS的接口 gluNewNurbsRenderer(),gluNurbsProperty(),gluNurbsSurface(),gluNurbsCal()

时间:2014-03-06 18:22:40      阅读:374      评论:0      收藏:0      [点我收藏+]

创建一个NURBS对象:

   GLUnurbs* gluNewNurbsRenderer (void);
   //创建一个NURBS对象nobj,并返回一个指向这个新对象的指针
销毁NURBS对象:

void gluDeleteNurbsRenderer(GLUnurbs *nobj);

控制NURBS对象的属性:

   gluNurbsProperty(theNurb, GLU_SAMPLING_TOLERANCE, 25.0);//控制分格化的顶点简单的进行渲染
   gluNurbsProperty(theNurb, GLU_DISPLAY_MODE, GLU_FILL);//把表面渲染为多边形
   void gluNurbsProperty (GLUnurbs *nobj, GLenum property, GLfloat value );
   //控制NURBS对象的属性,property指定了属性,他可以是GLU_DISPLAY_MODE或GLU_SAMPLING_TOLERANCE,value表示这个属性应该是什么值
返回NURBS对象nobj的property属性的当前值:
		gluGetNurbsProperty(GLUnurbs *nobj, GLenum property, GLfloat* value)
		//返回NURBS对象nobj的property属性的当前值,返回值放在value数组中
创建NURBS的曲面或表面:

   gluBeginSurface(theNurb);
   gluNurbsSurface(theNurb, 
                   8, knots, 8, knots,
                   4 * 3, 3, &ctlpoints[0][0][0], 
                   4, 4, GL_MAP2_VERTEX_3);
   gluEndSurface(theNurb);

   void 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);//表示二维求值器类型


从NURBS分格化对象获取图元:

   gluNurbsCallback(theNurb, GLU_ERROR, 
                    nurbsError);
   void gluNurbsCallback (GLUnurbs *nobj, GLenum which, void (CALLBACK* fn)() );
   //nobj是进行分格化的NURBS对象,which是用于标识回调函数的枚举值,原型如下图

bubuko.com,布布扣


《高效学习OpenGL》 之 GLU的NURBS的接口 gluNewNurbsRenderer(),gluNurbsProperty(),gluNurbsSurface(),gluNurbsCal(),布布扣,bubuko.com

《高效学习OpenGL》 之 GLU的NURBS的接口 gluNewNurbsRenderer(),gluNurbsProperty(),gluNurbsSurface(),gluNurbsCal()

原文:http://blog.csdn.net/biggbang/article/details/20623349

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!