gpt4 book ai didi

opengl - 将模板渲染缓冲区绑定(bind)到opengl中的帧缓冲区

转载 作者:行者123 更新时间:2023-12-04 05:09:25 31 4
gpt4 key购买 nike

有没有人成功地做到了这一点?似乎我在模板渲染缓冲区中使用的任何索引格式 glCheckFramebufferStatus(...)返回 GL_FRAMEBUFFER_UNSUPPORTED .
我已经成功地绑定(bind)了一个深度\颜色渲染缓冲区,但是每当我尝试对我的模板缓冲区做同样的事情时,我都会得到(正如我所说的)GL_FRAMEBUFFER_UNSUPPORTED .

这是我的代码片段:

// Create frame buffer
GLuint fb;
glGenFramebuffers(1, &fb);

// Create stencil render buffer (note that I create depth buffer the exact same way, and It works.
GLuint sb;
glGenRenderbuffers(1, &sb);
glBindRenderbuffer(GL_RENDERBUFFER, sb);
glRenderbufferStorage(GL_RENDERBUFFER, GL_STENCIL_INDEX8, w, h);

// Attach color
glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, cb, 0);

// Attach stencil buffer
glBindFramebuffer(GL_FRAMEBUFFER, fb);
glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_STENCIL_ATTACHMENT, GL_RENDERBUFFER, rb);
// And here I get an GL_FRAMEBUFFER_UNSUPPORTED when doing glCheckFramebufferStatus()

有任何想法吗?

注意:颜色附件是纹理而不是渲染缓冲区

最佳答案

切勿使用独立的模板缓冲器。如果您需要模板,请始终使用 depth+stencil image format .请注意,模板索引格式不是 required image formats .

即使你在这里没有使用深度缓冲区,你仍然应该使用 GL_DEPTH24_STENCIL8 ,您应该附加到 GL_DEPTH_STENCIL_ATTACHMENT​ .

关于opengl - 将模板渲染缓冲区绑定(bind)到opengl中的帧缓冲区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11084961/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com