誰かがピクセルと頂点のシェーダのやりとりのかなりの基本を私に説明できますか?C++シェーダの最適化に関する質問
明白な事がは、実際のピクセルシェーダにそれらのいくつかを基本的な頂点のプロパティを受信し、repass頂点シェーダということです。
しかし実際のvertex->pixel
の移行はどのように起こりますか? 明らかに、すべてのタイプのパイプラインには、頂点パラメータを補間することができ、特定のテクスチャ座標に基づいてテクスチャを適用できるラスタライザの変更が含まれていることがわかります。
そしては、私の知る限り、それらも補間さを理解して(この瞬間についてかなり確実ではない、複雑なUV派生数学について何かを聞いたが、私たちは、彼らが補間されていることを言うことができると仮定します)。
ここで、いくつかの「対象」となる質問があります。
ピクセルシェーダーはどのように動作しますか?私は、ピクセルシェーダが明らかにいくつかのアクションを行うことを意味します。ピクセルあたりですが、の明白な頂点→ピクセルトランジションにより、これはいくつかの質問をもたらします。
私はマトリックス評価された場合と仮定することができます - 私のピクセルシェーダで一度ベクトル積を画像がラスタライズされたとき、それは一度を評価されるでしょうか?または、頂点シェーダで可能なすべてを評価し、それをピクセルシェーダに渡す方がよいでしょうか?
また、誰かがこのトピックに関する記事や要約を指摘できれば、本当に感謝しています。
ありがとうございます。
UPDATE
私は相互作用がどこでもかなり同じである必要がありますので、それは実際には、重要ではありませんと思いました。私は視覚化アプリケーションとゲームを開発しています.HLSL/GLSL/Nvidia CGをシェーダとし、主にC++を基本言語として使用しています。
によってカバーされた画素ごとに実行されていることをあなたが使用しようとしているものプラットフォーム/ APIを説明している場合は、より良い反応を得る可能性がありますを意味します。あなたは恐らくトピックタグか2つも欠けているでしょう。それが現れて、私はあなたが何を話しているのか分からない。 –
@Noahアップデートを参照 –
なぜこのタグはC++ですか?シェーダは、定義上、GLSLやCgなどのシェーダ言語で書かれていて、C++では書かれていませんか? – jalf