首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多采样OpenGL FBO

多采样OpenGL FBO
EN

Stack Overflow用户
提问于 2015-08-31 20:06:22
回答 1查看 205关注 0票数 0

我正在尝试渲染3D场景到多采样FBO。我用下面的代码FBO创建FBO:

代码语言:javascript
复制
GLuint fbo, vtex, depthbuffer;
glGenTextures(1, &vtex); GLCHECK();
glBindTexture( vtarget, vtex ); GLCHECK();
glTexImage2DMultisample( GL_TEXTURE_2D_MULTISAMPLE, samples /*=4*/, GL_RGBA, width, height, false); GLCHECK();
glBindTexture(vtarget, 0); GLCHECK();

glGenRenderbuffers(1, &depthbuffer); GLCHECK();
glBindRenderbuffer(GL_RENDERBUFFER, depthbuffer); GLCHECK();
glRenderbufferStorageMultisample(GL_RENDERBUFFER, samples/*=4*/, GL_DEPTH_COMPONENT32, width, height); GLCHECK();
glBindRenderbuffer(GL_RENDERBUFFER, 0); GLCHECK();

glGenFramebuffers( 1, &fbo );GLCHECK();
glBindFramebuffer( GL_FRAMEBUFFER, fbo );GLCHECK();
glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_RENDERBUFFER, depthbuffer); GLCHECK();
glFramebufferTexture2D( GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D_MULTISAMPLE, vtex, 0 ); GLCHECK();

if ((status = glCheckFramebufferStatus(GL_FRAMEBUFFER)) != GL_FRAMEBUFFER_COMPLETE)
{
    fprintf(stderr, "Can't allocate frame buffer! Status: 0x%x\n", status);
    assert(0);
}
glBindFramebuffer(GL_FRAMEBUFFER, 0); GLCHECK();

我得到了error GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE。我哪里做错了?

我已经阅读了this主题,FBO文档,但它没有帮助。

我可以在没有深度附加的情况下创建FBO。但在这种情况下,当我尝试将其显示在屏幕上时,它不起作用:

代码语言:javascript
复制
 glBindFramebuffer(GL_READ_FRAMEBUFFER, fbo); GLCHECK();
 glReadBuffer(GL_COLOR_ATTACHMENT0);

 glBindFramebuffer(GL_DRAW_FRAMEBUFFER, 0); GLCHECK();
 glDrawBuffer(GL_BACK); GLCHECK();

 glBlitFramebuffer(0, 0, resolution.width, resolution.height, 0, 0, resolution.width, resolution.height, GL_COLOR_BUFFER_BIT, GL_NEAREST); GLCHECK();

 glBindFramebuffer(GL_FRAMEBUFFER, 0);

请帮帮我。

EN

回答 1

Stack Overflow用户

发布于 2015-08-31 20:23:03

您需要指定固定的采样位置。例如,glTexImage2DMultisample的最后一个参数为GL_TRUE

您可以阅读有关GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE here的原因。

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

https://stackoverflow.com/questions/32310859

复制
相关文章

相似问题

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