5

OpenGL が非推奨になり、新しいリリースで GL_QUADS が取り除かれたことを私は知っています。これは、最新の GPU が三角形でしかレンダリングしないため、クワッドを呼び出すと、GPU が 2 つの三角形に分割するのが難しくなるという事実によるものだと聞いたことがあります (とにかく聞いたことはありますが、私はいずれについてもあまり専門家ではありません)。このトピック)。

クワッドのレンダリングを自分で手動で 2 つの三角形に分割するか、GPU に任せた方が良いかどうか (平均的な人の CPU が GPU よりも相対的に高速であると仮定して) は、私は疑問に思っていました。繰り返しますが、私は始めたばかりなので、OpenGL の実際の経験はまったくありません。最近のほとんどのマシンでどちらが優れているかを知りたいので、どちらのレンダリング方法にも注意を向けることができます*。ありがとう。

*しかし、私はおそらくそれのために「三角形の方法」を利用します.

4

2 に答える 2

10

OpenGLクワッドにフィードする場合でも、三角形化はCPU側のドライバーによってGPUに到達する前に実行されます。最近の最新のGPUは、三角形以外は何も食べません。(まあ、そして線と点。)それで、それがあなたであろうとドライバーであろうと、何かが三角測量されるでしょう-それがどこで起こってもそれほど重要ではありません。

これは、たとえば、頂点バッファーを再利用せず、代わりに、事前に三角形化された三角形を毎回再充填するのではなく、クワッドで毎回再充填する場合(この場合、ドライバーはすべての頂点バッファーを再三角形化する必要があります)、効率が低下します。時間ですが、それはかなり不自然です(その場合に修正する必要がある問題は、頂点バッファーを補充しているという事実だけです)。

とにかくほとんどのコンテンツパイプラインが出すものであり、非平面のクワッドなどで問題が発生する可能性が低いため、選択肢があれば、三角形を使用することをお勧めします。コンテンツの形式を選択できる場合は、必ず三角形を使用してください。そうすれば、三角測量の手順は完全にスキップされます。

于 2013-01-28T08:20:39.113 に答える
1

あらゆるジオメトリを三角形で表すことができるため、四角形の代わりに三角形を使用することにしました。もう 1 つの理由は、2 つの三角形が同一平面上にある必要がないことです。これは、四角形には当てはまりません。

はい、四角形のレンダリングを選択しますが、ドライバーは四角形を 2 つの三角形に変換します。

したがって、クワッドをレンダリングすることを選択しても、GPU の作業が減ることはありませんが、変換を行う必要があるため、CPU の作業が増えることになります。

于 2013-01-28T07:29:39.980 に答える