zoukankan      html  css  js  c++  java
  • Android OpenGL教程-第四课【转】

    第四课 旋转:

    在这一课里,我将教会你如何旋转三角形和四边形。左图中的三角形沿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就是剔除的意思

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

  • 相关阅读:
    ASP.NET中常用的优化性能的方法
    把WinDbg集成到Visual Studio中
    提高ASP.net的性能
    Msn Library
    [转帖]OutOfMemoryException问题的处理
    一完美的关于请求的目录不存在而需要url重写的解决方案!
    在 ASP.NET 中执行 URL 重写
    转 内存不断上升处理方法
    IIS 6 通配符应用映射和HttpHandler配置
    Java开源
  • 原文地址:https://www.cnblogs.com/wuqianling/p/6602351.html
Copyright © 2011-2022 走看看