2012-04-14 11 views
3

私はFrank Lunaの "DirectX 9.0c:Shader Approach"の本を使って作業しています。第10練習2に取り組んでいます。浮動小数点値を計算して、それをピクセルシェーダに渡します私は "トゥーンライティング"を計算することができます。計算の仕組みの背景にある理論を理解していますが、頂点シェーダからそのようなピクセルシェーダに単一の浮動小数点値を渡す方法を理解できないようです。 MSDNで検索したときに、3Dベクトルなどを渡すセマンティクスしか見つかりませんでした。HLSL単一フロートをPSに渡す?

入力と出力の構造をどうにか変更する必要があるようですが、これまでの演習では、単一の "outputVS"構造。

要するに、頂点シェーダからHLSL内のピクセルシェーダに単一の浮動小数点値を渡すにはどうすればよいですか?

ありがとうございます。

答えて

1

ベクトルの1つのコンポーネントに浮動小数点を配置します。次に、ピクセルシェーダはその1つのコンポーネントだけを読み込みます。これが答えです)

+1

;

はベクトル必見のすべてのコンポーネントは、実際のデータが含まれていることを言う法律はありません。私は戻って、ルナは最初の章でシェーダを使って簡単に言及します。基本的には、頂点シェーダの出力構造とピクセルシェーダの入力パラメータに浮動小数点を追加してセマンティクス "TEXCOORD"を与えますが、その値を使用するのを止めるものは何もありません。 – Aztal

関連する問題