我和我的朋友正在不同的计算机上调试我们的代码。
我的代码在工作,而他的不在。通过消除过程,我确定了问题在于他的系统没有绘制到用于渲染纹理的自定义帧缓冲区。质地保持黑色。
除系统外,其他所有内容均相同。有什么建议吗?
if(glCheckFramebufferStatus(GL_FRAMEBUFFER) != GL_FRAMEBUFFER_COMPLETE)
throw new RuntimeException("yo frame buffer is broken);
这不会引发任何异常,因此应正确制作帧缓冲区。
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_BASE_LEVEL, 0);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAX_LEVEL, 0);
我为我的颜色附件纹理添加了这两行,并且行得通。
为什么现在可以使用?不太清楚为什么。GL表示FBO已完成,即使没有
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句