UV gBuffer を使用してテクスチャ再投影をコーディングしようとしています (これは、そのピクセルでのマッピングに必要な UV 値を含むテクスチャです)
これはこの写真を見るだけでもわかりやすいと思います(評判が悪いので添付できません) 。
最初の画像 (黒/黄/赤/緑) は UV gBuffer で、UV 値を表し、2 番目の画像は拡散チャネル、3 番目の画像は目的の結果です。
これを OpenGL で作成するのは非常に簡単です。
単純な長方形を描画し、断片化されたシェーダーとして次の疑似コードを使用します。
float2 newUV=texture(UVgbufferTex,gl_TexCoord[0]).xy; float3 finalcolor=texture(DIFFgbufferTex,newUV);
float4(最終色,0)を返します;
OpenGL はミップマップ レベル、異方性フィルタリングなどの選択を処理しますが、通常の CPU プロセスでこれを行うと、最終色のピクセルが 1 つ得られるため、結果が鮮明になります。
ここで何かアドバイスはありますか?一種のミップマップを手動で計算し、隣接するピクセルをチェックしてレベルを選択することについて疑問に思っていましたが、これが正しい方法であるかどうかはわかりません。逆に。
実際、私はこの種のコードを長い間使用していましたが、内部について考えたことはなかったので、これが OpenGL/DirectX で内部的にどのように計算されるかはわかりません。