Example usage for org.lwjgl.opengl GL20 glUniform1i

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

Introduction

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

Prototype

public static void glUniform1i(@NativeType("GLint") int location, @NativeType("GLint") int v0) 

Source Link

Document

Specifies the value of an int uniform variable for the current program object.

Usage

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

License:Open Source License

@Override
public void setUniform(String name, int i) {
    checkCreated();/*from  w w w  . java2  s. co m*/
    if (!uniforms.containsKey(name)) {
        return;
    }
    GL20.glUniform1i(uniforms.get(name), i);
    LWJGLUtil.checkForGLError();
}

From source file:org.terasology.model.inventory.VoxelItem.java

License:Apache License

@Override
public boolean renderFirstPersonView() {
    ShaderManager.getInstance().enableShader("block");
    int light = GL20.glGetUniformLocation(ShaderManager.getInstance().getShader("block"), "light");
    GL20.glUniform1f(light, Terasology.getInstance().getActiveWorldRenderer().getRenderingLightValue());
    int textured = GL20.glGetUniformLocation(ShaderManager.getInstance().getShader("block"), "textured");
    GL20.glUniform1i(textured, 0);

    glPushMatrix();//  w w  w .  j  a va2  s .  c om

    glTranslatef(1.0f,
            -1.3f + (float) getParent().calcBobbingOffset((float) Math.PI / 8f, 0.05f, 2.5f)
                    - getParent().getHandMovementAnimationOffset() * 0.5f,
            -1.5f - getParent().getHandMovementAnimationOffset() * 0.5f);
    glRotatef(-getParent().getHandMovementAnimationOffset() * 64.0f, 1.0f, 0.0f, 0.0f);
    glRotatef(-20f, 1.0f, 0.0f, 0.0f);
    glRotatef(-80f, 0.0f, 1.0f, 0.0f);
    glRotatef(45f, 0.0f, 0.0f, 1.0f);

    if (_itemMesh == null)
        _itemMesh = MeshFactory.getInstance().generateItemMesh(_iconX, _iconY);

    _itemMesh.render();

    glPopMatrix();

    ShaderManager.getInstance().enableShader(null);

    return true;
}

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

License:Apache License

/**
 * Sets the shader uniform of the current shader of this shader
 * program to be the given value./*ww w  . j  av  a 2 s  . c o m*/
 * @param desc the uniform name, as used in the shader program itself.
 * @param i 
 */
public void setInt(String desc, int i) {
    int activeShaderProgramId = getActiveShaderProgramId();

    if (activeShaderProgramId <= 0) {
        return;
    }

    enable();
    int id = getUniformLocation(activeShaderProgramId, desc);
    GL20.glUniform1i(id, i);
}

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

License:Apache License

/**
 * Sets the shader uniform of the current shader of this shader
 * program to be the given value./*from   ww w  . j av a 2 s .c  o m*/
 * @param desc the uniform name, as used in the shader program itself.
 * @param b 
 */
public void setBoolean(String desc, boolean b) {
    int activeShaderProgramId = getActiveShaderProgramId();

    if (activeShaderProgramId <= 0) {
        return;
    }

    enable();
    int id = getUniformLocation(activeShaderProgramId, desc);
    GL20.glUniform1i(id, b ? 1 : 0);
}

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

License:Apache License

/**
 * Sets the shader uniform of the current shader of this shader
 * program to be the given value.//from w w w.  j a  va  2  s.  c  o m
 * @param desc the uniform name, as used in the shader program itself.
 * @param i 
 */
public void setIntForAllPermutations(String desc, int i) {
    TIntIntIterator it = shaderPrograms.iterator();

    while (it.hasNext()) {
        it.advance();

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

    enable();
}

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

License:Apache License

/**
 * Sets the shader uniform of the current shader of this shader
 * program to be the given value./*from  w  w w.  ja v  a  2s. c o  m*/
 * @param desc the uniform name, as used in the shader program itself.
 * @param b 
 */
public void setBooleanForAllPermutations(String desc, boolean b) {
    TIntIntIterator it = shaderPrograms.iterator();

    while (it.hasNext()) {
        it.advance();

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

    enable();
}

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

License:Apache License

public void setInt(String desc, int i) {
    if (isDisposed())
        return;/*from w  w  w.j a  v a2  s . co m*/

    enable();
    int id = GL20.glGetUniformLocation(shaderProgram, desc);
    if (id != -1) {
        GL20.glUniform1i(id, i);
    }
}

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

License:Apache License

public void setTexture(String desc, Texture texture) {
    if (isDisposed())
        return;//w  ww .jav a  2 s  .c o m

    int texId = -1;
    if (bindMap.containsKey(desc)) {
        texId = bindMap.get(desc);
    } else {
        // TODO: do this initially, and try and have similar textures in similar slots for all materials.
        ParamMetadata metadata = shader.getParameter(desc);
        if (metadata == null) {
            return;
        }
        enable();
        texId = textureIndex++;
        int id = GL20.glGetUniformLocation(shaderProgram, desc);
        GL20.glUniform1i(id, texId);
        bindMap.put(desc, texId);
    }

    textureMap.put(texId, texture);
}

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;/* w  w  w  .j  a va 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   w  ww.j  a va  2s. c  om
    }
    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();
    }
}