什么是Matrix.frustumM(mProjMatrix,0,-ratio,ratio,-1,1,3,7); 在OpenGL ES 20中?

See*_*boy 7 java android opengl-es

参数如何适用于它以及mProjMatrix从该方法获得的确切内容是什么?

另外为什么'float mProjMatrix = new float [16];`用16声明,我可以使用另一个数字吗?

    float mProjMatrix = new float[16];
    Matrix.frustumM(mProjMatrix, 0, -ratio, ratio, -1, 1, 3, 7);
Run Code Online (Sandbox Code Playgroud)

Max*_*Max 9

视锥体只是透视投影的直观表示,用于将世界坐标空间中的3D点转换为屏幕上的2D点.

有多种方法可以定义投影矩阵(至少我个人使用过):

  1. 通过指定6个剪裁平面

  2. 通过指定纵横比,远近剪裁平面,视角

但最终它们最终都成为一个4x4透视变换矩阵.

这是一篇必读文章.