Android 在opengl中翻转倒置的三维图形
我是android opengl新手。我渲染了一个3d图形,但问题是它是颠倒的,我尝试使用glRotatef(),但无法获得正确的图形,有人能帮我吗? 我的ondraw()代码 将设备倒置 尝试以另一种方式设置摄影机矢量:Android 在opengl中翻转倒置的三维图形,android,opengl-es,Android,Opengl Es,我是android opengl新手。我渲染了一个3d图形,但问题是它是颠倒的,我尝试使用glRotatef(),但无法获得正确的图形,有人能帮我吗? 我的ondraw()代码 将设备倒置 尝试以另一种方式设置摄影机矢量: GLU.gluLookAt(gl, 5.0f, 30.0f, -15.0f, 0.0f, 0.0f, 30.0f, 0.0f, -1.0f, 0.0f); 您还可以尝试通过将Y轴顶部与底部切换来更改视口 最后,您可以尝试旋转该对象: gl.glTranslatef(0.0f
GLU.gluLookAt(gl, 5.0f, 30.0f, -15.0f, 0.0f, 0.0f, 30.0f, 0.0f, -1.0f, 0.0f);
您还可以尝试通过将Y轴顶部与底部切换来更改视口
最后,您可以尝试旋转该对象:
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);
我试着使用glRotatef(),你是如何尝试使用它的?(或更清楚的地方)顺便说一句,在同一代码中使用gluLookAt和glTranslatef/glRotatef/glScalef从来都不是很清楚我在glScalef和draw_tablelamp1之间使用了glRotatef(180,0,1,0),问题是它没有在自己的轴上旋转,为什么需要两次旋转?只有当你画的每一个项目都是颠倒的,为了可读性,你可以在一次旋转中完成,但是旋转向量就不那么容易理解了。你看,我没有跟着你,要翻转一个物体,你只需要把它绕着观察轴旋转π,不是吗?假设你有一个像疼痛的物体。它颠倒了。然后,为了让它以这样的方式旋转,让它以正确的方式向上,你必须沿着观察轴旋转它。还有一个元素是该轴应该是什么。我会在答案中做一些更正,以补偿你把+Y作为顶部。您可能还希望它相对于+Y轴倒置,然后最简单的方法是像我看到的那样做2次旋转。
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);