Example usage for org.lwjgl.opengl GL20 glGetUniformLocation

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

Introduction

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

Prototype

@NativeType("GLint")
public static int glGetUniformLocation(@NativeType("GLuint") int program,
        @NativeType("GLchar const *") CharSequence name) 

Source Link

Document

Returns the location of a uniform variable.

Usage

From source file:org.terasology.rendering.physics.BulletPhysicsRenderer.java

License:Apache License

public void render() {
    _discreteDynamicsWorld.stepSimulation(Terasology.getInstance().getDelta() / 1000f);

    TextureManager.getInstance().bindTexture("terrain");
    ShaderManager.getInstance().enableShader("block");

    FloatBuffer colorBuffer = BufferUtils.createFloatBuffer(3);
    colorBuffer.put(1).put(1).put(1);//from w ww  .j  a v a 2  s  .c om
    colorBuffer.flip();

    int textured = GL20.glGetUniformLocation(ShaderManager.getInstance().getShader("block"), "textured");
    GL20.glUniform1i(textured, 1);
    int colorOffset = GL20.glGetUniformLocation(ShaderManager.getInstance().getShader("block"), "colorOffset");
    GL20.glUniform3(colorOffset, colorBuffer);
    int lightRef = GL20.glGetUniformLocation(ShaderManager.getInstance().getShader("block"), "light");

    Player player = Terasology.getInstance().getActiveWorldRenderer().getPlayer();
    FloatBuffer mBuffer = BufferUtils.createFloatBuffer(16);
    float[] mFloat = new float[16];

    GL11.glPushMatrix();
    GL11.glTranslated(-player.getPosition().x, -player.getPosition().y, -player.getPosition().z);

    for (BlockRigidBody b : _blocks) {
        Transform t = new Transform();
        b.getMotionState().getWorldTransform(t);

        t.getOpenGLMatrix(mFloat);
        mBuffer.put(mFloat);
        mBuffer.flip();

        GL11.glPushMatrix();
        GL11.glMultMatrix(mBuffer);
        GL11.glScalef(0.5f, 0.5f, 0.5f);

        float lightValue = Terasology.getInstance().getActiveWorldRenderer()
                .getRenderingLightValueAt(new Vector3d(t.origin));
        GL20.glUniform1f(lightRef, lightValue);

        BlockManager.getInstance().getBlock(b.getType()).render();

        GL11.glPopMatrix();
    }

    GL11.glPopMatrix();

    ShaderManager.getInstance().enableShader(null);
}

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

License:Apache License

public void setFloat(String desc, float f) {
    enable();
    int id = GL20.glGetUniformLocation(shaderProgram, desc);
    GL20.glUniform1f(id, f);
}

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

License:Apache License

public void setFloat3(String desc, float f1, float f2, float f3) {
    enable();//from w  w w.j  a  v  a 2s  .  c om
    int id = GL20.glGetUniformLocation(shaderProgram, desc);
    GL20.glUniform3f(id, f1, f2, f3);
}

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

License:Apache License

public void setFloat4(String desc, float f1, float f2, float f3, float f4) {
    enable();//from w  w  w . j a v a 2s . co  m
    int id = GL20.glGetUniformLocation(shaderProgram, desc);
    GL20.glUniform4f(id, f1, f2, f3, f4);
}

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

License:Apache License

public void setInt(String desc, int i) {
    enable();
    int id = GL20.glGetUniformLocation(shaderProgram, desc);
    GL20.glUniform1i(id, i);
}

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

License:Apache License

public void setFloat2(String desc, FloatBuffer buffer) {
    enable();
    int id = GL20.glGetUniformLocation(shaderProgram, desc);
    GL20.glUniform2(id, buffer);
}

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

License:Apache License

public void setFloat1(String desc, FloatBuffer buffer) {
    enable();
    int id = GL20.glGetUniformLocation(shaderProgram, desc);
    GL20.glUniform1(id, buffer);
}

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

License:Apache License

public void setMatrix4(String desc, Matrix4f m) {
    enable();//w  w w .j a  v  a  2  s.com
    int id = GL20.glGetUniformLocation(shaderProgram, desc);
    GL20.glUniformMatrix4(id, false, TeraMath.matrixToFloatBuffer(m));
}

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

License:Apache License

public void setMatrix3(String desc, Matrix3f m) {
    enable();//from  www  .  j a v  a  2  s  .  c  o m
    int id = GL20.glGetUniformLocation(shaderProgram, desc);
    GL20.glUniformMatrix3(id, false, TeraMath.matrixToFloatBuffer(m));
}

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

License:Open Source License

public void addUniform(String uniform) {
    int uniformLoc = GL20.glGetUniformLocation(pointer, uniform);

    if (uniformLoc == 0xFFFFFF) {
        System.err.println("Error: Could not find uniform " + uniform);
        new Exception().printStackTrace();
        System.exit(-1);/*from  w  w  w  . j  a  va2  s. c  o m*/
    }

    uniforms.put(uniform, uniformLoc);
}