Exemple #1
0
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();
}
Exemple #2
0
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();
}