GLSL中gl_LightSource衰减因子的问题

时间:2012-12-31 16:37:29

标签: opengl glsl phong

我试图使用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);

的外观

correct image http://snag.gy/NiYvA.jpg

0 个答案:

没有答案