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