ラスタライズ は、プリミティブを 2 次元イメージに変換するプロセスです。 このイメージの各ポイントには、色、深度、テクスチャ データなどの情報が含まれています。 ポイントとその関連する情報は 、フラグメントと呼ばれます。 glRasterPos* で指定されている現在のラスター位置は、ピクセルとビットマップを描画するために、この段階でさまざまな方法で使用されます。 ポイント、線分、ポリゴンをラスタライズすると、さまざまな問題が発生します。 さらに、ピクセルの四角形とビットマップをラスター化する必要があります。
OpenGL を使用すると、次の関数を使用してラスター化を制御できます。
- プリミティブ。 ディメンションとヒント パターンを決定する関数 ( glPointSize、 glLineWidth、 glLineStipple、 glPolygonStipple) を使用してプリミティブをラスター化する方法を制御します。 glCullFace、glFrontFace、およびglPolygonMode を使用して、ポリゴンの前面と背面をラスター化する方法を制御します。
- ピクセル。 ピクセルの保存モードと転送モードを制御する関数がいくつかあります。 関数 glPixelStore* はクライアント メモリ内のピクセルのエンコードを制御し、 glPixelTransfer* と glPixelMap* はフレームバッファーに配置される前のピクセルの処理方法を制御します。 glDrawPixels でピクセル四角形を指定します。glPixelZoom を使用してラスター化を制御します。
- ビットマップ。 ビットマップは、0 の四角形と、生成するフラグメントの特定のパターンを指定する四角形です。 これらの各フラグメントには、同じ関連データがあります。 glBitmap 関数はビットマップを指定します。
- テクスチャ メモリ。 テクスチャリングが有効になっている場合、テクスチャは、指定されたテクスチャ イメージの一部を各プリミティブにマップします。 このマッピングは、フラグメントのテクスチャ座標によって示される位置にあるテクスチャ イメージの色を使用して、フラグメントの RGBA 色を変更することによって実現されます。 glTexImage2D または glTexImage1D を使用してテクスチャ イメージを指定します。 glTexParameter* 関数と glTexEnv* 関数は、テクスチャ値の解釈方法とフラグメントへの適用方法を制御します。
- 霧。 霧の色とラスター化されたフラグメントのテクスチャ後の色をブレンドするには、アイポイントとフラグメントの間の距離に依存するブレンド係数を使用します。 glFog* を使用して、霧の色とブレンド係数を指定します。