我们怎么知道GLSL函数的I / O使用的精度是多少?

时间:2011-06-22 21:02:47

标签: glsl opengl-es-2.0

Apple says

  

许多内置函数都使用   中等精度的输入和输出。   如果您的申请提供   低精度浮点值为   参数或将结果分配给a   低精度浮点变量,   着色器可能必须包含   转换的其他说明   值。

此信息位于何处?我没有找到它in the spec.(我一直在使用 lowp ,并且在查看顶部的链接后对它有所顾虑。)

1 个答案:

答案 0 :(得分:0)

我还没有使用iPhone的实现(仅在WebGL和Android上),但正如我在您发布的Apple代码段中所看到的,他们声称他们的实现使用了mediump,所以,如果您使用的是lowp,那么它们的实现必须将这些低精度浮点值转换为中等精度值(浮点转换不像整数转换,它们必须调整mantissas和exponents)。

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