0

我有一些关于计算机图形的问题:

  • 如何在 java 中计算具有多个光的漫反射着色?

  • java - 如何在java中计算具有多光的环境阴影?

4

1 回答 1

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 ...
于 2012-10-24T08:37:58.483 回答