Opengl es OpenGL ES着色器规格化点积大于1.0

Opengl es OpenGL ES着色器规格化点积大于1.0,opengl-es,glsl,lighting,dot-product,Opengl Es,Glsl,Lighting,Dot Product,两个归一化向量的点积不可能大于1.0,对吗?GLSL怎么能说它大于5.0 下面是我用来调试的代码,白色像素出现了 if(dot(normalize(n), normalize(h)) > 5.0) gl_FragColor = vec4(1.0, 1.0, 1.0, 1.0); // Why does this execute!? else gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0); 有没有人看到任何愚蠢的明显错误,或者是否有其他事情

两个归一化向量的点积不可能大于1.0,对吗?GLSL怎么能说它大于5.0

下面是我用来调试的代码,白色像素出现了

if(dot(normalize(n), normalize(h)) > 5.0)
    gl_FragColor = vec4(1.0, 1.0, 1.0, 1.0); // Why does this execute!?
else
    gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0);
有没有人看到任何愚蠢的明显错误,或者是否有其他事情发生?n和h是否正确也没关系,对吧?已经好几天了


这是OpenGL ES 2.0,如果这很重要的话。

n
h
a
NaN
Inf
?@user1118321是!非常感谢。