在opengl中翻转颠倒的3d数字

时间:2016-02-26 11:52:50

标签: android opengl-es

我是android opengl的新手。我渲染了一个3d图,但问题是它是颠倒的,我试图使用glRotatef(),但无法得到正确的数字,有人能帮助我吗? 我的ondraw()代码

public void onDrawFrame(GL10 gl) {
    gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT);
    gl.glLoadIdentity();
    gl.glMatrixMode(GL10.GL_MODELVIEW);
    gl.glLoadIdentity();
    GLU.gluLookAt(gl, 5.0f, 30.0f, -15.0f, 0.0f, 0.0f, 30.0f, 0.0f, 1.0f, 0.0f);
    gl.glTranslatef(0.0f, 0.0f, 10.0f);
    gl.glScalef(0.1f, 0.1f, 0.1f);     
    p.draw_tablelamp1(gl);
    p.draw_tablelamp2(gl);
}   

1 个答案:

答案 0 :(得分:0)

将您的设备倒置

尝试以相反的方式设置相机向上:

GLU.gluLookAt(gl, 5.0f, 30.0f, -15.0f, 0.0f, 0.0f, 30.0f, 0.0f, -1.0f, 0.0f);

您也可以尝试通过切换Y轴Top with Bottom来更改视口。

最后你可以尝试旋转东西:

gl.glTranslatef(0.0f, 0.0f, 10.0f);
gl.glScalef(0.1f, 0.1f, 0.1f);     
gl.glRotatef(1.0f, 0.0f, 0.0f, 3.1415f);     
gl.glRotatef(0.0f, 0.0f, 1.0f, 3.1415f);     
p.draw_tablelamp1(gl);
p.draw_tablelamp2(gl);