我有一些关于计算机图形的问题:
如何在 java 中计算具有多个光的漫反射着色?
java - 如何在java中计算具有多光的环境阴影?
与有多少灯无关,光照计算如下:
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 ...