首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我可以这样创建PBO吗?

我可以这样创建PBO吗?
EN

Stack Overflow用户
提问于 2022-11-17 18:19:07
回答 1查看 19关注 0票数 0

要在OpenGL中创建缓冲区,我们需要编写以下代码:

代码语言:javascript
复制
GLuint buffer;
glCreateBuffers(1,&buffer);
glNamedBufferStorage(buffer,size,data,flags);

我知道我们可以这样创建PBO:

代码语言:javascript
复制
GLuint pbo;
glCreateBuffers(1,&pbo);
glBindBuffer(GL_PIXEL_UNPACK_BUFFER,&pbo);
glBufferData(...);//initializing buffer

我的问题是,我能否以第一种方式创建pbo?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-11-17 18:30:27

没有“PBO”这样的东西,至少你看上去不是这样的。只有缓冲区对象,而作为像素传输的源/目标仅仅是one of them。缓冲区对象绝不直接与它的任何特定用途相关联。

您可以使用缓冲区对象进行像素传输,然后将相同的对象用于顶点数据,然后使用相同的对象进行其他操作。也可以将缓冲区对象的不同部分用于不同的用途。OpenGL不在乎。任何缓冲区都可以用于缓冲区可以在任何时候使用的任何东西(在某些合理的限制范围内)。

您用DSA创建的缓冲区可以像任何其他缓冲区对象一样用于像素传输。

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

https://stackoverflow.com/questions/74480297

复制
相关文章

相似问题

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