1. ホーム
  2. opengl

[解決済み] バーテックスシェーダとフラグメントシェーダの比較 [重複].

2022-05-16 18:38:56

質問

Cg に関するチュートリアルをいくつか読みましたが、1 つだけはっきりしないことがあります。 頂点シェーダーとフラグメントシェーダーの違いは何ですか? また、どのような状況において、一方が他方よりも適しているのでしょうか?

どのように解決するのですか?

フラグメントシェーダは、ピクセルシェーダと同じです。

主な違いは、バーテックスシェーダはポリゴンのコーナーポイントである頂点の属性を操作できることです。

一方、フラグメントシェーダは、頂点と頂点の間のピクセルがどのように見えるかに気を配ります。定義された頂点間のピクセルは、特定の規則に従って補間されます。

たとえば、ポリゴンを完全に赤くしたい場合は、すべての頂点を赤く定義します。頂点間にグラデーションのような特定の効果を与えたい場合は、フラグメントシェーダで行う必要があります。

別の言い方をすれば

バーテックスシェーダーはグラフィックパイプラインの初期段階の一部で、モデル座標変換とポリゴンクリッピングの間のどこかだと思います。その時点では、まだ何も行われていません。

しかし、フラグメント/ピクセル シェーダーはラスタライズ ステップの一部であり、画像が計算され、頂点間のピクセルが塗りつぶされるか、または色付けされます。

グラフィックス パイプラインについては、ここを読めばすべてが明らかになります。 http://en.wikipedia.org/wiki/Graphics_pipeline