我们如何知道GLSL函数的I/O使用的精度?

我们如何知道GLSL函数的I/O使用的精度?,glsl,opengl-es-2.0,Glsl,Opengl Es 2.0,许多内置函数使用 中等精度输入和输出。 如果您的应用程序提供 低精度浮点值作为 参数或将结果指定给 低精度浮点变量, 着色器可能必须包括 转换的附加说明 价值观 这个信息在哪里?我没有找到它(我一直在到处使用lowp,并且在查看顶部的链接后对此表示担忧。)我还没有使用iPhone的实现(仅在WebGL和Android上),但正如我从你发布的苹果代码片段中看到的,他们声明他们的实现使用mediump,因此,如果您使用的是lowp,那么它们的实现必须将这些低精度浮点值转换为中精度值(浮点转换与整数转

许多内置函数使用 中等精度输入和输出。 如果您的应用程序提供 低精度浮点值作为 参数或将结果指定给 低精度浮点变量, 着色器可能必须包括 转换的附加说明 价值观


这个信息在哪里?我没有找到它(我一直在到处使用lowp,并且在查看顶部的链接后对此表示担忧。)

我还没有使用iPhone的实现(仅在WebGL和Android上),但正如我从你发布的苹果代码片段中看到的,他们声明他们的实现使用
mediump
,因此,如果您使用的是
lowp
,那么它们的实现必须将这些低精度浮点值转换为中精度值(浮点转换与整数转换不同,它们必须调整尾数和指数)

请记住,GLSL(或用于DX11的HLSL)着色器会编译为特定于实现的代码