6

それを行う方法はありますか?これで、動的に生成されたキューブマップが作成されました。これをトーラスの反射テクスチャとして使用します。

すべての面を別々にぼかすことはトリックをしませんよね?境界線の近くのピクセルのため、隣接するピクセルからのぼかしの影響を受けません。

たぶん、別のFBOを作成し、それをバインドして、画面上でキューブマップを「展開」し、基本的なぼかしシェーダーを適用してから、そのぼかしたテクスチャを6つの側面に分離する必要がありますか?「別の」部分を行う方法がわからない。

4

1 に答える 1

6

キューブマップをぼかす?それはかなり難しいです。

数学的に正しいガウスぼかしを行うには、それを周波数領域(球面調和関数)に変換し、そこでローパスフィルターを適用してから、逆変換を行う必要があります。それは簡単な作業ではありません。

概算で十分な場合は、次のようにします。

  1. 空の宛先キューブマップを作成します。
  2. 立方体の各面Fについて、面Fと他の4つの面からの隣接ピクセルを次のようにレンダリングします。

     ___________
    |\         /|
    | \       / |
    |  \-----/  |
    |  |     |  |
    |  |  F  |  |
    |  |     |  |
    |  /-----\  |
    | /       \ |
    |/_________\|
    

    隣接するピクセルの量は、ブラー半径によって異なります。

  3. お気に入りのぼかしアルゴリズムを適用します。
  4. Fを宛先キューブマップにコピーします。
  5. 顔ごとに2〜4を繰り返します。
于 2010-12-04T13:17:44.827 に答える