Microsoft DirectX 8.0 (Visual Basic)

ディレクショナル ライト

次のシェーダは、「トランスフォームと定数シェーディング」で示した頂点シェーダの例に、ディレクショナル ライトの光源を追加することで作成できる。

; ディレクショナル光源
dp3 r1.x, v1, c[8]   ; N と L の内積
max r1, r1.x, c[0000]   ; 0 以上にクランプ

; diffuse = dot*diffuse + ambient
mad oD0, r1.x, c[5], c[6]