我有一些有关计算机图形的问题:
-
如何在Java中使用多个灯来计算散射阴影?
-
如何在Java中用多个灯来计算Ambiant阴影?
独立于有多少灯,计算照明如下:
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 ...