/************************http://blog.csdn.net/sunboyiris*************************************/ //建立一个二次曲面对象 GLUquadric* APIENTRY gluNewQuadric (void); //gluDeleteTess 删除一个镶嵌对象 void APIENTRY gluDeleteQuadric ( GLUquadric *state); //定义二次曲面所用的法向的种类 void APIENTRY gluQuadricNormals ( GLUquadric *quadObject, GLenum normals); //定义是否带二次其面做纹理帖图 void APIENTRY gluQuadricTexture ( GLUquadric *quadObject, GLboolean textureCoords); //定义二次曲面内部或外部方向 void APIENTRY gluQuadricOrientation ( GLUquadric *quadObject, GLenum orientation); //为二次曲面设定合适的绘制风格 void APIENTRY gluQuadricDrawStyle ( GLUquadric *quadObject, GLenum drawStyle); //绘制一个圆柱 void APIENTRY gluCylinder ( GLUquadric *qobj, GLdouble baseRadius, GLdouble topRadius, GLdouble height, GLint slices, GLint stacks); //绘制一个盘子 void APIENTRY gluDisk ( GLUquadric *qobj, GLdouble innerRadius, GLdouble outerRadius, GLint slices, GLint loops); //绘制一个盘子的弧 void APIENTRY gluPartialDisk ( GLUquadric *qobj, GLdouble innerRadius, GLdouble outerRadius, GLint slices, GLint loops, GLdouble startAngle, GLdouble sweepAngle); //绘制一个球体 void APIENTRY gluSphere ( GLUquadric *qobj, GLdouble radius, GLint slices, GLint stacks); //为二次曲面对象定义一个回调 void APIENTRY gluQuadricCallback ( GLUquadric *qobj, GLenum which, void (CALLBACK* fn)()); //建立一个镶嵌对象 GLUtesselator* APIENTRY gluNewTess( void ); // 删除一个镶嵌对象 void APIENTRY gluDeleteTess( GLUtesselator *tess ); //设置镶嵌对象的属性 void APIENTRY gluTessBeginPolygon( GLUtesselator *tess, void *polygon_data ); //划定一个边界描述 void APIENTRY gluTessBeginContour( GLUtesselator *tess ); //定义在一个多边形上的顶点 void APIENTRY gluTessVertex( GLUtesselator *tess, GLdouble coords[3], void *data ); //划定一个边界描述 void APIENTRY gluTessEndContour( GLUtesselator *tess ); //划定一个多边形描述 void APIENTRY gluTessEndPolygon( GLUtesselator *tess ); //设置镶嵌对象的属性 void APIENTRY gluTessProperty( GLUtesselator *tess, GLenum which, GLdouble value ); //为一个多边行形定义法向 void APIENTRY gluTessNormal( GLUtesselator *tess, GLdouble x, GLdouble y, GLdouble z ); // 为镶嵌对象定义一个回调 void APIENTRY gluTessCallback( GLUtesselator *tess, GLenum which, void (CALLBACK *fn)()); //设置镶嵌对象的属性 void APIENTRY gluGetTessProperty( GLUtesselator *tess, GLenum which, GLdouble *value ); //创建一个NURBS对象 GLUnurbs* APIENTRY gluNewNurbsRenderer (void); //删除一个NURBS对象 void APIENTRY gluDeleteNurbsRenderer ( GLUnurbs *nobj); //定义一个NURBS曲线 void APIENTRY gluBeginSurface ( GLUnurbs *nobj); //定义一条不一至的有理的NURBS曲线 void APIENTRY gluBeginCurve ( GLUnurbs *nobj); //定义一条不一至的有理的NURBS曲线 void APIENTRY gluEndCurve ( GLUnurbs *nobj); //定义一个NURBS曲线 void APIENTRY gluEndSurface ( GLUnurbs *nobj); // 定义一个NURBS整理循环 void APIENTRY gluBeginTrim ( GLUnurbs *nobj); // 定义一个NURBS整理循环 void APIENTRY gluEndTrim ( GLUnurbs *nobj); //描述一个分段线性NURBS修剪曲线 void APIENTRY gluPwlCurve ( GLUnurbs *nobj, GLint count, GLfloat *array, GLint stride, GLenum type); //设定一个NuRBS曲线的形状 void APIENTRY gluNurbsCurve ( GLUnurbs *nobj, GLint nknots, GLfloat *knot, GLint stride, GLfloat *ctlarray, GLint order, GLenum type); //定义一个NURBS表面的形状 void APIENTRY 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); //加载NUMRBS例子和精选矩阵 void APIENTRY gluLoadSamplingMatrices ( GLUnurbs *nobj, const GLfloat modelMatrix[16], const GLfloat projMatrix[16], const GLint viewport[4] ); //设定一个NURBS属性 void APIENTRY gluNurbsProperty ( GLUnurbs *nobj, GLenum property, GLfloat value ); //设定一个NURBS属性 void APIENTRY gluGetNurbsProperty ( GLUnurbs *nobj, GLenum property, GLfloat *value ); //为NURBS对象设定一个回调 void APIENTRY gluNurbsCallback ( GLUnurbs *nobj, GLenum which, void (CALLBACK* fn)() );