OpenGL でパースペクティブ分割の計算をどのように変更またはオーバーライドしますか?
また、OpenGL の行列の変数として x、y、z、および w を使用することは可能ですか?
OpenGL でパースペクティブ分割の計算をどのように変更またはオーバーライドしますか?
また、OpenGL の行列の変数として x、y、z、および w を使用することは可能ですか?
OpenGL でパースペクティブ分割の計算をどのように変更またはオーバーライドしますか?
できません。これは、OpenGL で数少ない "ハードワイヤード" (または、最新の GPU で実際にハードコードされている) の 1 つです。しかし、それは問題ありません。gl_Position.w = 1
頂点シェーダーの最後に設定するだけで、効果的にパースペクティブ分割がノーオペレーションになります。ただし、パースペクティブも持たないため、頂点シェーダーにもそれを実装する必要があります。gl_Position /= gl_Position.w;
頂点シェーダーの最後のステートメントとして、パースペクティブを自分で分割し、組み込みの分割をバイパスするように記述できます。
また、OpenGL の行列の変数として x、y、z、および w を使用することは可能ですか?
それが何を意味するのかよくわかりません。