参数如何适用于它以及mProjMatrix从该方法获得的确切内容?
为什么'float mProjMatrix = new float [16];`用16声明,我可以使用另一个数字吗?
float mProjMatrix = new float[16];
Matrix.frustumM(mProjMatrix, 0, -ratio, ratio, -1, 1, 3, 7);
答案 0 :(得分:9)
视锥体只是透视投影的直观表示,用于将世界坐标空间中的3D点转换为屏幕上的2D点。
有多种方法可以定义投影矩阵(至少我个人使用过):
通过指定6个剪裁平面
通过指定纵横比,远近剪裁平面,视角
但最终它们最终都是一个4x4透视变换矩阵。
必须阅读article。
答案 1 :(得分:0)
近/远是距离视点的剪切距离。 问题是左/右和上/下值是什么,据我所知the OpenGL docs表示近平面上的值。因此,如果要在您查看的点(比近平面更远)定义视图的宽度/高度,则必须将它们计算得更小。它在ES20上也是这样的吗?