フラグメントシェーダーでのテクスチャのマッピングに問題があります。ウィンドウと同じサイズのテクスチャがあり(前のパスでレンダリングされたシーンの一部を使用していますが、以下の例ではレンガのテクスチャを使用しています)、2Dのようにマッピングする必要があります。どういうわけか可能ですか?さまざまな方法を試しましたが、何も機能しませんでした。
フラグメントシェーダーはどのように見えるべきか教えていただけますか?何かアドバイスがあれば助かります。ありがとうございました!
フラグメントシェーダーでのテクスチャのマッピングに問題があります。ウィンドウと同じサイズのテクスチャがあり(前のパスでレンダリングされたシーンの一部を使用していますが、以下の例ではレンガのテクスチャを使用しています)、2Dのようにマッピングする必要があります。どういうわけか可能ですか?さまざまな方法を試しましたが、何も機能しませんでした。
フラグメントシェーダーはどのように見えるべきか教えていただけますか?何かアドバイスがあれば助かります。ありがとうございました!
ウィンドウ (…) と同じサイズのテクスチャがあり、2D のようにマッピングする必要があります。
したがって、私があなたを正しく理解していれば、以前に生成されたテクスチャを、テクスチャ ピクセルがビューポート ピクセルに 1:1 でマップされ、テクスチャがビューポートとまったく同じサイズである、ある種の「レイヤー」であるかのように使用したいですか?
もしそうなら、これはとても簡単です (GLSL バージョン 1.30 以降)。ピクセル インデックスを座標として取る関数 があります(範囲 [0; 1] の値を取るのtexelFetch
とは異なります)。texture
組み込み変数gl_FragCoord
は、現在処理されているフラグメントのウィンドウ座標を示します。したがって、gl_FragCoord
forの座標を使用するtexelFetch
と、目的の結果が得られます。