これまでのところ、即時表示リスト、頂点バッファ、頂点バッファオブジェクトのレンダリングについて知っています。どちらが最速ですか?どちらのOpenGLバージョンが必要ですか?私は何を使うべきですか?OpenGLレンダリングモード
5
A
答えて
3
現代(古くは読まれていない)ハードウェアは、即時モードを本当に嫌っています。私は、即時モードを頂点配列に置き換えることにより、ほぼ2桁の性能向上を見ました。
OpenGL 3以降ではバッファオブジェクトのみがサポートされていますが、他のすべてのレンダリングモードは推奨されていません。
ディスプレイリストは、正しく使用するのに深刻な苦痛であり、古代以外のハードウェアでは価値がありません。
要約すると:OpenGL 3+を使用する場合は、(V)BOを使用する必要があります。 OpenGL 2をターゲットにする場合は、必要に応じて頂点配列またはVBOを使用します。
5
ここでレンダリングするのに最適な方法は、汎用バッファAKA Vertex Buffer Objectsを使用することです。私が正しいとすれば、それらは2.1からコアになりますが、一般に1.5(ARB_vertex_buffer_object
)に拡張子として現れます。彼らはハードウェアをサポートしています。つまり、GPUメモリに直接格納でき、おそらく直接格納されます。
データをロードするときは、推奨使用法を指定します。詳しくは、glBufferDataマニュアルを参照してください。たとえば、GL_STATIC_DRAW
は静的表示リストと非常によく似ています。これにより、グラフィックスカードでグラフィックスカードへのアクセスを最適化できます。
1
また、最高のパフォーマンスを得るためにVertex Array Objectsを忘れないでください。彼らを説明するNicol Bolasからthis great tutorialをチェックしてください。
関連する問題
- 1. ノックアウトrenderTemplate()レンダリングモード
- 2. Visual Studio WinFormレンダリングモード
- 3. AIRレンダリングモードGPU対レンダーモード直接
- 4. asp.netでv4レンダリングモードとは何ですか?
- 5. レンダリングモードが動作しないイメージ
- 6. スクリプトでstretched_billboardレンダリングモードを選択できないのはなぜですか?
- 7. OpenGLまたはOpenGL ES
- 8. OpenGL-ESへのOpenGL - glBegin();
- 9. OpenGLフォグとOpenGL ESフォグ
- 10. OpenGL vs OpenGL ES(GLcharなど)
- 11. OpenGL ESとOpenGL互換シェーダ
- 12. OpenGLを使ったopenglによるソフトウェアレンダリング
- 13. iPhoneのOpenGL ES 1.1のOpenGLカラーインデックス?
- 14. OpenGL ES 2からOpenGLへの移植
- 15. OpenGL AndroidをLibGDX OpenGLに変更する
- 16. OpenGL ES 2.0とOpenGL 4の違い
- 17. OpenGLユニフォームバッファ?
- 18. OpenGLレンダリングダイナミックテクスチャクワッド
- 19. OpenGL gluperspective()
- 20. opengl getUniformLocation
- 21. サンプルプロジェクトOPENGL
- 22. openGLテクスチャマスキング
- 23. のOpenGL:
- 24. OpenGLスムーズズーム
- 25. のOpenGL:
- 26. OpenGlテクスチャヤンク
- 27. OpenGLスケルトンアニメーション
- 28. OpenGLレンダーオーダー
- 29. OpenGLレンダリンググリッチ
- 30. OpenGLゲームループマルチスレッド
"*頂点バッファと頂点バッファオブジェクトレンダリング*"これら2つは同じものです。また、この質問に答えることはできません。その答えは、ハードウェア固有、ドライババージョン固有、および*ワークロード*固有のものです。 –