GLSL布尔值的大小是多少
What is the size of GLSL boolean
有一个bool
类型的着色器变量我想使用,但我找不到它的大小。这很重要,因为当设置顶点属性指针时,我指定了可以是的数据类型
GL_BYTE,
GL_UNSIGNED_BYTE,
GL_SHORT,
GL_UNSIGNED_SHORT,
GL_INT,
GL_UNSIGNED_INT,
GL_FLOAT, or
GL_DOUBLE
在c++中,通常bool
的大小应该与4字节的int
的大小相同,但我可以假设GLSL的大小相同吗?或者它只有1个字节?
这很重要,因为当设置顶点属性指针时,我指定了可以是的数据类型
这无关紧要,因为顶点属性不能为布尔值。根据GLSL 3.30规范:
顶点着色器输入只能是浮点、浮点向量、矩阵、有符号和无符号整数以及整数向量。顶点着色器输入也可以形成这些类型的数组,但不能形成结构。
布尔型不在名单上。
但是,如果您想知道GLSL bool
在统一块方面的大小,它的大小与uint
:32位相同。
相关文章:
- 在没有定义返回类型的函数中返回布尔值,并将结果保存在无错误的char编译中-为什么
- 变量定义到C++布尔值转换
- 如何确保在使用基于布尔值的两个方法之一调用方法时避免分支预测错误
- 重载更少,则运算符返回相反的布尔值
- 将此布尔值传递给此函数的最有效方法是什么?
- 如何设置 c++ 类的布尔值?
- 使用 MAKEWORD / MAKEWPARAM 使用布尔值而不是布尔值
- 将 10 个线程与原子布尔值同步
- 创建类似于布尔值的变量类型
- 布尔值向量的基于范围 for 循环
- 零点和布尔值之间的比较
- 简化对两个布尔值的 4 个 if/else 检查
- 无法创建带有布尔值和矢量的地图
- 对于完成布尔值设置为 true 后未停止的循环
- fstream / ifstream / ofstream 对象如何转换为布尔值
- 0 或 1 以外的整数的布尔值是多少
- GLSL布尔值的大小是多少
- 布尔值的大小是多少?1 位或 1 字节
- 布尔值的最小大小是多少
- 而(CIN >> x),这里的布尔值是多少?