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 setFloat1(String desc, FloatBuffer buffer, boolean currentOnly) {
    if (isDisposed()) {
        return;/*from   w ww .  ja va  2 s. c om*/
    }
    if (currentOnly) {
        enable();
        int id = getUniformLocation(getActiveShaderProgramId(), desc);
        GL20.glUniform1(id, buffer);
    } else {
        TIntIntIterator it = shaderPrograms.iterator();
        while (it.hasNext()) {
            it.advance();

            GL20.glUseProgram(it.value());
            int id = getUniformLocation(it.value(), desc);
            GL20.glUniform1(id, buffer);
        }

        restoreStateAfterUniformsSet();
    }
}

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

License:Apache License

@Override
public void setFloat2(String desc, float f1, float f2, boolean currentOnly) {
    if (isDisposed()) {
        return;//ww  w.  j a  v  a 2s.com
    }
    if (currentOnly) {
        enable();
        int id = getUniformLocation(getActiveShaderProgramId(), desc);
        GL20.glUniform2f(id, f1, f2);
    } else {
        TIntIntIterator it = shaderPrograms.iterator();
        while (it.hasNext()) {
            it.advance();

            GL20.glUseProgram(it.value());
            int id = getUniformLocation(it.value(), desc);
            GL20.glUniform2f(id, f1, f2);
        }

        restoreStateAfterUniformsSet();
    }
}

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

License:Apache License

@Override
public void setFloat2(String desc, FloatBuffer buffer, boolean currentOnly) {
    if (isDisposed()) {
        return;//from  w w  w.j  av  a 2  s  . c  om
    }
    if (currentOnly) {
        enable();
        int id = getUniformLocation(getActiveShaderProgramId(), desc);
        GL20.glUniform2(id, buffer);
    } else {
        TIntIntIterator it = shaderPrograms.iterator();
        while (it.hasNext()) {
            it.advance();

            GL20.glUseProgram(it.value());
            int id = getUniformLocation(it.value(), desc);
            GL20.glUniform2(id, buffer);
        }

        restoreStateAfterUniformsSet();
    }
}

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

License:Apache License

@Override
public void setFloat3(String desc, float f1, float f2, float f3, boolean currentOnly) {
    if (isDisposed()) {
        return;/*from ww w .j  a  va 2 s. co  m*/
    }
    if (currentOnly) {
        enable();
        int id = getUniformLocation(getActiveShaderProgramId(), desc);
        GL20.glUniform3f(id, f1, f2, f3);
    } else {
        TIntIntIterator it = shaderPrograms.iterator();
        while (it.hasNext()) {
            it.advance();

            GL20.glUseProgram(it.value());
            int id = getUniformLocation(it.value(), desc);
            GL20.glUniform3f(id, f1, f2, f3);
        }

        restoreStateAfterUniformsSet();
    }
}

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

License:Apache License

@Override
public void setFloat3(String desc, FloatBuffer buffer, boolean currentOnly) {
    if (isDisposed()) {
        return;//w w  w .  jav a2  s .  c  o m
    }
    if (currentOnly) {
        enable();
        int id = getUniformLocation(getActiveShaderProgramId(), desc);
        GL20.glUniform3(id, buffer);
    } else {
        TIntIntIterator it = shaderPrograms.iterator();
        while (it.hasNext()) {
            it.advance();

            GL20.glUseProgram(it.value());
            int id = getUniformLocation(it.value(), desc);
            GL20.glUniform3(id, buffer);
        }

        restoreStateAfterUniformsSet();
    }
}

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

License:Apache License

@Override
public void setFloat4(String desc, float f1, float f2, float f3, float f4, boolean currentOnly) {
    if (isDisposed()) {
        return;/*from w  ww.jav  a 2 s  . c  om*/
    }
    if (currentOnly) {
        enable();
        int id = getUniformLocation(getActiveShaderProgramId(), desc);
        GL20.glUniform4f(id, f1, f2, f3, f4);
    } else {
        TIntIntIterator it = shaderPrograms.iterator();
        while (it.hasNext()) {
            it.advance();

            GL20.glUseProgram(it.value());
            int id = getUniformLocation(it.value(), desc);
            GL20.glUniform4f(id, f1, f2, f3, f4);
        }

        restoreStateAfterUniformsSet();
    }
}

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

License:Apache License

@Override
public void setFloat4(String desc, FloatBuffer buffer, boolean currentOnly) {
    if (isDisposed()) {
        return;/*from  www.  j ava2  s  . c o  m*/
    }
    if (currentOnly) {
        enable();
        int id = getUniformLocation(getActiveShaderProgramId(), desc);
        GL20.glUniform4(id, buffer);
    } else {
        TIntIntIterator it = shaderPrograms.iterator();
        while (it.hasNext()) {
            it.advance();

            GL20.glUseProgram(it.value());
            int id = getUniformLocation(it.value(), desc);
            GL20.glUniform4(id, buffer);
        }

        restoreStateAfterUniformsSet();
    }
}

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

License:Apache License

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

            GL20.glUseProgram(it.value());
            int id = getUniformLocation(it.value(), desc);
            GL20.glUniform1i(id, i);
        }

        restoreStateAfterUniformsSet();
    }
}

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

License:Apache License

@Override
public void setBoolean(String desc, boolean value, boolean currentOnly) {
    if (isDisposed()) {
        return;//from   ww w .  j  a v a2 s .c o  m
    }
    if (currentOnly) {
        enable();
        int id = getUniformLocation(getActiveShaderProgramId(), desc);
        GL20.glUniform1i(id, value ? 1 : 0);
    } else {
        TIntIntIterator it = shaderPrograms.iterator();
        while (it.hasNext()) {
            it.advance();

            GL20.glUseProgram(it.value());
            int id = getUniformLocation(it.value(), desc);
            GL20.glUniform1i(id, value ? 1 : 0);
        }

        restoreStateAfterUniformsSet();
    }
}

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

License:Apache License

@Override
public void setMatrix3(String desc, Matrix3f value, boolean currentOnly) {
    if (isDisposed()) {
        return;//from  w w  w. j a v  a 2 s . c om
    }
    if (currentOnly) {
        enable();
        int id = getUniformLocation(getActiveShaderProgramId(), desc);
        GL20.glUniformMatrix3(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.glUniformMatrix3(id, false, MatrixUtils.matrixToFloatBuffer(value));
        }

        restoreStateAfterUniformsSet();
    }
}