Example usage for org.lwjgl.opengl GL20 glUniform1f

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

Introduction

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

Prototype

public static void glUniform1f(@NativeType("GLint") int location, @NativeType("GLfloat") float v0) 

Source Link

Document

Specifies the value of a float uniform variable for the current program object.

Usage

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  v a 2 s  .c o m
 * @param desc the uniform name, as used in the shader program itself.
 * @param f the value to set the uniform to.
 */
public void setFloat(String desc, float f) {
    int activeShaderProgramId = getActiveShaderProgramId();

    if (activeShaderProgramId <= 0) {
        return;
    }

    enable();
    boolean changed = true;
    Float val = prevValues.get(desc);
    if (val == null) {
        prevValues.put(desc, f);
    } else {
        changed = val != f;
    }
    if (changed) {
        prevValues.put(desc, f);
        int id = getUniformLocation(activeShaderProgramId, desc);
        GL20.glUniform1f(id, f);
    }
}

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

License:Apache License

public void setFloat(String desc, float f) {
    if (isDisposed())
        return;/*from w  w w .  j  a  v a2 s .com*/

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

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

License:Apache License

@Override
public void setFloat(String desc, float f, boolean currentOnly) {
    if (isDisposed()) {
        return;//  www. j a  va  2  s  .  co m
    }
    if (currentOnly) {
        enable();
        int id = getUniformLocation(getActiveShaderProgramId(), desc);
        GL20.glUniform1f(id, f);
    } else {
        TIntIntIterator it = shaderPrograms.iterator();
        while (it.hasNext()) {
            it.advance();

            GL20.glUseProgram(it.value());
            int id = getUniformLocation(it.value(), desc);
            GL20.glUniform1f(id, f);
        }

        restoreStateAfterUniformsSet();
    }
}

From source file:org.terasology.rendering.particles.BlockParticle.java

License:Apache License

protected void renderParticle() {
    if (_displayLists[_blockType] == 0) {
        _displayLists[_blockType] = glGenLists(1);
        glNewList(_displayLists[_blockType], GL11.GL_COMPILE);
        drawParticle();//from   w w w .  j a  va2 s .co  m
        glEndList();
    }

    float lightValue = _parent.getParent().getRenderingLightValueAt(_position);

    // Apply biome and overall color offset
    FloatBuffer colorBuffer = BufferUtils.createFloatBuffer(3);
    Vector4f color = BlockManager.getInstance().getBlock(_blockType).calcColorOffsetFor(Block.SIDE.FRONT,
            _parent.getParent().getActiveTemperature(), _parent.getParent().getActiveHumidity());
    colorBuffer.put(color.x);
    colorBuffer.put(color.y);
    colorBuffer.put(color.z);
    colorBuffer.flip();

    int colorOffset = GL20.glGetUniformLocation(ShaderManager.getInstance().getShader("particle"),
            "colorOffset");
    int light = GL20.glGetUniformLocation(ShaderManager.getInstance().getShader("particle"), "light");
    int texOffsetX = GL20.glGetUniformLocation(ShaderManager.getInstance().getShader("particle"), "texOffsetX");
    int texOffsetY = GL20.glGetUniformLocation(ShaderManager.getInstance().getShader("particle"), "texOffsetY");
    GL20.glUniform1f(light, lightValue * _lightOffset);
    GL20.glUniform1f(texOffsetX, _texOffsetX);
    GL20.glUniform1f(texOffsetY, _texOffsetY);
    GL20.glUniform3(colorOffset, colorBuffer);

    glCallList(_displayLists[_blockType]);
}

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 w  w. 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:ovh.tgrhavoc.gameengine.core.Shader.java

License:Open Source License

public void setUniformf(String name, float value) {
    GL20.glUniform1f(uniforms.get(name), value);
}

From source file:playn.java.JavaGL20.java

License:Apache License

@Override
public void glUniform1f(int location, float x) {
    GL20.glUniform1f(location, x);
}

From source file:processing.lwjgl.PGL.java

License:Open Source License

public void uniform1f(int loc, float value) {
    GL20.glUniform1f(loc, value);
}

From source file:processing.lwjgl.PLWJGL.java

License:Open Source License

public void uniform1f(int location, float value) {
    GL20.glUniform1f(location, value);
}