gpt4 book ai didi

opengl - 如何将纹理附加到帧缓冲区?

转载 作者:行者123 更新时间:2023-12-04 13:50:25 28 4
gpt4 key购买 nike

目前我通过它们的 id 和渲染目标的数量来存储帧缓冲区。但是要绘制到帧缓冲区中,我需要使用 glDrawBuffers 设置正确的绘制缓冲区。现在我是这样做的。

vector<GLenum> buffers;
for(int i = 0; i < targets; ++i)
{
buffers.push_back(GL_COLOR_ATTACHMENT0 + i);
}
glDrawBuffers(targets, &buffers[0]);

为简单起见,我不想再自己存储渲染目标的数量。我想 OpenGL 无论如何都会这样做。有没有办法获取绑定(bind)到帧缓冲区的颜色附件,例如使用 glFramebufferTexture2D 调用?

最佳答案

绘图缓冲区位置是 FBO 的状态的一部分。如果您不更改它们,则只需在初始化时设置它们一次,此时目标的数量应该是众所周知的。

但是,如果你执意要查询附件,可以use glGetFramebufferAttachmentParameter使用 GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE 。如果您返回的值为 GL_NONE,则表示该绑定(bind)点没有附件。

关于opengl - 如何将纹理附加到帧缓冲区?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15089703/

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