OpenGLでGPUベースの動的ジオメトリLODを実装するにはどうすればよいですか?[閉まっている]


9

ゲームのパフォーマンスを向上させるためにLODを実装しようとしています。とてもいいチュートリアルを見つけまし

私が理解していると思う基本的な概念は、カメラからオブジェクトまでの距離を取得し、適切なLODレベルを確認してから、「適切な量のインスタンス」でオブジェクトをレンダリングすることです。

それをどのように実装しますか?提供されているサンプルコードは私にとって謎です...

いくつかの質問:

  1. これはLODを実装する良い方法ですか?
  2. 誰かが私に詳細、私がそれを実装する方法、クエリなどを説明してくれますか?
  3. すべてのオブジェクトをレンダリングしています

    GL11.glDrawElements(GL11.GL_TRIANGLES, model.getRawModel().getVertexCount(),
                        GL11.GL_UNSIGNED_INT, 0);

    コード例ではを使用していGL_POINTSます。でも実装できますGL_TRIANGLESか?


これは、大量のインスタンスにLODSを実装する良い方法です(計算もこれに適しています)。すでにCPUベースのLODシステムはありますか?ここでGL_POINTSは、実際のレンダリングではなく、いくつかのGSをディスパッチするためにのみ使用されます(この記事は7年前のものであり、最新の実装ではおそらく代わりに計算シェーダーを使用します)。
gan_

回答:


0

インデックス配列を使用して地形の頂点を描画していると仮定すると、レンダリングを既にどのように設定しているかに依存すると思いますが、描画するインデックス配列をさらに作成して、各配列でより多くの頂点に沿って移動できます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.