// 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] は x、y、z、1 の 4*1 配列です
最終的な描画は、モデルビューと投影行列が決定される特定のカメラのフレームで行われます。カメラフレームで変換された頂点を手動で取得したいと思います。すなわち、(x,y,1)。後で各フレーム内のデータをダウンロードするため、x、y はピクセル座標である必要があります。これは webgl の内部で発生するため、この情報を取得できません。