ten*_*our 3 shader opengl-es glsl
在 GLSL ES 2.0 中,您可以使用整数做的事情似乎非常有限。
例如:
int类型所以,似乎你真正能用整数做的唯一一件事是:
-, +, *, /),但仅限于其他整数之间。不存在允许您将floatandint相加的运算符。vec 构造函数允许你传递整数真的是这样吗?除了构造函数之外,是否有任何带int参数的内在函数vec?是否有任何可以做的之间的操作float和int?
你是对的,整数的用例是有限的。根据OpenGL ES 着色语言规范4.1.3:
整数主要被支持作为编程辅助。在硬件级别,实整数将有助于有效实现循环和数组索引,以及引用纹理单元。但是,不要求语言中的整数映射到硬件中的整数类型。预计底层硬件不会完全支持范围广泛的整数运算。OpenGL ES 着色语言实现可以将整数转换为浮点数以对其进行操作。因此,没有可移植的包装行为。
由于无法保证 GLSL ES 整数类型映射到硬件整数类型,因此它仅对编译时类型检查有用,在运行时几乎没有影响。规范中列出了所有需要整数的地方。
| 归档时间: |
|
| 查看次数: |
1474 次 |
| 最近记录: |