Example usage for org.lwjgl.opengl GL20 glUseProgram

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

Introduction

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

Prototype

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

Source Link

Document

Installs a program object as part of current rendering state.

Usage

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

License:Apache License

@Override
public void setMatrix3(String desc, FloatBuffer value, boolean currentOnly) {
    if (isDisposed()) {
        return;//w  ww .  j  a v  a  2  s.c  om
    }
    if (currentOnly) {
        enable();
        int id = getUniformLocation(getActiveShaderProgramId(), desc);
        GL20.glUniformMatrix3(id, false, value);
    } else {
        TIntIntIterator it = shaderPrograms.iterator();
        while (it.hasNext()) {
            it.advance();

            GL20.glUseProgram(it.value());
            int id = getUniformLocation(it.value(), desc);
            GL20.glUniformMatrix3(id, false, value);
        }

        restoreStateAfterUniformsSet();
    }
}

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

License:Apache License

@Override
public void setMatrix4(String desc, Matrix4f value, boolean currentOnly) {
    if (isDisposed()) {
        return;//from  ww w . j  av a  2s. c o m
    }
    if (currentOnly) {
        enable();
        int id = getUniformLocation(getActiveShaderProgramId(), desc);
        GL20.glUniformMatrix4(id, false, MatrixUtils.matrixToFloatBuffer(value));
    } else {
        TIntIntIterator it = shaderPrograms.iterator();
        while (it.hasNext()) {
            it.advance();

            GL20.glUseProgram(it.value());
            int id = getUniformLocation(it.value(), desc);
            GL20.glUniformMatrix4(id, false, MatrixUtils.matrixToFloatBuffer(value));
        }

        restoreStateAfterUniformsSet();
    }
}

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

License:Apache License

@Override
public void setMatrix4(String desc, FloatBuffer value, boolean currentOnly) {
    if (isDisposed()) {
        return;/* w  w w.jav  a  2  s  . c  o  m*/
    }
    if (currentOnly) {
        enable();
        int id = getUniformLocation(getActiveShaderProgramId(), desc);
        GL20.glUniformMatrix4(id, false, value);
    } else {
        TIntIntIterator it = shaderPrograms.iterator();
        while (it.hasNext()) {
            it.advance();

            GL20.glUseProgram(it.value());
            int id = getUniformLocation(it.value(), desc);
            GL20.glUniformMatrix4(id, false, value);
        }

        restoreStateAfterUniformsSet();
    }
}

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

License:Apache License

private void restoreStateAfterUniformsSet() {
    if (shaderManager.getActiveMaterial() == this) {
        GL20.glUseProgram(getActiveShaderProgramId());
    } else {/*from   w  ww .  j  ava  2s.  c o  m*/
        enable();
    }
}

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

License:Apache License

public void enable() {
    ShaderProgram activeProgram = ShaderManager.getInstance().getActiveShaderProgram();

    if (activeProgram != this) {
        GL13.glActiveTexture(GL13.GL_TEXTURE0);
        GL20.glUseProgram(shaderProgram);

        // Make sure the shader manager knows that this program is currently active
        ShaderManager.getInstance().setActiveShaderProgram(this);

        // Set the shader parameters if available
        if (parameters != null) {
            parameters.applyParameters(this);
        }/*from  w w  w  . j a  va  2 s  . co m*/
    }
}

From source file:org.terasology.rendering.ShaderManager.java

License:Apache License

public void disableShader() {
    GL20.glUseProgram(0);
    activeMaterial = null;
}

From source file:org.terasology.rendering.ShaderManagerLwjgl.java

License:Apache License

@Override
public void disableShader() {
    GL20.glUseProgram(0);
    activeMaterial = null;
}

From source file:ovh.tgrhavoc.gameengine.core.Shader.java

License:Open Source License

public void bind() {
    GL20.glUseProgram(pointer);
}

From source file:playn.java.JavaGL20.java

License:Apache License

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

From source file:processing.lwjgl.PGL.java

License:Open Source License

public void useProgram(int prog) {
    GL20.glUseProgram(prog);
}