第四课 旋转:

在这一课里,我将教会你如何旋转三角形和四边形。左图中的三角形沿Y轴旋转,四边形沿着X轴旋转。

我们增加两个变量来控制这两个对象的旋转。这两个变量加在程序的开始处其他变量的后面。它们是浮点类型的变量,使得我们能够非常精确地旋转对象。浮点数包含小数位置,这意味着我们无需使用1、2、3...的角度。你会发现浮点数是OpenGL编程的基础。新变量中叫做 rtri 的用来旋转三角形, rquad 旋转四边形。

private float rtri, rquad;

在OnDrawFrame里面增加代码如下:

gl.glRotatef(rtri, 0.0f, 1.0f, 0.0f);   

三角形绕Y轴旋转;

gl.glRotatef(rquad, 1.0f, 0.0f, 0.0f);

四边形绕X轴旋转;

(注:原文中并没有详细在哪里加上面两句,学得有点绝望;经过自己尝试后,发现分别加在画三角形和四边形的glDrawArrays函数上面即可)

最后,增加旋转的角度

rtri+=0.2f;
rquad-=0.15f;

注:

一点测试代码

我们说了很久的顺时针,逆时针画图,到底有什么用呢

gl.glEnable(GL10.GL_CULL_FACE);

//设置openggl有剔除效果,就是看不到的面就不画,当然可以增加效率

gl.glFrontFace(GL10.GL_CCW);

//设置逆时针方向为正面

gl.glCullFace(GL10.GL_BACK);

//设置背面被剔除,不画

Cull就是剔除的意思

(注:本教程转自其他网页,并加以修改,查看原网页请点击这里

最新文章

  1. Xcode 创建.a和framework静态库(转载)
  2. Linux下配置一个VNC服务器
  3. Spring+Mybatis多数据源配置
  4. Python Windows环境下安装Python集成开发环境 学习之路(一)
  5. 使用Ambari安装hadoop集群
  6. WCF基础知识
  7. Word Pattern | & II
  8. php工具 phpstorm 的快捷键 的使用(待添加
  9. signalR的一些细节
  10. PowerShell工具脚本---按行数切割大文本文件
  11. C#中Dictionary小记
  12. JAVA多线程学习--生产者消费者问题
  13. How to learn linux device driver
  14. 数据分析系统DIY3/3:本地64位WIN7+matlab 2012b訪问VMware CentOS7+MariaDB
  15. boost asio io_service学习笔记
  16. [iOS、Unity、Android] 浅谈闭包的使用方法
  17. Ionic3 启动页以及应用图标
  18. 对scanf和printf的研究!!
  19. 二维码图片以字符串的形式保存DB,已文件流显示页面上
  20. java操作数据库:分页查询

热门文章

  1. CS0012 类型“DbContext”在未引用的程序集中定义。必须添加对程序集“EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”的引用。 Repository E:\项目\wx\Repository\DbContextFac
  2. 使用PHPstudy在Windows服务器下部署PHP系统
  3. 【leetcode 133. 克隆图】解题报告
  4. linux命令之系统管理命令(上)
  5. “全栈2019”Java第十三章:基本数据类型
  6. TCP和UDP的最完整的区别【转】
  7. php中递归查找父级名称
  8. [转] HTTP状态码错误代码
  9. redis 3.0 集群__安装
  10. ubuntu和centos安装docker