1

OpenGL 修正機能プログラミングでは、異なるオブジェクトに異なるテクスチャをマップすることはできますが、そのテクスチャは 1 つの画像のみから生成されます。たとえば、1024 X 1024 の画像があります。シーンに 4 つの長方形があります。ここで、画像を 256 X 256 *4 にスライスし、これらのスライスされた画像をテクスチャとしてマップします。

これどうやってするの。1 つのオプションは、画像を事前にスライスすることです。しかし、これは glTexSubImage2D または類似/異なる API を使用して行うことができますか?

4

3 に答える 3

2

編集: 配列テクスチャを使用するには、シェーダーが必要です: http://www.opengl.org/registry/specs/EXT/texture_array.txt . まだ役に立つ情報かもしれないので、答えを残しておきます。

これには配列テクスチャを使用できると思います: http://www.opengl.org/wiki/Array_Texture

256 x 2048 のテクスチャを作成します。テクスチャをロードするときは、レイヤー サイズ (256 x 256) とレイヤー数 (4) を指定します。テクスチャは 4 つのレイヤーに分割されます。

UV を使用してテクスチャにアクセスできます。[x, y, LayerId]

ミップマップを生成する場合は、 でストレージを割り当てるときにレベル数を定義する必要があることに注意してくださいglTexStorage3D

于 2013-06-11T05:21:04.873 に答える