ランダム化された本の最初の章では、ほとんどの場合、ラスター化とレンダリングの手法について、三角形ベースのレンダリングシステムと四角形ベースのシステムに関するフレーズを見つけました。
クワッドベースのGPUまたはパイプラインに遭遇したことはありません。OpenGL 3.0+を扱うとき、それについて心配する必要がありますか、それとも単なるレガシーなものですか?
ランダム化された本の最初の章では、ほとんどの場合、ラスター化とレンダリングの手法について、三角形ベースのレンダリングシステムと四角形ベースのシステムに関するフレーズを見つけました。
クワッドベースのGPUまたはパイプラインに遭遇したことはありません。OpenGL 3.0+を扱うとき、それについて心配する必要がありますか、それとも単なるレガシーなものですか?
回答:
いいえ、必要ありません。現在の世代のすべての商品GPUは、三角形ベースのラスタライゼーション手法を排他的に使用します(しばらく使用してきました)。古いバージョンのOpenGLはGL_QUADS
レンダリングモードをサポートしていますが、これらは商品GPUによって三角形に変換されました。GL_QUADS
難解な学術ハードウェアまたは80年代または90年代前半のハイエンドオフライン3Dレンダリングに使用されたハードウェアで実際の四辺形ベースのラスタライゼーションのみが発生した可能性があります(私はこの主張を裏付ける証拠はありませんが、推測しているだけです)。
とはいえ、四辺形(および一般に、三角形以外の多角形のラスタライゼーション)を見ることは、教育的であり、したがって、物事の異なる視点を提供するだけで有用である可能性があります。これを効率的に行うために必要なアルゴリズムは興味深いものであり、グラフィックスプログラミング以外のアプリケーションも含まれていることがあります。たとえば、単純な偽の2D水シミュレーションを実装する手段として、エッジウォーキングポリゴンのラスタライズ手法を使用しました。
また、三角形以外のポリゴンが非平面である可能性があることや、三角形を使用して作成できる最適化の結果として、三角形のラスタライズが望ましい理由を理解するのにも役立ちます。
レンダリングAPIを使用している場合、心配する必要があるのは、そのAPIが通知する内容だけです。OpenGLは、四角形ベースまたは三角形ベースのレンダリングシステムについては何も述べていません。だからあなたはそれを気にする必要はありません。
いずれの場合でも、すべてのコンシューマーグレードのGPUは、四角形ではなく三角形を使用します。