您的位置:首页 > 运维架构

NeHe OpenGL教程 第三课 添加颜色

2011-09-08 23:54 260 查看
上一节课,我教你如何在屏幕上显示三角形和正方形。在这一课中我将教你如何向三角形和正方形运用两种不同的着色方式。使用单调着色会给正方形涂上固定的颜色。使用平滑着色会把三角形每个顶点指定的颜色混合在一起,产生一种漂亮的混合颜色。使用上一课中的代码,我们将在DrawGLScene ()方法中添加新的代码。我将在下面重写整个过程,因此,如果你想修改上节课的代码,你只需用下面的代码替换上节课的DrawGLScene() 函数中的代码就可以了,或者把下面代码中上节课没有的部分添加上就可以了。
glBegin(GL_TRIANGLES);     
//使用
GL_TRIANGLES
参数绘制三角形
如果你还记得上节课的内容,下面这部分代码是在屏幕的左半边绘制三角形。下面的这行代码我们第一次使用,我们使用glColor3f(r,g,b)函数。括号里的三个参数分别是红色,绿色和蓝色的强度值。取值范围为0.0f到1.0f。它们和我们用来清除屏幕背景的颜色值的效果是一样的。我们设置颜色为红色(全红,无绿色,无蓝色)。这行代码的这下方是第一个顶点(三角形的上顶点),会使用红颜色来绘制。从现在开始我们绘制的任何对象都将使用红色,直到我们改变颜色。
glVertex3f( 0.0f, 1.0f, 0.0f);
// 从中点向上移动一个单位 (上顶点)
[/code]
我们已经把第一个顶点绘制在了屏幕上,并设置它的颜色为红色。在我们绘制第二个顶点之前,我们把颜色值改为绿色。这样三角形的左下顶点会被绘制成绿色。
然后我们绘制第三个也是最后一个顶点。在我们绘制之前,把颜色值改为蓝色。它是三角形的右下顶点。glEnd()函数执行之后,多边形将被填充。因为每个顶点的颜色不同,和只有一种固定颜色相比,颜色将会从每一个顶点扩散开来,然后杂中心汇合,所有的颜色混合在一起。这就是平滑着色。
glColor3f(0.0f,0.0f,1.0f);         
//设置颜色为蓝色
[/code]
[/code]
                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  buffer 图形