gpt4 book ai didi

android - OpenGL 安卓 : X axis is mysteriously flipped

转载 作者:行者123 更新时间:2023-11-29 18:12:45 25 4
gpt4 key购买 nike

我正在通过 OpenGL 在伪二维 Canvas 中显示四边形。为此,我通过以下方式使用正交投影:

gl.glMatrixMode(GL10.GL_PROJECTION);
gl.glLoadIdentity();
gl.glOrthof(-ratio, ratio, -1, 1, 0, 10000);

显示四边形的坐标是:

float[] quadCoords = {-10.0f, -10.0f, 5.0f, 
10.0f, -10.0f, 5.0f,
10.0f, 10.0f, 5.0f,
-10.0f, 10.0f, 5.0f};

这个四边形被渲染为 2 个三角形(我省去了代码)。我也在应用纹理,效果很好。“相机”在渲染四边形之前定义如下:

gl.glMatrixMode(GL10.GL_MODELVIEW);
gl.glLoadIdentity();
GLU.gluLookAt(gl, -10.0f, -10.0f, -5, -10.0f, -10.0f, 0f, 0f, 1.0f, 0.0f);

如您所见,视口(viewport)中心位于 [-10, -10, 0],它应该位于四边形左下角的中心。然而,渲染场景时,它看起来像这样:

OpenGL Screenshot

这似乎是右下角 - 但事实并非如此。我检查了一下,结果是 X 轴翻转了。我在 gluLookAt 上做错了什么吗?还是我错过了什么?

最佳答案

好吧,这有点傻,但我在写完这个问题几分钟后(问题发生几小时后)找到了答案:

“相机”正注视着四边形的背面。在 gluLookAt 中为四边形的所有 z 坐标分配“0”,为视点的 z 坐标分配“+1”修复了它。

关于android - OpenGL 安卓 : X axis is mysteriously flipped,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9808811/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com