Lambertian

本物のページはこちら→lambertian

lambertian.png

すべての方向の光は、同じ程度反射する、反射モデル。
拡散光にぴったりである。
その明るさは、視線方向が変わっても同じである。
だから、拡散光の計算には視線ベクトルは必要ない。
法線光源の方向にのみ依存する。

(1)
\begin{align} I=K_d I_i \cos\alpha \end{align}
Kd
物体の拡散反射率(面の色を表している。)
Ii
入射光の色
α
面の垂直方向ベクトル(法線)と光源方向との角度。つまり、入射角。
float diffuse_intensity=max(dot(light,normal),0);//光源の拡散反射強度
  • light….光の方向ベクトル。長さ1に正規化
  • normal…面の法線

デモ


by ShaderToy

lambertian.png

すべての方向の光は、同じ程度反射する、反射モデル。
拡散光にぴったりである。
その明るさは、視線方向が変わっても同じである。
だから、拡散光の計算には視線ベクトルは必要ない。
法線光源の方向にのみ依存する。

(2)
\begin{align} I=K_d I_i \cos\alpha \end{align}
Kd
物体の拡散反射率(面の色を表している。)
Ii
入射光の色
α
面の垂直方向ベクトル(法線)と光源方向との角度。つまり、入射角。
float diffuse_intensity=max(dot(light,normal),0);//光源の拡散反射強度
  • light….光の方向ベクトル。長さ1に正規化
  • normal…面の法線

デモ


by ShaderToy

サポートサイト Wikidot.com