OpenGL®ラインとは何ですか?
Open GraphicsLibrary®(OpenGL®)では、線はOpenGL®で描画できる基本的なプリミティブ図形の1つであり、三角形のレンダリングに使用されることがあるビルディングブロックの1つを構成します。 OpenGL®ラインは、2つの頂点間のグラフィックを接続する単なる直線です。 OpenGL®ラインの概念と実行は簡単ですが、一部の実装では他のプリミティブよりもレンダリングに時間がかかる傾向があります。これは、OpenGL®標準にはその動作に関する仕様がないためです。 OpenGL®線を明示的に使用すると、線が特定の方法でラスタライズされ、シーン内の他のジオメトリから切り離されているように見えるか、予想される位置からわずかにずれているように見えるため、予期しない結果になることがあります。 基本的なラインに加えて、OpenGL®ラインは、各ラインの終わりが次のラインの始まりである三角形ストリップのように、ラインストリップとループに形成することもできます。
シーンで使用する場合、OpenGL®ラインは、直線の可視パスで接続された2つの頂点、または3次元(3D)空間の座標で構成される形状プリミティブの一種です。 三角形などの他のプリミティブとは異なり、ラインには通常、表面はありませんが、ブレンドや頂点カラーリングを使用して色を付けることができます。 線は、数学や科学の3D視覚化や、ディスプレイの領域を指す十字線や矢印などの2次元(2D)表示インジケーターでよく使用されます。
線の幅は、OpenGL®を使用してある程度定義できます。 特定のポイントでラインが存在する幅のピクセル数を指定できますが、プラットフォーム間での動作方法に関する実際の標準はありません。 状況によっては、幅をまったく変更できない場合がありますが、他の場合には、OpenGL®の線の幅が一見任意の数に制限されています。
基本的なラインに加えて、複数のOpenGL®ラインを組み合わせて、ラインストリップおよびラインループと呼ばれる他の2つの構造を形成できます。 ラインストリップは、新しい各ラインの開始点が最後のラインの終了点である頂点のシーケンスです。 これは主に便利な機能ですが、個々の行を使用するよりもすばやくレンダリングできます。 ラインループはラインストリップとほとんど同じですが、ループの最後の頂点が指定された最初の頂点に接続されます。
OpenGL®ラインを使用する際の複雑な点の1つは、デフォルトでは幅が1ピクセルしかないため、正しい方法でレンダリングされない場合があることです。 特定の場合、特にラインがアンチエイリアス処理されている場合、ラスタライズされた画像の特定のピクセルが表示されないことがあります。 線自体も、予想される位置から数ピクセル離れて表示される場合があります。 これは主に、OpenGL®が使用する浮動小数点演算のわずかな変動が原因です。 レンダリングのためにラインをポリゴンに変換しなくても簡単に解決できる問題は常にあるとは限りません。