同时绘制2d位图和3d模型

时间:2011-09-04 00:05:00

标签: android opengl-es

我想在Android游戏中安装一个虚拟dpad,这样当你触摸前进按钮时,相机会向前和向后/向左/向右移动(但对于各自的方向)。我能够绘制纹理的立方体来表示地板,但现在我被困在绘制我的虚拟dpad。我的尝试是错误的方法是在我的绘图函数中有一个画布(我通常会绘制一个2d对象)和opengl调用。

    @Override
public void onDrawFrame(GL10 gl) {

    // TODO Auto-generated method stub
       gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);
        Canvas c = new Canvas();
        c.drawBitmap(bitmap, 0, 0, new Paint());

       gl.glLoadIdentity();              
       for(int i =0;i<91;i++)
          {
              myfloortiles[i].draw(gl);
          }
}

位图是一个设置为实际值的png图像。 如何在前台绘制2d位图作为抬头显示器或按钮?我应该搜索什么?

1 个答案:

答案 0 :(得分:2)

绘制3D场景后,您需要更改为正交投影(glOrtho,如果是固定功能管道)并重置矩阵堆栈(glLoadIdentity( ),如果是固定功能则重新设置)。 / p>

通过这样做,可以正确绘制3D场景,然后在其上绘制2D / Ortho HUD / GUI。

glOrtho

glLoadIdentity