OpenGL ES着色器规范化点积大于1.0

时间:2017-01-07 01:39:21

标签: 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);

有没有人看到任何愚蠢的明显错误,或者是否有其他事情可能发生? n和h是否正确无关紧要,对吧?已经过了几天......

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

0 个答案:

没有答案