OpenGL中float类型的区别是什么?

时间:2012-03-05 10:24:30

标签: opengl webgl

我正在将一个着色器从OpenGL移植到WebGL,当我看到像smth时,我有点困惑 float refCorrection = clamp(NdotL + fVelvet * 2 + .5f, 0.5f, 1.f);
确切地说,.5f0.5f0.5之间是否存在差异?

1 个答案:

答案 0 :(得分:2)

如果这是C ++调用代码,0.5(无后缀)表示double0.5f.5ffloat,两者都表示相同的数字,领先的零并不意味着什么。

在GLSL中,所有这些都是浮点数,前导零也无关紧要。如果你想要一个双倍,你需要后缀lf。但请注意,自Ope​​nGL和GLSL版本4以来,双精度版本才被添加.f后缀并不总是存在,无论如何都不是必需的,因为float是默认值。