c – GLSL布尔值的大小是多少

前端之家收集整理的这篇文章主要介绍了c – GLSL布尔值的大小是多少前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想使用的着色器变量有一个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个字节吗?

解决方法

This matters because when setting up vertex attribute pointer I specify the type of data which can be

这是无关紧要的,因为顶点属性不能是布尔值.从GLSL 3.30规范:

Vertex shader inputs can only be float,floating-point vectors,matrices,signed and unsigned integers and integer vectors. Vertex shader inputs can also form arrays of these types,but not structures.

布尔人不在这个名单上.

但是,如果你想知道GLSL bool在uniform blocks方面的大小,它的大小与uint相同:32位.

猜你在找的C&C++相关文章