NeHe的opengl教程delphi版(4)----旋转

这篇教程介绍了如何在Delphi中使用OpenGL旋转彩色物体。通过增加glRotatef函数,可以控制三角形和四边形绕坐标轴旋转。教程中新增了两个浮点型变量rtri和rquad来分别控制三角形和四边形的旋转角度,同时通过glRotatef函数的参数调整实现不同轴的旋转效果。
摘要由CSDN通过智能技术生成

上一节中教给您三角形和四边形的着色。这一课将教您如何将这些彩色对象绕着坐标轴旋转。
其实只需在上节的代码上增加几行就可以了。下面将整个例程重写一遍。方便您知道增加了什么,修改了什么。
增加两个变量来控制这两个对象的旋转。这两个变量加在程序的开始处其他变量的后面( bool fullscreen=TRUE;下面的两行)。它们是浮点类型的变量,使得我们能够非常精确地旋转对象。浮点数包含小数位置,这意味着我们无需使用1、2、3...的角度。你会发现浮点数是OpenGL编程的基础。新变量中叫做 rtri 的用来旋转三角形, rquad 旋转四边形。

 

Var

   ……

   rtri             : GLfloat;          // 用于三角形的角度 ( 新增 )
   rquad            : GLfloat;          // 用于四边形的角度 ( 新增 )

……

 

然后修改 glDraw()如下:

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

   //下一行代码是新的。glRotatef(Angle,Xvector,Yvector,Zvector)负责让对象绕某个轴旋转。
   //这个命令有很多用处。 Angle 通常是个变量代表对象转过的角度。
   //Xvector , Yvector 和 Zvector 三个参数则共同决定旋转轴的方向。
   //比如(1,0,0)所描述的矢量经过X坐标轴的1个单位处并且方向向右。
   //(-1,0,0)所描述的矢量经过X坐标轴的1个单位处

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值