Example usage for org.lwjgl.opengl GL20 glDeleteProgram

List of usage examples for org.lwjgl.opengl GL20 glDeleteProgram

Introduction

In this page you can find the example usage for org.lwjgl.opengl GL20 glDeleteProgram.

Prototype

public static void glDeleteProgram(@NativeType("GLuint") int program) 

Source Link

Document

Deletes a program object.

Usage

From source file:org.oscim.gdx.LwjglGL20.java

License:Apache License

public void deleteProgram(int program) {
    GL20.glDeleteProgram(program);
}

From source file:org.spout.engine.renderer.shader.ClientShader.java

License:Open Source License

private void dispose() {
    if (program != -1)
        GL20.glDeleteProgram(program);
}

From source file:org.spout.renderer.lwjgl.gl20.GL20Program.java

License:Open Source License

@Override
public void destroy() {
    checkCreated();//from   ww  w . ja va2  s . c om
    // Delete the program
    GL20.glDeleteProgram(id);
    // Check for errors
    LWJGLUtil.checkForGLError();
    // Clear the data
    shaders.clear();
    attributeLayouts.clear();
    textureLayouts.clear();
    uniforms.clear();
    // Update the state
    super.destroy();
}

From source file:org.terasology.rendering.assets.GLSLShaderProgramInstance.java

License:Apache License

public void dispose() {
    logger.debug("Disposing shader {}.", shaderProgramBase.getTitle());

    TIntIntIterator it = shaderPrograms.iterator();
    while (it.hasNext()) {
        it.advance();//  www  . j  av  a2 s.c o m
        GL20.glDeleteProgram(it.value());
    }
    shaderPrograms.clear();

    it = fragmentPrograms.iterator();
    while (it.hasNext()) {
        it.advance();
        GL20.glDeleteShader(it.value());
    }
    fragmentPrograms.clear();

    it = vertexPrograms.iterator();
    while (it.hasNext()) {
        it.advance();
        GL20.glDeleteShader(it.value());
    }
    vertexPrograms.clear();

    uniformLocationMap.clear();
    prevValues.clear();
    disposed = true;
}

From source file:org.terasology.rendering.assets.MaterialShader.java

License:Apache License

public void dispose() {
    logger.debug("Disposing shader {}.", uri);

    GL20.glDeleteProgram(fragmentProgram);
    fragmentProgram = 0;/*ww  w . j  av a 2s.  co m*/

    GL20.glDeleteProgram(vertexProgram);
    vertexProgram = 0;
}

From source file:org.terasology.rendering.assets.MaterialShader.java

License:Apache License

public int generateShaderInstance() {
    int shaderProgram = GL20.glCreateProgram();

    GL20.glAttachShader(shaderProgram, fragmentProgram);
    GL20.glAttachShader(shaderProgram, vertexProgram);
    GL20.glLinkProgram(shaderProgram);// w  w w  . ja v a2s  .co m
    if (GL20.glGetProgram(shaderProgram, GL20.GL_LINK_STATUS) == GL11.GL_FALSE) {
        logger.error("Failed to link shader {}.", GL20.glGetProgramInfoLog(shaderProgram, GL20.GL_LINK_STATUS));
        GL20.glDeleteProgram(shaderProgram);
        return 0;
    }
    GL20.glValidateProgram(shaderProgram);
    if (GL20.glGetProgram(shaderProgram, GL20.GL_VALIDATE_STATUS) == GL11.GL_FALSE) {
        logger.error("Failed to validate shader {}.",
                GL20.glGetProgramInfoLog(shaderProgram, GL20.GL_VALIDATE_STATUS));
        GL20.glDeleteProgram(shaderProgram);
        return 0;
    }
    return shaderProgram;
}

From source file:org.terasology.rendering.opengl.GLSLMaterial.java

License:Apache License

@Override
public void recompile() {
    TIntIntIterator it = shaderPrograms.iterator();
    while (it.hasNext()) {
        it.advance();/*ww  w.j  av  a  2 s.c om*/
        GL20.glDeleteProgram(it.value());
    }
    shaderPrograms.clear();
    uniformLocationMap.clear();

    shaderPrograms.put(0, shader.linkShaderProgram(0));
    for (Set<ShaderProgramFeature> permutation : Sets.powerSet(shader.getAvailableFeatures())) {
        int featureMask = ShaderProgramFeature.getBitset(permutation);
        shaderPrograms.put(featureMask, shader.linkShaderProgram(featureMask));
    }
    if (shaderParameters != null) {
        shaderParameters.initialParameters(this);
    }
}

From source file:org.terasology.rendering.opengl.GLSLMaterial.java

License:Apache License

@Override
public void dispose() {
    logger.debug("Disposing material {}.", getURI());

    TIntIntIterator it = shaderPrograms.iterator();
    while (it.hasNext()) {
        it.advance();/*ww w.  jav  a 2s  .  co  m*/
        GL20.glDeleteProgram(it.value());
    }
    shaderPrograms.clear();
    uniformLocationMap.clear();
    shader = null;
}

From source file:org.terasology.rendering.shader.ShaderProgram.java

License:Apache License

public void dispose() {
    logger.debug("Disposing shader {}.", title);

    GL20.glDeleteShader(shaderProgram);/*from  w ww .ja  v  a 2 s. c om*/
    shaderProgram = 0;

    GL20.glDeleteProgram(fragmentProgram);
    fragmentProgram = 0;

    GL20.glDeleteProgram(vertexProgram);
    vertexProgram = 0;
}

From source file:playn.java.JavaGL20.java

License:Apache License

@Override
public void glDeleteProgram(int program) {
    GL20.glDeleteProgram(program);
}