は、私は、OpenGL ESシェーダの周りに私の脳をラップしようとしています:のOpenGL ESを可視化する方法2.0フラグメントシェーダ
頂点: だから、頂点シェーダはglDrawXXX内のすべてのオブジェクト/メッシュのための頂点を処理しています。 2つの三角形メッシュが四角形/箱を形成しているように。これにより、各頂点を移動したり、色を設定したりできます。
フラグメント: 頂点の間にはすべてがありますか?
これをどのように視覚化するには?
は、私は、OpenGL ESシェーダの周りに私の脳をラップしようとしています:のOpenGL ESを可視化する方法2.0フラグメントシェーダ
頂点: だから、頂点シェーダはglDrawXXX内のすべてのオブジェクト/メッシュのための頂点を処理しています。 2つの三角形メッシュが四角形/箱を形成しているように。これにより、各頂点を移動したり、色を設定したりできます。
フラグメント: 頂点の間にはすべてがありますか?
これをどのように視覚化するには?
最も簡単で単純なケースでは、
頂点シェーダは、プリミティブのすべての頂点に対して呼び出されます。 100 Vertices =アクティブな頂点シェーダの100回の呼び出し。後の段階で頂点から三角形を生成します。
頂点シェーダによって生成された各三角形に対して、フラグメント(すなわち潜在的なピクセル)を生成するためにラスタライズされます。ラスタライザは、三角形の各頂点間を線形補間して、三角形の断片位置を生成する。あなたが混乱しているところでは、おそらく、フラグメントシェーダが頂点シェーダと一緒に1対1と呼ばれていると考えているでしょう。いいえ、何百万ものフラグメントが生成されている可能性があります。結果として生じる三角形の大きさ(視覚的に)に依存します。フラグメントシェーダは、生成された各フラグメントで呼び出されます。頂点シェーダが出力する頂点に依存します。
三角形が視点から遠く離れている場合、それは少々の断片かもしれません。画面に近い場合は、ビューポート全体を占有する可能性があります。
あなたの質問が分かりません。異なるシェーダステージがどのように機能するかを尋ねていますか、それとも別のものですか? –
私は推測する - 私は異なって見えるように見えることはできません。 –