現在、基本的な即時モードを使用して、面カリングをオンにして 4096 個の立方体をレンダリングしています。顔カリングの有無にかかわらず、平均 50 fps が得られます。無効にした場合と有効にした場合で同じ fps が得られるのはなぜですか? パフォーマンスを向上させるために他に何ができますか? また、インデックス付きの VBO を使用してキューブをレンダリングする必要がありますか? また、優れた VBO チュートリアル (できれば LWJGL の Java 用) を知っている人はいますか。
1 に答える
即時モードは、大量のジオメトリに対してかなり遅いです.私は個人的にベンチマークを行ったことはありませんが、それは私がさまざまなリソースで読んだものであり、OpenGLの達人からここにあります.また、プッシュする必要のないプログラム可能なパイプラインを使用することは理にかなっています.バッファを操作する際に、フレームごとに頂点データを GPU に転送します。そのため、最初に最新の OpenGL に移行することをお勧めします。これは、古い固定実装よりも高速ではるかに強力であるためです。バッファとシェーダーを使用すると、柔軟性が大幅に向上します。 .さて、始める前に、このチュートリアル シリーズをご覧になることをお勧めします。また、基本的なレンダリング エンジンの作成方法について知りたい場合は、こちらをご覧ください。非常にシンプルな OpenGL 4.0 ベースのレンダリング システムを特徴とするオープン ソース プロジェクトです。Java ではなく C++ ですが、API は LWJGL と同じです。LWJGL での個人的な経験から覚えている限り、バッファの作成のみが異なります。また、LWJGL の最新の OpenGL チュートリアルが必要な場合は、OpenGL SuperBible 5 本のコード ベースに基づいた優れたリソースを次に示します。これは、前述の Jason L. McKesson による最新の OpenGL チュートリアルの LWJGL ポートです。お役に立てば幸いです。 .