漫反射阴影和ambiant阴影

时间:2012-10-24 08:07:34

标签: java graphics

我对计算机图形有一些疑问:

  • 如何在java中使用多个光源计算漫反射着色?

  • 如何在java中使用多个光源计算ambiant着色?

1 个答案:

答案 0 :(得分: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 ...