我试图使用Phong / Blinn着色模型,而且我一直在努力使衰减正常工作。由于某种原因,面向点光的几何形状变为完全白色。我特别坚持,因为(1)代码在固定功能中运行得非常好(即我的所有衰减/位置因子都设置得很好),以及(2)如果我替换它可以正常工作:
att = 1.0 / (gl_LightSource[i].constantAttenuation + gl_LightSource[i].linearAttenuation * dist + gl_LightSource[i].quadraticAttenuation * dist * dist);
与
att = 1.0 / (1 + 0.1*dist);
也就是说,我所有的其他计算(距离,方向,规范化)似乎都运行良好,但这个代码行存在问题(不知何故)。如果需要,我会很乐意发布更多内容,但这似乎就是问题所在。
P.S。运行Windows 7,我的OpenGL版本打印为4.3。
更新
这是问题的打印屏幕。
error image http://snag.gy/EWpOl.jpg
以及att = 1.0 / (1 + 0.1*dist);