1
如何获取当前绑定FBO的颜色附件数量?我检查了glGetInteger
和glGetFramebufferAttachmentParameteriv
,但他们没有获得这些值的枚举。如何检索FBO的附件数量
如何获取当前绑定FBO的颜色附件数量?我检查了glGetInteger
和glGetFramebufferAttachmentParameteriv
,但他们没有获得这些值的枚举。如何检索FBO的附件数量
未经检验的,但是这应该这样做:
GLint maxAtt = 0;
glGetIntegerv(GL_MAX_COLOR_ATTACHMENTS, &maxAtt);
int nAtt = 0;
for (int iAtt = 0; iAtt < maxAtt; ++iAtt) {
GLint objType = GL_NONE;
glGetFramebufferAttachmentParameteriv(
GL_DRAW_FRAMEBUFFER, GL_COLOR_ATTACHMENT0 + iAtt,
GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE, &objType);
if (objType != GL_NONE) {
++nAtt;
}
}
// nAtt is the number of color attachments.
你可以做同样的使用GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME
代替GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE
,和值与0
东西。
...你不知道吗?我的意思是,它是*你的* FBO,不是吗? –
@NicolBolas我正在使用已设置的外部库。 – debonair