2012-05-12 9 views
0

GLSLでtextureCube()のtexturelookupを実行すると、反射投影がルックアップ座標として取得されます。GLSL imageLoad/imageStore&cubeMap

GLSL 4.2は、明らかにキューブマップでも動作するimageLoad/imageStoreを導入しました。

しかし、ロード/ストア機能

imageStore(gimagecube image, ivec3 p, vec4 data) 

整数各テクセルにアクセスする座標テイク。

これらの座標はどのように解釈され、どのように反射光線の方向に基づいて計算できますか?

答えて

2

基本的には、6要素の配列テクスチャのようなイメージのロード/ストア作業を伴うキューブマップです。テクスチャ座標のz成分は、どの顔を見るかを指定します。フェースの順序は、キューブマップフェイスの列挙子と同じ順序です。これはlayered renderingと同じです。

方向について計算する方法は、仕様に詳述されているアルゴリズムを使用して行うことができます。 GL 4.2コアの3.9.10節では、OpenGLがどのように方向を取ってそれを特定の面とテクスチャ座標に変換するかについて説明しています。私はポストで説明したいよりもはるかに複雑で、実際には一部のテキストをコピー&ペーストするだけです。

表3.17に基づいて、最も大きなコンポーネントが使用する顔を定義するという一般的な考え方です。次に、SとTのテクスチャ座標がそのテーブルから取得され、小さな計算がそれらに適用されて[0、1]テクスチャ座標に変換されます。

+0

クールで完璧です! – Mat