glsl 可以支持的最大整数无符号整数值是多少?

问题描述

Shader 中可以使用的整数和无符号整数的最大值是多少?

解决方法

对于 OpenGL ES 3.x,“lowp int”必须至少为 9 位二进制补码,“mediump int”必须至少为 16 位二进制补码,“highp int”必须至少为 32 位二进制补码补充。

精度 签名范围 无符号范围
lowp -28 到 28-1 0 到 29-1
中等 -215 到 215-1 0 到 216-1
-231 到 231-1 0 到 232-1

参考:第 4.5.1 节范围和精度(PDF 中的第 53 页)。

https://www.khronos.org/registry/OpenGL/specs/es/3.0/GLSL_ES_Specification_3.00.pdf