GLSL Phong着色器镜面反射瑕疵

GLSL Phong着色器镜面反射瑕疵,glsl,shader,Glsl,Shader,这个Phong着色器有一些镜面反射问题,它会生成奇怪的输出。 (密切注意模特的耳朵): 此外,它在平面上有一种奇怪的行为: 以下是着色器代码: 顶点+碎片:在着色器代码的第79行中,将点(R,E)更改为最大值(点(R,E),0.0)。这是因为当R和E之间的角度大于90度时,你不想给你的表面一个光亮的外观,如附图所示,当眼睛位于Eye2时,在“实现Phong着色器”一节中,为Lambertian照明模型提供了一个有用的GLSL模板,您可能会发现该模板很有用

这个Phong着色器有一些镜面反射问题,它会生成奇怪的输出。 (密切注意模特的耳朵):

此外,它在平面上有一种奇怪的行为:

以下是着色器代码:
顶点+碎片:

在着色器代码的第79行中,将点(R,E)更改为最大值(点(R,E),0.0)。这是因为当R和E之间的角度大于90度时,你不想给你的表面一个光亮的外观,如附图所示,当眼睛位于Eye2时,在“实现Phong着色器”一节中,为Lambertian照明模型提供了一个有用的GLSL模板,您可能会发现该模板很有用