GLUSvoid terminate(GLUSvoid) { glBindBuffer(GL_ARRAY_BUFFER, 0); if (g_verticesVBO) { glDeleteBuffers(1, &g_verticesVBO); g_verticesVBO = 0; } if (g_normalsVBO) { glDeleteBuffers(1, &g_normalsVBO); g_normalsVBO = 0; } if (g_texCoordsVBO) { glDeleteBuffers(1, &g_texCoordsVBO); g_texCoordsVBO = 0; } glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0); if (g_indicesVBO) { glDeleteBuffers(1, &g_indicesVBO); g_indicesVBO = 0; } glActiveTexture(GL_TEXTURE0); glBindTexture(GL_TEXTURE_2D, 0); if (g_texture) { glDeleteTextures(1, &g_texture); g_texture = 0; } glBindVertexArray(0); if (g_vao) { glDeleteVertexArrays(1, &g_vao); g_vao = 0; } glUseProgram(0); glusDestroyProgram(&g_program); // glActiveTexture(GL_TEXTURE1); glBindTexture(GL_TEXTURE_2D, 0); if (g_mirrorTexture) { glDeleteTextures(1, &g_mirrorTexture); g_mirrorTexture = 0; } glBindRenderbuffer(GL_RENDERBUFFER, 0); if (g_depthMirrorTexture) { glDeleteRenderbuffers(1, &g_depthMirrorTexture); g_depthMirrorTexture = 0; } glBindFramebuffer(GL_FRAMEBUFFER, 0); if (g_fboMirrorTexture) { glDeleteFramebuffers(1, &g_fboMirrorTexture); g_fboMirrorTexture = 0; } terminateWavefront(); }
GLUSvoid terminate(GLUSvoid) { glBindBuffer(GL_ARRAY_BUFFER, 0); if (g_verticesVBO) { glDeleteBuffers(1, &g_verticesVBO); g_verticesVBO = 0; } if (g_normalsVBO) { glDeleteBuffers(1, &g_normalsVBO); g_normalsVBO = 0; } if (g_texCoordsVBO) { glDeleteBuffers(1, &g_texCoordsVBO); g_texCoordsVBO = 0; } glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0); if (g_indicesVBO) { glDeleteBuffers(1, &g_indicesVBO); g_indicesVBO = 0; } glActiveTexture(GL_TEXTURE0); glBindTexture(GL_TEXTURE_2D, 0); if (g_texture) { glDeleteTextures(1, &g_texture); g_texture = 0; } glBindVertexArray(0); if (g_vao) { glDeleteVertexArrays(1, &g_vao); g_vao = 0; } glUseProgram(0); glusDestroyProgram(&g_program); // if (g_postprocessVerticesVBO) { glDeleteBuffers(1, &g_postprocessVerticesVBO); g_postprocessVerticesVBO = 0; } if (g_postprocessTexCoordsVBO) { glDeleteBuffers(1, &g_postprocessTexCoordsVBO); g_postprocessTexCoordsVBO = 0; } if (g_postprocessIndicesVBO) { glDeleteBuffers(1, &g_postprocessIndicesVBO); g_postprocessIndicesVBO = 0; } if (g_ssaoVAO) { glDeleteVertexArrays(1, &g_ssaoVAO); g_ssaoVAO = 0; } if (g_blurVAO) { glDeleteVertexArrays(1, &g_blurVAO); g_blurVAO = 0; } glusDestroyProgram(&g_ssaoProgram); glusDestroyProgram(&g_blurProgram); // glActiveTexture(GL_TEXTURE0); glBindTexture(GL_TEXTURE_2D, 0); if (g_ssaoTexture) { glDeleteTextures(1, &g_ssaoTexture); g_ssaoTexture = 0; } glActiveTexture(GL_TEXTURE1); glBindTexture(GL_TEXTURE_2D, 0); if (g_ssaoNormalTexture) { glDeleteTextures(1, &g_ssaoNormalTexture); g_ssaoNormalTexture = 0; } glActiveTexture(GL_TEXTURE2); glBindTexture(GL_TEXTURE_2D, 0); if (g_ssaoDepthTexture) { glDeleteTextures(1, &g_ssaoDepthTexture); g_ssaoDepthTexture = 0; } glActiveTexture(GL_TEXTURE3); glBindTexture(GL_TEXTURE_2D, 0); if (g_ssaoRotationNoiseTexture) { glDeleteTextures(1, &g_ssaoRotationNoiseTexture); g_ssaoRotationNoiseTexture = 0; } glBindFramebuffer(GL_FRAMEBUFFER, 0); if (g_ssaoFBO) { glDeleteFramebuffers(1, &g_ssaoFBO); g_ssaoFBO = 0; } // if (g_blurTexture) { glDeleteTextures(1, &g_blurTexture); g_blurTexture = 0; } if (g_blurFBO) { glDeleteFramebuffers(1, &g_blurFBO); g_blurFBO = 0; } // terminateWavefront(); }