OpenGL®Quadとは何ですか?
コンピュータープログラミングおよびグラフィックスのOpenGL®四辺形(クワッド)は、3次元(3D)形状で、多角形とも呼ばれ、4つの辺と4つの点を持ちます。 OpenGL®クワッドの1つのコーナーを表す各3Dポイントは頂点と呼ばれ、仮想空間での座標位置に関連する3つの数字で定義されます。 クワッドの頂点は、実際のガイドラインに従う必要はありませんが、4つでなければなりません。 それ以外の場合、形状は実際の数に応じて多角形、三角形、または線として知られています。 ほとんどのデジタル画像は実際には長方形であるため、OpenGL®クワッドは、大きな歪みや複雑なテクスチャマッピング手法を必要とせずに画像をテクスチャマッピングできるため、有用な形状になります。 ただし、OpenGL®クワッドの使用には独自の課題があり、使用を完全に回避することを提案するプログラマーが多数います。
OpenGL®クワッドの主な用途の1つは、3D環境内で2次元(2D)グラフィックスを描画することです。 これは、3Dシーンの上に静的なユーザーインターフェースを重ねたり、OpenGL®で2Dグラフィックスをエミュレートしたりするために実行できます。 OpenGL®は複雑な3Dグラフィックスをレンダリングするように設計されていますが、抽象プログラミングインターフェイス(API)の最適化と柔軟性のため、2Dグラフィックスアプリケーションで頻繁に使用されます。 クワッドは2Dグラフィックスのレンダリングにおいて非常に重要になります。これは、クワッドがデジタル画像の自然な3D表現であるため、画像の寸法に正確に一致するようにクワッドを比例させることができるためです。 比率が一致すると、画像は、歪み、ラッピング、またはガタースペースなしで、クワッドの表面にテクスチャマッピングまたは投影できます。
一部のプログラマーによると、OpenGL®クワッドを使用する利点は、三角形がどのように収まるかを視覚化するのではなく、クワッドがどのように収まるかを考える方が簡単なことです。 これは、各クワッドが単一の側面であるキューブなどの単純な3D形状に特に当てはまります。 三角形メッシュでは、2つの三角形を組み合わせて、1つの辺を形成する四角形を作成する必要があります。 クワッドを簡単に操作して、タイル状またはグリッドに揃えられた環境内で遠近感やその他の効果を作成することもできます。
OpenGL®クワッドの使用にはいくつかの欠点がありますが、その主な理由は、ビューアのウィンドウ内で画像をラスタライズまたはレンダリングするために使用されるアルゴリズムによるものです。 最も遭遇する問題の1つは、レンダリングまたはグラフィックスカードが、効率を上げるために、どの時点でもクワッドを2つの三角形に分割する可能性があることです。 これにより、三角形のエッジが交わる四角形を通る角度で、そうでなければ滑らかな表面に突然目に見える歪みが生じる可能性があります。
時々考えられるよりも一般的な別の問題は、OpenGL®クワッドのクリッピングに関係しています。 クワッドの一部が画面外の表示ウィンドウの外側にある場合、レンダラーはクワッドをクリップし、可視部分のみがレンダリングされます。 これは、クワッドが幾何学的にカットされることを意味します。 クリッピングが発生する前にクワッドが2つの三角形に変換された場合、各三角形はクワッドになり、これらのクワッドはそれぞれ2つの三角形に変換されます。 これは、クリップされたクワッドが1つの滑らかなクワッドではなく、突然4つの三角形で構成される状況につながります。
四角形から三角形への変換の複雑さと予測不可能性は、望ましくない結果をもたらします。 これらには、テクスチャの歪み、頂点の照明に関連する不正確さまたはアーティファクト、および場合によってはポリゴンサーフェスの欠落が含まれます。 これらの理由により、一部のプログラマーはクワッドの使用を完全に避けています。