我有一个理想情况下需要 28 位尾数的着色器,尽管我可以使用更少的尾数并降低性能。如何确定 OpenGL ES 中“highp”的精度?它可能是一个 FP24,带有 16 位尾数,但我无法确定或如何询问 OpenGL。有什么想法吗?
最佳答案
来自OpenGL ES Shading Language reference :
highp
- 16 位,浮点范围: −262 至 262,整数范围:-216 至 216mediump
- 10 位, float 点范围:−214 到 214,整数 范围:−210 至 210lowp
- 8 位, 浮点范围:−2 到 2, 整数范围:−28 到 28
在 OpenGL ES 3 中,这些保证已得到升级,请参阅 GLSL ES 3.00 spec :
highp
- 24 位,浮点范围: −2126 至 2127,有符号整数范围:−231 至 231−1,无符号整数范围:0 到 232−1mediump
- 10 位, float 点范围:−214 到 214,有符号整数 范围:−215 到 215−1,无符号整数范围 0 到 216−1lowp
- 8/9 位(有符号/无符号), 浮点范围:−2 到 2, 有符号整数范围:−28 到 28−1,无符号整数范围 0 到 29−1
关于iphone - GLSL ES 2.0(适用于 iPhone/iPod touch/iPad)中的 highp float 的精度是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4414041/