Javascript 如何在WebGL中检测浮点精度?
Javascript 如何在WebGL中检测浮点精度?,javascript,opengl-es,glsl,webgl,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\u着色器或gl.FRAGMENT\u着色器 precisionTy
lowp
、mediump
和highp
表示每个设备的精度不同。如何检测它们的实际值(每个精度下浮点的位长度)
我的意思是:
- lowp: 16bit float
- mediump 32bit float
- highp 64bit float (double)
您可以调用
gl.getShaderPrecisionFormat(shaderType,precisionType)
shaderType
是gl.VERTEX\u着色器
或gl.FRAGMENT\u着色器
precisionType
是gl.LOW\u FLOAT
,gl.gl\u MEDIUM\u FLOAT
,gl.HIGH\u FLOAT
,gl.LOW\u INT
,gl.gl\u HIGH\u 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
您可以调用OpenGL ES 2.0文档的哪个链接
gl.getShaderPrecisionFormat(shaderType,precisionType)
shaderType
是gl.VERTEX\u着色器
或gl.FRAGMENT\u着色器
precisionType
是gl.LOW\u FLOAT
,gl.gl\u MEDIUM\u FLOAT
,gl.HIGH\u FLOAT
,gl.LOW\u INT
,gl.gl\u HIGH\u 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
你为什么需要OpenGL ES 2.0文档的哪个链接?我正在使用分形渲染器,我必须知道,在我失去精度之前,我可以放大多深。你为什么需要它?我正在使用分形渲染器,我必须知道,在失去精度之前,我可以放大多深