首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SSBO中size参数的含义

SSBO中size参数的含义
EN

Stack Overflow用户
提问于 2016-10-30 05:49:15
回答 1查看 179关注 0票数 1

我在一个片段着色器中使用了两个SSBO。对于每个片段,我进行计算,如果满足某些条件,则将片段/像素的世界空间坐标(它们已传递到片段着色器)写入一个SSBO,并将片段颜色写入另一个SSBO。然后,应用程序读取SSBO,并将保存在SSBO中的那些像素传递给下一次渲染。

中的size参数

代码语言:javascript
复制
void glBufferData( GLenum target, GLsizeiptr size, const GLvoid * data, GLenum usage); 

当前可以有两个值:250020000

对于size = 2500所在的passes,一切工作正常。一旦size = 20000,那么大多数像素就会停止在SSBO中注册。

我的问题是: size参数的实际含义是什么?它是可以在每个片段实例化中写入的内容的大小(在这种情况下,每个片段只有一个vec4 ),还是每个呈现过程中所有实例化的大小(在本例中,每个SSBO有2,500或20000个vec4 )?

EN

回答 1

Stack Overflow用户

发布于 2016-10-31 07:47:46

我认为您的SSBO包含一个vec4。他们的大小是他们的总大小是字节(就像雷托科拉迪说的),对于一帧,如果你每次用glBufferData重置它。vec4是16个字节(每个float 4个字节,它们是32位)。因此,大小为2500意味着2500/16 = 156(.25) vec4s。20000字节是1250 vec4s

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40324019

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档