2012-10-24 195 views

回答

2

的獨立多少燈有,照明被計算爲如下:

ambient = material.ambient * light.ambient 
diffuse = material.diffuse * light.diffuse * dot(normal, direction_to_light) 

的方向和法線向量必須歸一化。此外,如果dot()小於零,則生成的漫反射顏色只是黑色。

如果您有多個指示燈,則會將每個指示燈添加到結果中。所以例如

result = ambient_light1 + diffuse_light1 + ambient_light2 + diffuse_light2 ... 
+0

應該爲每種顏色(R,G,B)分別計算漫反射?換句話說,我會爲他們每個人使用這個公式嗎? – user1743323

+0

是的,每個通道都是單獨計算的。 –