两个归一化向量的点积不可能大于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。