Ite*_*tor 1 javascript opengl-es glsl webgl
lowp,mediump和highp装置不每个设备上的相同的精度。如何检测它们的实际值(每个精度下浮点数的位长)?
我的意思是:
- lowp:   16bit float
- mediump 32bit float
- highp   64bit float (double)
你可以打电话 gl.getShaderPrecisionFormat(shaderType, precisionType)
shaderType是gl.VERTEX_SHADER或gl.FRAGMENT_SHADER。
precisionType是gl.LOW_FLOAT, gl.GL_MEDIUM_FLOAT, gl.HIGH_FLOAT, gl.LOW_INT, gl.MEDIUM_INT, 之一gl.GL_HIGH_INT。
它返回一个看起来像这样的对象
{
    rangeMin,  // log 2 of the minimum representable magnitude
    rangeMax,  // log 2 of the maximum representable magnitude
    precision, // log 2 of the precision
};
如果片段着色器不支持高精度浮点格式,则使用参数 gl.FRAGMENT_SHADER 和 gl.HIGH_FLOAT 调用 gl.getShaderPrecisionFormat 将返回 0 的范围和精度。