我对这个Phong-Shader有一些镜面问题,它会产生一个奇怪的输出。 (密切关注模特的耳朵): http://i.imgur.com/1n3gYvn.gif
以下是着色器代码: 顶点+片段:http://www.pasteall.org/59832
答案 0 :(得分:2)
在着色器代码的第79行中,将点(R,E)更改为max(点(R,E),0.0)。这是因为当眼睛处于Eye2时,当R和E之间的角度大于90度时,你不想给你的表面一个闪亮的外观,如附图所示。 Here,在实施Phong Shader 部分,为Lambertian照明模型提供了一个有用的GLSL模板,您可能会发现它很有用。