我对计算机图形有一些疑问:
如何在java中使用多个光源计算漫反射着色?
如何在java中使用多个光源计算ambiant着色?
答案 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 ...