2012-02-16 12 views
0

は、私は、OpenGL ESシェーダの周りに私の脳をラップしようとしています:のOpenGL ESを可視化する方法2.0フラグメントシェーダ

頂点: だから、頂点シェーダはglDrawXXX内のすべてのオブジェクト/メッシュのための頂点を処理しています。 2つの三角形メッシュが四角形/箱を形成しているように。これにより、各頂点を移動したり、色を設定したりできます。

フラグメント: 頂点の間にはすべてがありますか?

これをどのように視覚化するには?

+0

あなたの質問が分かりません。異なるシェーダステージがどのように機能するかを尋ねていますか、それとも別のものですか? –

+0

私は推測する - 私は異なって見えるように見えることはできません。 –

答えて

0

最も簡単で単純なケースでは、

頂点シェーダは、プリミティブのすべての頂点に対して呼び出されます。 100 Vertices =アクティブな頂点シェーダの100回の呼び出し。後の段階で頂点から三角形を生成します。

頂点シェーダによって生成された各三角形に対して、フラグメント(すなわち潜在的なピクセル)を生成するためにラスタライズされます。ラスタライザは、三角形の各頂点間を線形補間して、三角形の断片位置を生成する。あなたが混乱しているところでは、おそらく、フラグメントシェーダが頂点シェーダと一緒に1対1と呼ばれていると考えているでしょう。いいえ、何百万ものフラグメントが生成されている可能性があります。結果として生じる三角形の大きさ(視覚的に)に依存します。フラグメントシェーダは、生成された各フラグメントで呼び出されます。頂点シェーダが出力する頂点に依存します。

三角形が視点から遠く離れている場合、それは少々の断片かもしれません。画面に近い場合は、ビューポート全体を占有する可能性があります。

関連する問題