我知道我们可以创建这样一个FBO(没有颜色附件,只是一个深度附件),例如这可以用于阴影贴图。
此外,FBO完整性检查表明
我的问题是,是否有必要使用
明确提及这一点glDrawBuffer(GL_NONE);
如果我没有指定任何颜色附件,OpenGL是否不理解它不会附加任何颜色缓冲区? (我的程序在OpenGL 4.0上工作得很好而没有提到“glDrawBuffer(GL_NONE);”所以我认为没关系,但wiki说FB完整性检查一定是失败了)
答案 0 :(得分:1)
在我的应用程序中,使用深度缓冲区进行阴影贴图,不调用
glDrawBuffer(GL_NONE);
如果此帧缓冲区没有颜色附件,不会导致帧缓冲区不完整。
然而,一切都变成废话,深度纹理显然要么不可写或不可读,要么两者兼而有之。
为什么会这样,这是否普遍存在,所以我会留在中间。我只是告诉你我的调查结果,我的调查结果表明你应该谨慎地省略这一陈述。