加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 06:02:37 所属栏目:百科 来源:网络整理
导读:我想使用的着色器变量有一个bool类型,但我找不到它的大小.这很重要,因为在设置顶点属性指针时,我指定了可以的数据类型 GL_BYTE,GL_UNSIGNED_BYTE,GL_SHORT,GL_UNSIGNED_SHORT,GL_INT,GL_UNSIGNED_INT,GL_FLOAT,orGL_DOUBLE 在c中,bool应该具有与4字节int相同
我想使用的着色器变量有一个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位.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读