私が間違っている場合は私を修正してください。 頂点シェーダとピクセルシェーダを使用する場合、通常、頂点シェーダの出力gl_positionを計算するコードを提供します。 次に、ピクセルシェーダに入力gl_FragCoordを持つ擬似オブジェクトを見つけます。 OpenGLがgl_positionからgl_FragCoordを計算するために実行する操作の名前は何ですか?それらが "投影"と "クリップ座標変換"であるのは正しいですか? 次に、これらの操作中に変換が正確に何を実行していますか? 言い換えれば、gl_FragCoordとgl_positionの間の数学的関係は何ですか?私はOpenGL関数を置き換えるために使うことができますか?glslでは、gl_positionからgl_fragCoordを計算するために使用される式は何ですか?
ありがとうございました。
私は同じ問題を抱えていましたが、「OpenGL:GLSLのウインドウスペース座標から計算した視線座標を計算しますか?」という質問に答えました。右のリンクを見つけることができます。 – karx11erx
申し訳ありませんkarx11erx、これは私が欲しいものではありません。実際には、私が望むのは反対です。私は "unproject"したくない、私は2次元画面の座標に私の3次元座標を投影したい。 – wil
シェーダが最初に(明るいビュー空間から)プロジェクトを外してから、(ビューアの画面空間に)投影するため、そこでの操作方法を見ることができます。 – karx11erx