具有内部格式的纹理的Framebuffer不完整附件?

时间:2015-12-14 08:27:14

标签: opengl

所以我想创建一个FrameBuffer,我渲染到纹理,但我似乎无法使用我需要的格式。那是GL_RGB32F。它适用于GL_RGB16F和GL_RGBA32F,所以我不明白为什么GL_RGB32F从glCheckFramebufferStatus给我GL_FRAMEBUFFER_INCOMEPLETE_ATTACHMENT。我也没有从创建纹理的调用中得到任何错误。是否有特殊要求使用该内部格式?我可以看看我是否支持它?

{{1}}

1 个答案:

答案 0 :(得分:3)

GL中{p> GL_RGB16FGL_RGB32F 不是所需的颜色缓冲区格式,而GL_RGBA32F是。{1}}。您可以查看OpenGL 4.5 core profile specification的表8.12(第198-200页,假设2017年6月修订了该文档)。它告诉您所有这些提到的格式都是颜色可渲染,但该集合中只有GL_RGBA32F必需的渲染格式。实现可能会选择性地支持其他实现,但您不能依赖它。