私は延期デカールシステムに取り組んできました。ここまでで、投影パーツを完成しました。つまり、シーン内の何かをクリックすると、デカールがオブジェクトの表面に適切に投影されます。
このシステムに追加したいことが他にいくつかあります。通常のクリッピングと通常のマップされたデカールです。通常のクリッピングは、鋭角に引き伸ばされたフラグメントを破棄するときです。見てここに。これを解決する方法は、Gバッファの法線とデカールの法線との間に大きな差があるフラグメントを破棄することです。これには、Gバッファの通常のテクスチャを読み取る必要があります。
デカール法線マッピングを行うには、デカールの法線(法線マップからの)をGバッファの法線とブレンドする必要があります。では、Gバッファの通常のテクスチャに書き込む必要があります。
これら2つの機能をサポートするために、同じシェーダーパスで通常のテクスチャを読み書きする必要があることは明らかです。残念なことに、これは未定義の動作なので、これらの機能を実装する他の方法があるかどうか疑問に思っています。