レンダリングパイプライン

rendering-pipeline.png

私がグラフィック関連の会社を面接した時に、何回も「レンダリングパイプラインについて説明してみろ」という質問を受けました。
これをしっかり把握することがグラフィックの基礎で大事なんでしょうね
ということで記事を書きながらわたくししっかり把握しようと思います

Vertex Specification ユーザーが与えた頂点の配列の設計書のようなもの。法線有り、テクスチャ座標ありだよとか、それがどんな順番で並べてありますよ、とか
頂点シェーダ 各頂点は頂点シェーダによって処理される
テッセレーション あってもなくてもok
ジオメトリシェーダ プリミティブの連なりを出力する
Vertex Post-Processing transform-feedback,視錘台カリング(画面外に出た頂点をカットする)、透視投影で遠くになるほど小さく見えるようにする処理、ビューポート変換などもここにまとめて含まれる->ビューイングパイプライン
プリミティブの組み立て 与えられた頂点から図形を生み出す。これは三角形なのか、線なのか、点なのかなど
Face Culling ポリゴンの裏をカット
ラスター化 幾何形状データとピクセルデータをフラグメントに変換する処理。
フラグメントシェーダ 各フラグメントの色を最終的に決定する
Per-Sample Operations scissor-test,stencil-test,depth-test,blending,logical-operation,write-mask

opengl

サポートサイト Wikidot.com opengl