OpenGL的函数

glBegin()

函数原型:void glBegin(GLenum mode)

参数解析:mode:创建元素的类型,比如:点,线等。可以是以下数值:

参数值意义
GL_POINTS把每个顶点作为一个点进行处理,顶点n定义了点n,绘制N个点。
GL_LINES把每个顶点作为一个独立的线段,顶点2n-1和2n之间定义了n条线段,绘制N/2条线段。
GL_LINE_STRIP绘制从第一个顶点到最后一个顶点依次相连的一组线段,第n和n+1个顶点定义了线段n,绘制n-1条线段。
GL_LINE_LOOP绘制从第一个顶点到最后一个顶点依次相连的一组线段,然后最后一个顶点和第一个顶点相连,第n和n+1个顶点定义了线段n,绘制n条线段。
GL_TRIANGLES把每个顶点作为一个独立的三角形,顶点3n-2,3n-1和3n定义了第n个三角形,绘制了N/3个三角形。
GL_TRIANGLE_STPIP绘制一组相连的三角形,对于奇数n,顶点n,n+1,和n+2定义了第n个三角形;对于偶数n,顶点n+1,n和n+2定义了第n个三角形,绘制N-2个三角 形。
GL_QUADS绘制由四个顶点组成的一组单独的四边形。顶点4n-3,4n-2,4n-1和4n定义了第n个四边形。绘制了N/4个四边形。
GL_QUAD_STRIP绘制一组相连的四边形。每个四边形是由一对顶点及其后给定的一对顶点共同确定的。顶点2n-1,2n,2n+2和2n+1定义了第n个四边形,绘制了N/2-1个   四边形。
GL_POLYGON绘制了一个凸多边形。顶点1到n定义了这个多边形。

注:glBegin()是和glEnd()结合起来使用。OpenGL空间使用的是右手系的定义,与屏幕水平方向一致,并方向向右的是x轴;与屏幕垂直方向一致,并方向向上的是y轴;与屏幕垂直方向,并方向向外的是z轴。而glTranslatef(),glScalef(),glRotatef()等此类几何变换接口的作用是对当前模型空间进行几何变换,在glBegin()和glEnd()之间是无效的。因此,对模型的位置进行转换,要在glBegin()和glEnd()接口之前进行处理。

glMaterialfv()

函数原型:void glMaterialfv(GLenum face, GLenum pname, TYPE (*)param);

指定用于光照计算的当前材质属性。参数face的取值可以是GL_FRONT、GL_BACK或GL_FRONT_AND_BACK,指出材质属性将应用于物体的哪面。pname指出要设置的哪种材质属性。param为要设置的属性值,是一个指向数组的指针(向量版本)或一个数值(非向量版本)。只有设置GL_SHININESS时,才能使用非向量版本。下表列举出了参数pname的可能取值。GL_AMBIENT_AND_DIFFUSE让您能够同时设置材质的环境颜色和散射颜色,并将它们设置为相同的RGB值。

参数值

默认值

意义

GL_AMBIENT

(0.2,0.2,0.2,1.0)

材质的环境颜色

GL_DIFFUSE

(0.8,0.8,0.8,1.0)

材质的散射颜色

GL_AMBIENT_AND_DIFFUSE

材质的环境颜色和散射颜色

GL_SPECULAR

(0.0,0.0,0.0,1.0)

材质的镜面反射颜色

GL_SHININESS

   0.0

镜面反射指数

GL_EMISSION

(0.0,0.0,0.1,1.0)

材质的发射光颜色

GL_COLOR_INDEXES

(0, 1, 1)

环境颜色索引、散射颜色索引和镜面反射颜色索

glNormal3d()

函数原型:void glNormal3d( GLdouble nx, GLdouble ny, GLdouble nz );

设置当前法线向量 。nx为新的当前法线向量指定 x 坐标,ny指定新的当前法线向量的 y 坐标,nz为新的当前法线向量指定 z 坐标。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

行秋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值