我使用帧缓冲区渲染到纹理。但我不确定什么时候应该正确使用glDeleteFramebuffers
。当纹理存在时 fbo 是否应该存在,或者我可以在上次绘制纹理后安全地调用 glDeleteFramebuffers
。
最佳答案
您可以在最后一次绘制纹理后安全地调用 glDeleteFramebuffers。然而,我会假设创建和销毁帧缓冲区是昂贵的,所以只有当我确定我不会再次渲染到该纹理时我才会这样做。
我在某些 Android GLES 驱动程序上遇到了错误,我必须在删除帧缓冲区之前将纹理与帧缓冲区分离,因此我建议您这样做作为预防措施:
glBindFramebuffer(GL_FRAMEBUFFER, frameBuffer);
glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, 0, 0);
关于opengl-es - 绘制到纹理后的 Opengl ES 2.0 glDeleteFramebuffers,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56254797/