我已经制作了一个 GLSL 着色器,用于在场景中进行逐像素 blinn phong 照明,但我遇到了一些关于场景中光线投射的问题。每个灯光的效果似乎都有一个非常硬的边界(在随附的屏幕截图中,您可以在底部平面上看到灯光的边界 - 灯光(其世界位置相当于场景中悬挂的黑色球体)悬挂在上方飞机和法拉利模型,但由于某种原因,仅将光线适当地投射到/朝向/相机,而不是向前,远离相机。
我觉得我犯了一些错误/对眼睛方向如何影响 blinn phong 照明模型缺乏一些了解。我是否搞砸了我的计算,或者我根本不明白这个特定的照明模型应该如何工作?
我的着色器代码在这里: https ://gist.github.com/1040417
效果截图: