二次曲面的绘制函数(二)

三.绘制二次曲面步骤

1.绘制二次曲面首先要创建二次曲面对象。其函数名为gluNewQuadric,原型GLUquadricObj* gluNewQuadric(void)

GLUquadricObj是二次曲面声明类型,它所在的头文件是GLU.h中。一般使用是先声明二次曲面,然后再建立

二次曲面对象,例如:GLUquadricObj *quadObj1;quadObj1 = gluNewQuadric();

2.然后是设置二次曲面绘制风格。其函数名为gluQuadricDrawStyle,其原型为:void gluQuadricDrawstyle(

GLUquadricObj *qobj,GLenum drawStyle);qobj表示1中的二次曲面对象,drawStyle表示二次曲面绘制风格,

设置风格只要有:

GLU_FILL,表示用多边形图元来绘制二次曲面,绘制方式为逆时针,例如绘制圆柱体。

GLU_LINE表示用一系列线来绘制二次曲面,一般用来绘制圆盘。

GLU_SILHOUETTE表示除边界外用一系列的线来绘制二次对象,一般用来绘制球体。

GLU_POINT表示用一系列的点来绘制二次曲面,一般用来绘制部分圆盘。

3.设置法线风格,其函数为:gluQuadricNormals。其函数原型为:void gluQuadricNormals(GLUquadricobj* 

obj,GLenum normals);其中obj表示二次曲面对象,normals表示法线类型,主要有:

GLU_NONE表示没有生成法线。

GLU_FLAT表示一个二次曲面的每一个面都产生一个法线

GLU_SMOOTH表示对每个顶点都计算法线向量,这是默认的

4.设置二次曲面绘制方向。其函数为gluQuadricOrientation。其函数原型为:void gluQuandricOrientation(

GLUquadricObj* obj,GLenum orientation);其中obj表示二次曲面对象,orientation表示方向的类型,主要有:

GLU_OUTSIDE 表示二次曲面所有的法线都向外绘制,这是默认的方式。

GLU_INSIDE 表示二次曲面所有的法线都向内指出。

5.设置纹理。其函数为gluQuadricTexture。函数原型为void gluQuadricTexture(GLUquadricObj* obj,

GLboolean textureCoords);其中obj表示二次曲面对象,textureCoords表示指定一个标志,指定是否应该生成

纹理坐标。其标志主要有:

GL_TRUE表示生成纹理坐标

GL_FALSE表示不生成纹理坐标,这是默认值。

6.最后就是用二次曲面函数去绘制。

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值