0

        OpenGL ES 2.0 でスプライト クラスの作成に取り組んでおり、ある程度成功しています。現在、スプライト用のレンダリング メソッドがあり、EAGL レイヤーのレンダリング メソッドによって定期的に呼び出されます。render が呼び出されるたびに新しい頂点バッファーとインデックス バッファーを作成していましたが、効率的ではないため、glremovebuffer を呼び出しました。残念ながら、そうするとフレームレートが大幅に遅くなります。

        したがって、現在、初期化時に作成された vbo と ibo があり、フレームレートとメモリ消費に関しては正常に動作しますが、位置を更新することはできません。

        私は OpenGL を使い始めたばかりなので、少し迷っています。どんな助けも大歓迎です。

4

1 に答える 1

1

通常、モデルの原点にある VBO と IBO を使用してスプライトを作成します。平行移動、回転、スケーリングするには、モデル マトリックスを使用してスプライトを目的の位置に変換します。

iphone sdk がそれを行うための優れた機能を提供していることはかなり確信していますが、私はそれらのどれも知りません:)これらのマトリックスはモデル マトリックスであり、変換、回転、スケーリング、またはそれらのマトリックスの任意の組み合わせに変更できます (実際、任意のマトリックスにすることができ、異なる結果が生成されます)。

これらの変換行列を説明するリソースはたくさんあります。たとえば、次のとおりです。 http://db-in.com/blog/2011/04/cameras-on-opengl-es-2-x/

私のアドバイスは、あなたが理解しているのと同じレベルで話すチュートリアルを見つけて、そこから学ぶことです...

于 2012-07-31T19:39:13.927 に答える