【发布时间】:2018-03-29 21:41:15
【问题描述】:
我使用 OpenGL ES 2.0 和 Java for Android 编写了一个简单的程序。 该程序使用正射投影矩阵、视图矩阵和模型矩阵在屏幕上的随机位置绘制一个点。在着色器中,我放置了矩阵 * 位置。
一切正常,但后来为了测试目的,我尝试自己计算点的位置,所以我使用了 multiplyMV 并将我的 MVPmatrix 作为参数(通过在投影和视图之间使用 multiplyMM 然后在之间结果和模型矩阵)和我的观点(例如 2f、3.5f、0f、1f)。问题是有时我得到的 x 和/或 y 的结果大于 1 或小于 -1,尽管该点在屏幕上。但在标准化设备坐标中,该点必须在 -1 和 1 之间的范围内才能“显示在屏幕上”。
我真的不明白我的错误在哪里。
【问题讨论】:
标签: java opengl-es opengl-es-2.0 perspectivecamera