ピクセル単位でのライティング計算。
プロジェクトダウンロード
ピクセルシェーダを使用して、ピクセル単位のライティングを行います。
頂点シェーダ・ピクセルシェーダともに、プロジェクト内のmakepsh.bat
バッチファイルでビルドして、shdata.c に書き込まれます。
それぞれのシェーダは以下のソースファイルに記述されています。
| ファイル名 | 解説
|
|---|
| PixelSpecular.vsh | 頂点シェーダ
|
| PixelSpacular.psh | ピクセルシェーダ
|
頂点シェーダは、ディフューズ色としてそれぞれの頂点の法線を出力し、
スペキュラ色として、ハーフベクトルを出力します。
ピクセルシェーダは、その二つのベクトルの内積をピクセル毎に計算し、
スペキュラ光の強さとして使用します。また、ディフューズ色として
受け取った法線と光源ベクトルとの内積をディフューズ光の強さとして
使用します。