您现在的位置: 中国教师站 >> 教师关注 >> 电脑技术 >> 编程技术 >> Delphi >> 正文

Google
NeHe的opengl教程delphi版(7)----滤波
作者:Siny 文章来源:中国教师站cn-teacher 点击数: 更新时间:2007-4-22 15:50:58

{
这一课我会教您如何使用三种不同的纹理滤波方式。
教您如何使用键盘来移动场景中的对象,还会教您在OpenGL场景中应用简单的光照。
这一课包含了很多内容,如果您对前面的课程有疑问的话,先回头复习一下。
进入后面的代码之前,很好的理解基础知识十分重要。
我们还是在第一课的代码上加以修改。
跟以前不一样的是,只要有任何大的改动,我都会写出整段代码。

首先我们还要加进SysUtils单元和Glaux单元。
}

Uses
   SysUtils,
   opengl,
   windows,
   Messages,
   Glaux In '....GLAUXGlaux.pas';

   //下面几行是增加新的变量。

   //我们增加三个布尔变量。
   // light 变量跟踪光照是否打开。
   //变量lp和fp用来存储'L' 和'F'键是否按下的状态。
   //后面我会解释这些变量的重要性。现在,先放在一边吧。
   light            : Boolean;          // 光源的开/关
   lp               : Boolean;          // L键按下了么?
   fp               : Boolean;          // F键按下了么?

   //现在设置5个变量来控制绕x轴和y轴旋转角度的步长,
   //以及绕x轴和y轴的旋转速度。
   //另外还创建了一个z变量来控制进入屏幕深处的距离。
   xrot             : GLfloat;          // X 旋转
   yrot             : GLfloat;          // Y 旋转
   xspeed           : GLfloat;          // X 旋转速度
   yspeed           : GLfloat;          // Y 旋转速度

   z                : GLfloat = -5.0 f; // 深入屏幕的距离

   //接着设置用来创建光源的数组。
   //我们将使用两种不同的光。
   //第一种称为环境光。环境光来自于四面八方。
   //所有场景中的对象都处于环境光的照射中。
   //第二种类型的光源叫做漫射光。
   //漫射光由特定的光源产生,并在您的场景中的对象表面上产生反射。
   //处于漫射光直接照射下的任何对象表面都变得很亮,
   //而几乎未被照射到的区域就显得要暗一些。
   //这样在我们所创建的木板箱的棱边上就会产生的很不错的阴影效果。
   //创建光源的过程和颜色的创建完全一致。
   //前三个参数分别是RGB三色分量,最后一个是alpha通道参数。

   //因此,下面的代码我们得到的是半亮(0.5f)的白色环境光。
   //如果没有环境光,未被漫射光照到的地方会变得十分黑暗。
   LightAmbient     : Array[0..3] Of GLfloat = (0.5, 0.5, 0.5, 1.0);  //环境光参数 ( 新增 )
   //下一行代码我们生成最亮的漫射光。
   //所有的参数值都取成最大值1.0f。
   //它将照在我们木板箱的前面,看起来挺好。
   LightDiffuse     : Array[0..3] Of GLfloat = (1.0, 1.0, 1.0, 1.0);  // 漫射光参数 ( 新增 )
   //最后我们保存光源的位置。
   //前三个参数和glTranslate中的一样。
   //依次分别是XYZ轴上的位移。
   //由于我们想要光线直接照射在木箱的正面,所以XY轴上的位移都是0.0。
   //第三个值是Z轴上的位移。
   //为了保证光线总在木箱的前面,
   //所以我们将光源的位置朝着观察者(就是您哪。)挪出屏幕。
   //我们通常将屏幕也就是显示器的屏幕玻璃所处的位置称作Z轴的0.0点。
   //所以Z轴上的位移最后定为2.0。
   //假如您能够看见光源的话,它就浮在您显示器的前方。
   //当然,如果木箱不在显示器的屏幕玻璃后面的话,您也无法看见箱子。
   //『译者注:我很欣赏NeHe的耐心。
   //说真的有时我都打烦了,这么简单的事他这么废话干嘛?
   //但如果什么都清楚,您还会翻着这样的页面看个没完么?』
&n

[1] [2] [3] [4] [5] [6] [7] [8] [9] 下一页

相关专题:
 
 网友评论:(评论内容只代表网友观点,与本站立场无关!)
GOOGLE广告

阅读排行

| 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 |
中国教师站

中国教师站 版权所有 Copyright © 2006-2020 All Rights Reserved 站长:Sina & Siny
[备用域名:www.JXZYW.Com] 有事请留言有事请留言
【实力成就精品 诚信呵护品牌】

信息产业部备案
苏ICP备06018635号