2016-12-03 9 views
-1

現在、私は、フラグメントの法線とカメラの間の反射ベクトルを使用してキューブをテクスチャリングする必要があるプロジェクトに取り組んでいます。GLSLのテクスチャマッピング

私はsampler2D画像を持っています。私は何とか反射を使ってそれをキューブに実装する必要があります。

質問は次のとおりです。このプロセスがどのように進むか説明できますか?それが私のプロジェクトを完成させ、テクスチャリングの背後にあるプロセスをさらに理解するのに役立ちます。

textureCube()、texture2D()を使うことができないので、フラグメントシェーダはキューブだけでなくすべてのサーフェスに適用できます。

ありがとうございました!

+0

"*私は何らかの形で反射を使ってそれを立方体に実装する必要があります。*"どのようにしてそれをしたいのかわかりますか?テクスチャをサーフェス上にマップするには、「リフレクションを使用する」方法がたくさんあります。 –

+0

少なくとも1つ説明できますか? – ficabj5

+0

あなたは 'textureCube'を使いたくないので、*あなたの*要件に応じて*あなたが選択しなければならないカスタムマッピングだけを残すキューブマップはありません。 –

答えて

0

私はtextureCube()を使用することはできませんが、texture2D()は、フラグメントシェーダがキューブだけでなくすべてのサーフェスに適用できることです。

なぜこれを行う必要がありますか? texture2D (...)でこれを実装するには、複数のテクスチャルックアップが必要になります。 textureCube (...)は、実装の詳細を隠しておき、サポートされているハードウェアでもシームレスにフィルタリングすることができます。

すべての場合、キューブマップと呼ばれるという事実は、それをマッピングしている表面については何も意味しません。実際にはキューブであるテクスチャ自体です(6つの2Dテクスチャがすべてのキューブ面を定義します)。

キューブマップをサンプリングすると、この仮想キューブからレイを撮影しています。返される色または深さは、そのレイが交差する場所です。サンプリングされた値は、テクスチャフィルタの設定に応じて、6つのキューブフェースのうちの少なくとも1つ、おそらく複数のキューブフェイスから取得されます。