glsl对低聚表面的影响

时间:2012-08-10 09:46:37

标签: glsl

我有一个顶点/片段着色器,点光源和衰减,我需要将这样的着色器应用到立方体面上,如果我使用高多边形网格,我需要看到颜色渐变的变化 一切都很好,效果很好我的目标是在这个低多边形网格上有一个渐变。

我试过这样做gl_FragColor = vec4(n,1)n =正常但是每个表面都有一个纯色 这可能是我没有看到渐变的原因?

欢呼声

1 个答案:

答案 0 :(得分:0)

您正在观察这是正确的行为。立方体是完全平坦的,因此每个面顶点的法线是相同的。

但是请注意,在Phong光照的计算中,您还应该使用片段的位置,片段的位置在给定(子)面的3(或4,当使用四边形)顶点之间插值。它可用于计算给定片段位置中光位置和眼睛矢量之间的角度。

我最近遇到过类似的问题,如果你想看到不平坦的东西,我发现你的立方体确实需要发光;我的意思是字面意思。将光泽度设置为合理的高值(250-500)。你应该在脸上看到一个直接反射的焦点,移动的光点。如果没有,你的闪电着色器可能是错误的。