OpenGL ES Ortho2D在其中心旋转

时间:2011-01-29 12:41:43

标签: opengl-es

opengl.loadIdentity();
  opengl.translate(0,0,0);

   cnt++;
   opengl.saveMatrix();
       opengl.color4f(1.0f, 0.0f, 1.0f, 0.9f);

       opengl.selectVertex("proba2").translate(0, 0f, 4.2f-15);
       opengl.selectVertex("proba2").rotate((int) cnt, 0, 0, 1);

       opengl.selectVertex("proba2").draw(true);
   opengl.loadMatrix();

   opengl.saveMatrix();
   opengl.setOrthoStart();

       opengl.color4f(1.0f, 0.0f, 0.0f, 0.9f);

       opengl.selectVertex("proba3").translate(0, 200);
       opengl.selectVertex("proba3").rotate((int) cnt, 0, 0, 1);

       opengl.selectVertex("proba3").draw(true);
    opengl.setOrthoEnd();
    opengl.loadMatrix();

我有这个代码。在第一个顶点(它是一个三维顶点),它运行良好,只需围绕Z轴旋转(自行循环)

但是第二个状态(2d顶点,ortho),当我去ortho2D时,Z轴旋转不正常,因为它的中心点不旋转。为什么呢?

1 个答案:

答案 0 :(得分:0)

这是我的coords错误

我添加了坐标:1,100,1,100(顶部,底部,左侧)

当我添加:-50 50 -50 50其工作成功!