OpenGL の基本的な操作
次の図は、OpenGL がデータを処理する方法を示しています。 示すように、コマンドは左側から入力し、処理パイプラインを続行します。 描画するジオメトリック オブジェクトを指定するコマンドもあれば、さまざまな処理段階でオブジェクトの処理方法を制御するコマンドもあります。
基本的な OpenGL 操作の処理ステージは次のとおりです。
一覧を表示する すべてのコマンドをパイプラインですぐに続行するのではなく、後で処理するために、それらの一部を表示リストに蓄積することを選択できます。
エバリュエーター 処理のエバリュエーター ステージは、入力値の多項式コマンドを評価することで、曲線とサーフェスのジオメトリを効率的に近似する方法を提供します。
頂点ごとの操作とプリミティブ アセンブリ OpenGL は、頂点によって記述されるジオメトリ プリミティブポイント、ライン セグメント、およびポリゴンをすべて処理します。 頂点は変換されて点灯し、プリミティブはラスター化に備えてビューポートにクリップされます。
ラスタライズ ラスター化ステージでは、ポイント、ライン セグメント、または多角形の 2 次元の説明を使用して、一連のフレーム バッファー アドレスと関連する値が生成されます。 生成された各フラグメントは、最後のステージであるフラグメントごとの操作に送られます。
フラグメントごとの操作 これらは、フレームバッファーにピクセルとして格納される前に、データに対して実行される最終的な操作です。
フラグメントごとの操作には、受信および以前に格納された z 値に基づくフレームバッファーの条件付き更新 (z バッファリングの場合) と、受信ピクセル カラーと格納された色のブレンド、ピクセル値に対するマスクおよびその他の論理操作が含まれます。
データは、頂点ではなくピクセル形式で入力できます。 テクスチャ マッピングで使用する画像を記述するようなピクセル形式のデータは、前述の処理の最初の段階をスキップし、代わりにピクセル操作ステージでピクセルとして処理されます。 ピクセル操作の後、ピクセル データは次のいずれかになります。
- ラスター化ステージで使用するために、テクスチャ メモリとして格納されます。
- ラスター化され、結果のフラグメントがジオメトリ データから生成されたかのようにフレームバッファーにマージされます。