// Upload Projection, ModelView matrices
gl.uniformMatrix4fv(shaderProgram.uMVMatrix, false, pMVMatrix);
gl.uniformMatrix4fv(shaderProgram.uPMatrix, false, perspM);
在以上几行中,我了解到正在上传投影矩阵和模型视图矩阵。我想知道这背后的数学原理。
我有一些 3d 顶点(overlayvertices),后来以这种方式传递:
// Upload overlay vertices
gl.bindBuffer(gl.ARRAY_BUFFER, overlayVertices[elementIndex]);
gl.vertexAttribPointer(shaderProgram.aVertexPosition, 3, gl.FLOAT,false, 0, 0);
其中 overlayvertices[i] 是一个 4*1 数组,其中 x,y,z,1
最终绘图发生在特定相机的框架上,根据该框架确定模型视图和投影矩阵。我想手动获取相机帧中的转换顶点。即,(x,y,1)。我稍后会下载每一帧中的数据,因此 x,y 应该是像素坐标。由于这发生在 webgl 内部,因此我无法检索此信息。