2DOpenGL®とは何ですか?
Open GraphicsLibrary®(OpenGL®)は、主にソフトウェアアプリケーションがグラフィックスハードウェアと対話し、3次元(3D)シーンを迅速かつ効率的に作成できるようにするプログラミングインターフェイスです。 2次元(2D)OpenGL®プログラミング手法を使用すると、ライブラリによって提供されるハードウェアアクセラレーションによりパフォーマンスが向上し、場合によっては3Dモデルや変換を必ずしも使用しないソフトウェアのプログラミングが容易になります。 2DOpenGL®を使用する最も一般的な方法は、画像でテクスチャリングされた四角形または長方形を描画し、画像から3D空間にオブジェクトを効果的に作成することです。 これらの四辺形は、一度確立されると、厳密な2Dメソッドを使用するか、2Dラスターグラフィックスだけでは困難な特殊効果のために3Dマトリックスで変換することで操作できます。 3Dライブラリを使用すると、2Dグラフィックスのみに使用すると複雑になることがあります。1ピクセルの位置を分離するのが複雑になる可能性がある超高精度や、本当に必要のないプログラムに対する3Dハードウェアサポートの要求それ。
多くのハードウェアおよびソフトウェア開発者は、特定の製品がOpenGL®ライブラリと完全に互換性を持つようにするドライバーとカスタム抽象プログラミングインターフェイス(API)を提供しています。 このようにオープンスタンダードが広く受け入れられたことにより、プログラマーは多種多様なシステム上のハードウェアに直接アクセスすることができます。 2DOpenGL®を使用する際に提供されるハードウェアアクセラレーションにより、プログラムが他の方法で可能な場合よりもスムーズに実行できるようになります。 この速度は、グラフィックスにOpenGL®パイプラインを使用することと、OpenGL®のようなステートマシンモデルを一般に使用しない従来の2Dプログラミング方法を使用することとは大きく異なる可能性があるという事実によってバランスが取られます。
ほとんどの2DOpenGL®プログラムは、グラフィックを描写するために、テクスチャイメージと同じ比率で作成された平らな長方形を使用します。 これには、レンダリングが非常に迅速であるだけでなく、プログラミングが簡素化されるという利点があります。そのため、ラスターベースのバッファーグラフィックスと同じロジックを使用します。 画像のスケーリング、画像の回転、画像の反転などの一部の効果は、実際にはOpenGL®を使用してはるかに効率的に実行できます。
2DOpenGL®プログラムが他の2Dプログラムよりも複雑になる可能性がある特定の要因があります。 これらの要因の1つは、ディスプレイ上のピクセルの精度です。 OpenGL®は、ラスターグラフィックスのように仮想座標系の一部を画面上の1ピクセルと同一視しないため、画面の座標に浮動小数点数を使用して、ディスプレイのギャップや奇妙なピクセル配置を防ぐ必要がある場合があります。
もう1つの問題は、OpenGL®ではレンダリング速度を上げるためにグラフィックカードを使用する必要があることです。 アプリケーションがインターフェイスまたはシステムウィンドウの表示にOpenGL®を使用している場合、グラフィックアクセラレーションを持たないデバイスは、エンドユーザーにとって非常に基本的なグラフィックのパフォーマンスが低下する可能性があります。 OpenGLは、テキスト表示のネイティブサポートも提供しません。つまり、テキストの大きな領域を表示するには、かなりの量のカスタムコードが必要になる場合があります。