所以我想创建一个FrameBuffer,我渲染到纹理,但我似乎无法使用我需要的格式。那是GL_RGB32F。它适用于GL_RGB16F和GL_RGBA32F,所以我不明白为什么GL_RGB32F从glCheckFramebufferStatus给我GL_FRAMEBUFFER_INCOMEPLETE_ATTACHMENT。我也没有从创建纹理的调用中得到任何错误。是否有特殊要求使用该内部格式?我可以看看我是否支持它?
{{1}}
答案 0 :(得分:3)
GL_RGB16F
和GL_RGB32F
不是所需的颜色缓冲区格式,而GL_RGBA32F
是。{1}}。您可以查看OpenGL 4.5 core profile specification的表8.12(第198-200页,假设2017年6月修订了该文档)。它告诉您所有这些提到的格式都是颜色可渲染,但该集合中只有GL_RGBA32F
是必需的渲染格式。实现可能会选择性地支持其他实现,但您不能依赖它。