テクスチャ付きの長方形を描画するためにディスプレイ リストを使用することは良い考えですか、それとも悪い考えですか?
表示リストは、スプライトが使用しているテクスチャが変更された場合にのみ再コンパイルされます。
テクスチャ付きの長方形を描画するためにディスプレイ リストを使用することは良い考えですか、それとも悪い考えですか?
表示リストは、スプライトが使用しているテクスチャが変更された場合にのみ再コンパイルされます。
単一のスプライトを描画する場合、そのようにしても問題はありませんが、glRotate/glTranslate を使用してスプライトを配置すると仮定すると、利点もありません。多くのゲームがそのように書かれています。
私のゲームでは、GL_DYNAMIC_DRAW で頂点バッファー オブジェクトを使用して、各テクスチャ アトラスを共有するすべてのスプライトを格納します。CPU の頂点位置を更新し、バッチ全体を 1 回の描画呼び出しで送信します。このアプローチを使用して、さらに多くのスプライトを描画できます。さらに描画する必要がある場合は、頂点シェーダーで位置を指定できます。
また、OpenGL ES2 はディスプレイ リストをサポートしていないため、ES2 デバイスへの移植を考えている場合は、やり直す必要があることに注意してください。(iPhone/iPad は ES1 をサポートしていますが、ES2 と組み合わせて使用することはできません。ディスプレイ リストまたはシェーダーを使用できますが、両方を使用することはできません)。