我知道我们可以创建这样的 FBO(没有颜色附件,只有深度附件),例如,它可以用于阴影贴图。
此外,FBO 完整性检查指出
- 每个绘图缓冲区必须指定附加了图像的颜色附加点,或者必须是 GL_NONE。(GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER当为假时)。请注意,如果 OpenGL 4.2 或 ARB_ES2_compatibility 可用,则不会执行此测试。
我的问题是,是否有必要通过使用明确提及这一点
glDrawBuffer(GL_NONE);
如果我没有指定任何颜色附件,OpenGL是否不理解它不会附加任何颜色缓冲区?(我的程序在 OpenGL 4.0 上运行良好,没有提到“glDrawBuffer(GL_NONE);”所以我认为不这样做也没关系,但 wiki 说 FB 完整性检查肯定失败了)