3

フランク・ルナの「DirectX 9.0c:シェーダーアプローチ」の本を読んでいて、第10章の演習2で立ち往生しています。フロート値sを計算し、それをピクセルシェーダーに渡して、計算できるようにすることになっています。 「トゥーンライティング」。計算の仕組みの背後にある理論は理解していますが、単一のフロート値を頂点シェーダーからそのようなピクセルシェーダーに渡す方法がわからないようです。MSDNで検索したところ、3Dベクトルなどを渡すことができるセマンティクスしか見つかりませんでした。

どういうわけか入力と出力の構造を変更する必要があるようですが、これまでの演習では、単一の「outputVS」構造以外の構造はありませんでした。

つまり、HLSLの頂点シェーダーからピクセルシェーダーに単一のfloat値を渡すにはどうすればよいですか?

前もって感謝します。

4

1 に答える 1

1

float をベクトルの 1 つのコンポーネントに入れます。次に、ピクセル シェーダーはその 1 つのコンポーネントのみを読み取ります。

ベクトルのすべてのコンポーネントに実際のデータが含まれている必要があるという法律はありません;)

于 2012-04-14T05:33:25.243 に答える