1

我正在尝试使用 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);

也就是说,我所有的其他计算(距离、方向、归一化)似乎工作正常,但是这行代码存在问题(不知何故)。如果需要,我很乐意发布更多信息,但这似乎是问题所在。

PS 运行 Windows 7,我的 OpenGL 版本打印为 4.3。

更新:

这是该问题的打印屏幕。

错误图片 http://snag.gy/EWpOl.jpg

和它的样子att = 1.0 / (1 + 0.1*dist);

正确的图像 http://snag.gy/NiYvA.jpg

4

0 回答 0