【发布时间】:2011-09-20 13:01:17
【问题描述】:
我已经制作了一个 GLSL 着色器,用于在场景上进行逐像素 blinn phong 照明,但我在场景上投射的光线方面遇到了一些问题。每个灯光的效果似乎都有一个非常硬的边界(在随附的屏幕截图中,您可以在底部平面上看到灯光的边界 - 灯光(其世界位置相当于场景中悬挂的黑色球体)悬挂在上方飞机和法拉利模型,但由于某种原因,仅将光线适当地投射到/朝向/相机,而不是向前,远离相机。
我觉得我犯了一些错误/对眼睛方向如何影响 blinn phong 照明模型缺乏一些了解。我是否搞砸了我的计算,或者我根本不明白这个特定的照明模型应该如何工作?
我的着色器代码在这里:https://gist.github.com/1040417
效果截图:
【问题讨论】:
-
另外,作为问题的附加部分:我看到文字说效果的衰减需要按片段计算,我不明白,所以没有这样做。我所见过的衰减计算似乎都不是基于任何片段属性,因为距离计算和衰减项都在顶点着色器中可用。我是不是也在这里误会了什么?
标签: graphics opengl-es glsl shader lighting