/************************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)() );