Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在opengl中翻转倒置的三维图形_Android_Opengl Es - Fatal编程技术网

Android 在opengl中翻转倒置的三维图形

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

我是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, 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);