本文主要是介绍OpenGL(14)GLU库API,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
/************************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)() );
这篇关于OpenGL(14)GLU库API的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!