OpenGLエントリの用語と概念

OpenGLを学びたい場合は、まずこれらの概念を明確にしてください。理解できない場合は、学習中に開始して更新する方法がありません。

モデル:またはシーンオブジェクトと呼ばれ、ジオメトリプリミティブから作成されたオブジェクトです。

レンダリング:コンピュータがモデルに基づいて最終的な画像を作成するプロセスです。

シェーダー:グラフィックハードウェア(グラフィックカード)デバイスによって実行される特別な機能。例えば、絵を描くときは、まず鉛筆で線画を描き、それから色を塗るというプロセスがよくあります。シェーダーはこの作業プロセスです。シェーダーは通常2つのタイプに分けられます。
(1)頂点シェーダーこれは、頂点や法線などのデータを処理するための線の描き方をコンピューターに指示する関数です。
(2)フラグメントシェーダーこれは、オブジェクトの表面上の光、影、オクルージョン、環境などの影響をカラー処理する方法をコンピューターに指示し、最終的に画像を生成する小さな関数です。

ラスタライズ:頂点データをフラグメントに変換するプロセスであり、画像をラスターで構成される画像に変換する機能があります。特徴は、各要素がフレームバッファーのピクセルに対応していることです。これは、ベクターグラフィックをピクセルに変換するプロセスです。画面に表示される画像はすべてピクセルで構成されていますが、3次元のオブジェクトは点、線、表面で構成されています。ドット、ライン、サーフェスを画面に表示できるピクセルにするには、ラスタライズのプロセスが必要です。

レンダリングパイプライン:アプリケーションデータを最終的なレンダリングイメージに変換する一連の処理プロセスです。端的に言えば、パイプラインです。さあ、パイプラインに従って段階的に処理します。

頂点:ポイントはすべての基礎です。OpenGLは、点を描くための一連の関数を提供します。

プリミティブ:ポイント、ライン、サーフェスなど。glPointSize()、glLineWidth()、glLineStipple()、glPolygonStipple()関数を使用して、プリミティブのラスタライズ次元とモードを選択します。さらに、glCullFace()、glFrontFace()、およびglPolygonMode()を使用して、ポリゴンの前面と背面のさまざまなラスタライズ効果を制御することもできます。

フラグメント(フラグメント、フラグメントとも呼ばれます):プリミティブが適切にトリミングされ、それに応じて色とテクスチャデータが調整され、関連する座標がウィンドウ座標に変換されます。最後に、ラスタライズにより、トリミングされたプリミティブがフラグメントに変換されます

ピクセル:画面に描画できるピクセルピクセルを保存および変換するための関数がいくつかあります。関数のglPixelStoreシリーズは、メモリにピクセルを保存するために使用されます。関数のglPixelTransferシリーズと関数のglPixelMapシリーズは、ピクセルがフレームバッファーに書き込まれる前に処理される方法に使用されます。glDrawPixels()はピクセル長方形を定義します。ピクセルスケーリングを実現するには、glPixelZoom()を使用します。

頂点、プリミティブ、フラグメント間の関係:ジオメトリック頂点はプリミティブ(ポイント、ライン、またはポリゴン)に結合され、次にプリミティブがフラグメントに結合され、最後にフラグメントはフレームバッファー内のピクセルデータに変換されます。プリミティブは適切にトリミングされ、それに応じて色とテクスチャデータが調整され、関連する座標がウィンドウ座標に変換されます。最後に、ラスタライズにより、トリミングされたプリミティブがフラグメントに変換されます。

トリミング修復と修復、およびポイント、ラインセグメント、ポリゴンの処理は、トリミングの際に少し異なります。ポイントの場合、元の状態を維持するか(クリッピングボディの内側)、または切り取られます(クリッピングボディの外側)。ラインセグメントとポリゴンの場合、パーツがクリッピングボリュームの外側にあると、新しいジオメトリック頂点をクリッピングポイントに生成する必要があります。ポリゴンの場合、新しく追加された頂点の間に完全なエッジを追加することも必要です。ラインセグメントまたはポリゴンがクリップされているかどうかに関係なく、境界マーク、法線、色、およびテクスチャの座標情報を新しいジオメトリポイントに割り当てる必要があります。

ビットマップ:ビットマップは、特定のフラグメントモードを持つ0と1の長方形です。各フラグメントには同じ関連データがあります。glBitmap()で定義できます。

テクスチャストレージ:テクスチャマッピングは、テクスチャイメージの指定された部分を各プリミティブにマップすることです。各フラグメント(フラグメント)にはテクスチャ座標属性があり、座標はテクスチャ画像座標に対応し、テクスチャ画像の位置のカラー値を取得してフラグメントのRGBAカラーを変更し、マッピングプロセスを完了します。

フォグ:ラスタライズされたフラグメントは、テクスチャマッピング後の色を持っています。フュージョンファクターを使用して、フォグのカラーを融合できます。フュージョンファクターのサイズは、視点とフラグメントの間の距離によって決まります。

おすすめ

転載: blog.51cto.com/14207158/2535084