これがどのように機能するかをやりたかっただけです。だから私は頂点シェーダーにいます。va1 から v1 までの UV 座標を保存します。フラグ シェーダでは、補間されたテクスチャ座標が v1 でサンプリングできるようになりました。セマンティクスのように、v1 を通常の座標に関連付けるためのボンネットの下の接続はありますか?
フラグメントは、三角形ごとにフラグメント シェーダーにプッシュされますか?それとも、メッシュ全体のジオメトリ頂点が通過した後ですか?
頂点シェーダーで、モデル ビューに頂点の位置を乗算するとします。次に、z 座標を別のフラグメント シェーダーと共有したいと考えています。変換されたベクトルの z コードを v3 に保存します。フラグメント シェーダーで z 座標の v3 にアクセスすると、これは渡したのと同じ z 座標ですか、それともこの z 座標はパースペクティブ ディバイドによって変更されますか? これらのレジスタに値を格納するときに説明されている「補間」動作を明確にしたいので、質問するだけです。
1 に答える
2
可変レジスタにはセマンティクスはありません。可変レジスタに渡すものはすべて補間され、法線に対しても UV やその他のものと同じように機能します。
最初に頂点シェーダーを介してメッシュ全体が変換され、次にフラグメントシェーダーが実行されると思います。ただし、ハードウェアがこれをどのように処理するかは問題ではありません。
座標は補間されます。さまざまなレジスターは、保持しているデータの種類を認識していません。彼らの観点からは、4 つの浮動小数点数にすぎません。可変レジスタは 4 つのコンポーネントを保持するため、そこに頂点位置全体を貼り付けることができます。注意すべきことの1つは、深さを扱う何かをしたい場合は、 w コンポーネントが必要だと思います。
于 2012-01-22T09:44:32.163 に答える