转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 软件开发 >> Delphi程序 >> 正文
NeHe的opengl教程delphi版(3)----着色         ★★★★

NeHe的opengl教程delphi版(3)----着色

作者:闵涛 文章来源:闵涛的学习笔记 点击数:729 更新时间:2009/4/23 18:37:45

继续

上一节中我教给您三角形和四边形的绘制方法。这一节将教您给三角形和四边形添加2种不同类型的着色方法。使用Flat coloring(单调着色)给四边形涂上固定的一种颜色。使用Smooth coloring(平滑着色)将三角形的三个顶点的不同颜色混合在一起,创建漂亮的色彩混合。

继续在上节的glDraw上修改。

Procedure glDraw();
Begin
   glClear(GL_COLOR_BUFFER_BIT Or GL_DEPTH_BUFFER_BIT); // 清除屏幕和深度缓存
   glLoadIdentity();                    // 重置当前的模型观察矩阵

   glTranslatef(-1.5, 0.0, -6.0);       // 左移 1.5 单位,并移入屏幕 6.0

   glBegin(GL_TRIANGLES);               // 绘制三角形

   //glColor3f(r,g,b)。括号中的三个参数依次是红、绿、蓝三色分量。
   //取值范围可以从0,0到1.0。类似于以前所讲的清除屏幕背景命令。

   //我们将颜色设为红色(纯红色,无绿色,无蓝色)。
   //接下来的一行代码设置三角形的第一个顶点(三角形的上顶点),
   //并使用当前颜色(红色)来绘制。从现在开始所有的绘制的对象的颜色都是红色,
   //直到我们将红色改变成别的什么颜色。

   glColor3f(1.0, 0.0, 0.0);            //设置当前色为红色
   glVertex3f(0.0, 1.0, 0.0);           // 上顶点

   //第一个红色顶点已经设置完毕。
   //接下来我们设置第二个绿色顶点。三角形的左下顶点被设为绿色。
   glColor3f(0.0, 1.0, 0.0);            //设置当前色为绿色
   glVertex3f(-1.0, -1.0, 0.0);         // 左下
   //三角形的右下顶点。将颜色设为蓝色
   //glEnd()出现后,三角形将被填充。
   //但是因为每个顶点有不同的颜色,因此看起来颜色从每个角喷出,
   //并刚好在三角形的中心汇合,三种颜色相互混合。这就是平滑着色。
   glColor3f(0.0, 0.0, 1.0);            //设置当前色为蓝色
   glVertex3f(1.0, -1.0, 0.0);          // 右下

   glEnd();                             // 三角形绘制结束
   glTranslatef(3.0, 0.0, 0.0);         // 右移3单位

   //现在我们绘制一个单调着色-紫色的正方形。
   //最重要的是要记住,设置当前色之后绘制的所有东东都是当前色的。
   //以后您所创建的每个工程都要使用颜色。
   //即便是在完全采用纹理贴图的时候,
   //glColor3f仍旧可以用来调节纹理的色调。
   //等等....,以后再说吧。
   //(呵呵,原书是蓝色,但是我喜欢紫色)

   glBegin(GL_QUADS);                   // 绘制正方形
   glColor3f(0.6, 0.2, 2.0);            //设置当前色为紫色
   glVertex3f(-1.0, 1.0, 0.0);          // 左上
   glVertex3f(1.0, 1.0, 0.0);           // 右上
   glVertex3f(1.0, -1.0, 0.0);          // 左下
   glVertex3f(-1.0, -1.0, 0.0);         // 右下
   glEnd();                             // 正方形绘制结束
End;

运行一下看看效果


[系统软件]InstallShield Express for delphi制作安装程序定…  [常用软件]InstallShield Express制作Delphi数据库安装程序
[Delphi程序]为什么选择Delphi.Net ?  [Delphi程序]《关于VisiBroker For Delphi的使用》(4)
[Delphi程序]Delphi 程序员代码编写标准指南  [Delphi程序]转贴:Conversion to Delphi 6: Missing unit Pro…
[Delphi程序]Borland Delphi 9 的新特性  [Delphi程序]Delphi 键盘码表
[Delphi程序]Chuck Jazdzewski的离开意味着Delphi的终结吗?  [Delphi程序]Delphi Access violations 问题的解决之道
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · C语言系列  · VB.NET程序
    · JAVA开发  · Delphi程序
    · 脚本语言
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台