ジオメトリを三角形から三角ストリップまたは三角形ファンにマージすると、処理する必要のある頂点が少なくなるなど、3Dレンダリングのパフォーマンスが向上することを何度も読みました。VBOおよびインデックス付きレンダリングの使用に関して、これらすべての考慮事項はどの程度関連性がありますか。 ?
たとえば、三角形で構成されるプリミティブ(球)があります。一意の頂点のみを格納するVBOと、頂点からプリミティブを構築するためのインデックスを格納するVBO(GL_ELEMENT_ARRAY_BUFFERにバインド)があります。すべてのレンダリングはを介して行われglDrawElementsInstanced()
ます。いくつかのストリッピング手法を適用し、プリミティブの再起動を有効にしてプリミティブをGL_TRIANGLE_STRIPとしてレンダリングした後、パフォーマンスが向上しますか?
ドキュメントによると、OpenGLパイプラインは、すべての頂点ごとの操作の後、ラスタライズの前にプリミティブをアセンブルします。私が推測できるように、これは、ドライバーが最初にすべての頂点に対して頂点(ジオメトリなど)シェーダーを呼び出し、その後、インデックス配列を使用して三角形を取得し始めることを意味します。それが本当の場合、プリミティブの再起動のための追加のチェックが適用されるため、ストリッピングはプロセスを遅くする可能性があります。
私はいくつかのストリファイアライブラリを見つけようとしましたが、私が見つけたものはすべて、数年前に見捨てられたように見えます。それで人々は突然この分野への興味を失いました...
これらすべての考慮事項を考慮に入れると、ストライプ化する必要はありません。私は正しいですか、それとも重要な何かを見逃しましたか?最新のハードウェアでストライプ化する必要がありますか?