2016-04-06 15 views
0

私はLibGDX SpriteBatch classを掘り下げています。これは、私自身のバッチ処理ユーティリティを四角形のジオメトリのために書くつもりです。GL_QUADSではなく、GL_TRIANGLESをそのプリミティブ型として使用しているのでしょうか?なぜLibGDX SpriteBatchは四角形の代わりに三角形を使用しますか?

SpriteBatchで描画されるものはすべて四角であるため、代わりにクワッドを使用するために頂点とインデックスを設定するのはパフォーマンスが向上しませんか?

+0

本質的にすべての四角形は2つの三角形で構成されていますが、内側の仕組みには慣れていませんが、性能は重要ではありません。コンピュータ上のすべての3Dオブジェクトは三角形で描画されます。これは、三角形が常に「フラット」であるためです。言い換えれば、三脚は常に安定しており、脚が4つのテーブルのように揺れません。 – Madmenyo

+0

洞察に感謝します。 GPUが実際に受け取った三角形として計算する、CPUからのGPUへの頂点とインデックスの数を少なくする(6個ではなく、各4個の頂点が6個になり、数千に分割される)という利点があると私は考えていました。転送するデータ量の向上だけです。 –

答えて

1

GLES2ではGL_QUADSが利用できず、エンジンはクロスプラットフォームとなることが考えられます。

+0

LibGDXがローエンドのモバイルデバイスとの互換性を提供しようとしているときに意味があります。ありがとう! –

+1

ハイエンドデバイスはOpenGL ESも使用します。 – Tenfour04

関連する問題