Android OpenGL教程-第四课【转】
2024-08-26 09:22:16
第四课 旋转:
在这一课里,我将教会你如何旋转三角形和四边形。左图中的三角形沿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就是剔除的意思
(注:本教程转自其他网页,并加以修改,查看原网页请点击这里)
最新文章
- Xcode 创建.a和framework静态库(转载)
- Linux下配置一个VNC服务器
- Spring+Mybatis多数据源配置
- Python Windows环境下安装Python集成开发环境 学习之路(一)
- 使用Ambari安装hadoop集群
- WCF基础知识
- Word Pattern | &; II
- php工具 phpstorm 的快捷键 的使用(待添加
- signalR的一些细节
- PowerShell工具脚本---按行数切割大文本文件
- C#中Dictionary小记
- JAVA多线程学习--生产者消费者问题
- How to learn linux device driver
- 数据分析系统DIY3/3:本地64位WIN7+matlab 2012b訪问VMware CentOS7+MariaDB
- boost asio io_service学习笔记
- [iOS、Unity、Android] 浅谈闭包的使用方法
- Ionic3 启动页以及应用图标
- 对scanf和printf的研究!!
- 二维码图片以字符串的形式保存DB,已文件流显示页面上
- java操作数据库:分页查询
热门文章
- CS0012	类型“DbContext”在未引用的程序集中定义。必须添加对程序集“EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”的引用。	Repository	E:\项目\wx\Repository\DbContextFac
- 使用PHPstudy在Windows服务器下部署PHP系统
- 【leetcode 133. 克隆图】解题报告
- linux命令之系统管理命令(上)
- “全栈2019”Java第十三章:基本数据类型
- TCP和UDP的最完整的区别【转】
- php中递归查找父级名称
- [转] HTTP状态码错误代码
- redis 3.0 集群__安装
- ubuntu和centos安装docker