GLSL Phong-Shader 高光伪像
GLSL Phong-Shader Specular artifacts
我在使用此 Phong-Shader 时遇到了一些镜面反射问题,它生成了一个奇怪的输出。
(密切注意模特的耳朵):
http://i.imgur.com/1n3gYvn.gif
此外,它在平面上有一个奇怪的行为:
这是着色器代码:
顶点+片段:http://www.pasteall.org/59832
在着色器代码的第 79 行中,将 dot(R,E) 更改为 max(dot(R,E),0.0)。这是因为当 R 和 E 之间的角度大于 90 度时,如附图所示,当眼睛位于 Eye2 时,您不想让表面看起来闪闪发光。 Here,在 实现 Phong 着色器 部分,为您可能会发现有用的 Lambertian 光照模型提供了一个有用的 GLSL 模板。
我在使用此 Phong-Shader 时遇到了一些镜面反射问题,它生成了一个奇怪的输出。 (密切注意模特的耳朵): http://i.imgur.com/1n3gYvn.gif
此外,它在平面上有一个奇怪的行为:
这是着色器代码: 顶点+片段:http://www.pasteall.org/59832
在着色器代码的第 79 行中,将 dot(R,E) 更改为 max(dot(R,E),0.0)。这是因为当 R 和 E 之间的角度大于 90 度时,如附图所示,当眼睛位于 Eye2 时,您不想让表面看起来闪闪发光。 Here,在 实现 Phong 着色器 部分,为您可能会发现有用的 Lambertian 光照模型提供了一个有用的 GLSL 模板。