2009-07-28 10 views
2

申し訳ありませんが私の質問がクリアされていない場合。私は詳しく説明します。OpenGL ESテクスチャの2^nピクセルサイズ要件を処理する効率的な方法はありますか?

私は100×200のサイズの矩形を持っていますが、その矩形に合う100×200のグラフィックサイズがあります。 OpenGLはすべてのテクスチャに2^nの幅と高さが必要であるため、基本的に100 x 200のグラフィックスを128 x 256のイメージに置きます。それは、私が矩形上に必要なテクスチャの一部だけを描画するように要求したので、OpenGLでは正常に動作します。しかし、128x256のテクスチャでは、未使用のスペースがたくさんあるということが私には分かります。

この場合、未使用のスペースを処理するには、より良い方法がありますか?それとも、これは道になるはずですか?

+1

あなたは2^n、n^2ではないと思いますか? –

答えて

5

1つの「シート」に複数のテクスチャをパックします。

+0

私はいくつかのゲームがその方法を使用しているのを見てきましたが、プログラマーの人生を少し複雑にしています。 – Karl

+2

あなたがこの技術を求めているのであれば、Texture Atlasと呼ばれることもあります。 – kibibu

0

画像のサイズを適切に調整します。 あなたはこの世界で何のためにも何も得られません。

1

メモリを節約するためにパディングを減らす必要がある場合は、イメージを複数のpow2テクスチャに分割することができます。水平方向に100ピクセルを64,32,4および200ピクセルに垂直に分割して128,64,8に変換します。また、テクスチャリングしている長方形を複数の対応する四角形(四角形)に分割する必要があります。

この例では、1ではなく9つのクワッド/テクスチャをレンダリングしますので、アプリケーションにパフォーマンスヒットがあるかどうかを測定する必要があります。

私はOpenGL ESでサポートされていないと思われるテクスチャ境界線を必要とするため、双線形補間を使用している場合はこのテクニックを使用できません。

関連する問題