首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将数据从PBO转移到VBO

将数据从PBO转移到VBO
EN

Stack Overflow用户
提问于 2014-07-30 20:15:55
回答 1查看 156关注 0票数 0

我一直试图将数据从FBO传输到PBO到纹理,并将其呈现为四角体:

代码语言:javascript
复制
glGenFramebuffers(1, &framebuffer);
glBindFramebuffer(GL_FRAMEBUFFER, framebuffer);

glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, colorAttachment0, 0);
glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_RENDERBUFFER, depthAttachment);

给我的PBO:

代码语言:javascript
复制
glGenBuffers(1, &bufferObj);
glBindBuffer(GL_PIXEL_UNPACK_BUFFER, bufferObj);
glBufferData(GL_PIXEL_UNPACK_BUFFER, 800 * 800 * 4, NULL, GL_DYNAMIC_DRAW);

但是我试着像这样传输它:(*问题就是 *)。我猜

代码语言:javascript
复制
glReadBuffer(GL_COLOR_ATTACHMENT0);
glBindBuffer(GL_PIXEL_PACK_BUFFER, bufferObj);
glReadPixels(0, 0, WIDTH, HEIGHT, GL_RGBA, GL_UNSIGNED_BYTE, 0);
glBindBuffer(GL_PIXEL_PACK_BUFFER, 0);
glReadBuffer(GL_NONE);

我有从CUDA输出PBO的代码。将其转换为纹理,并将其正确显示,我也可以通过将其纹理呈现为四角体来呈现FBO。

问题是FBO与PBO之间的传输似乎是正确的,因为当我替换呈现FBO->PBO代码时,它不能正常工作。

EN

回答 1

Stack Overflow用户

发布于 2014-07-30 22:48:26

有些事情需要尝试:

  • 当你做ReadPixels时,确保你的FBO仍然是绑定的。
  • 检查glGetError没有报告任何错误。
  • 尝试读取缓冲区(常规C数组),而不是绑定PBO,看看它是否填充了正确的值。
票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25046101

复制
相关文章

相似问题

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