Example usage for org.lwjgl.opengl GL20 glUniform4f

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

Introduction

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

Prototype

public static void glUniform4f(@NativeType("GLint") int location, @NativeType("GLfloat") float v0,
        @NativeType("GLfloat") float v1, @NativeType("GLfloat") float v2, @NativeType("GLfloat") float v3) 

Source Link

Document

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

Usage

From source file:ar.com.quark.backend.lwjgl.opengl.DesktopGLES20.java

License:Apache License

/**
 * {@inheritDoc}/*from  ww  w  .  j  a va 2s  . c om*/
 */
@Override
public void glUniform4f(int name, float i1, float i2, float i3, float i4) {
    GL20.glUniform4f(name, i1, i2, i3, i4);
}

From source file:com.badlogic.gdx.backends.jglfw.JglfwGL20.java

License:Apache License

public void glUniform4f(int location, float x, float y, float z, float w) {
    GL20.glUniform4f(location, x, y, z, w);
}

From source file:com.flowpowered.caustic.lwjgl.gl20.GL20Program.java

License:MIT License

@Override
public void setUniform(String name, Vector4f v) {
    checkCreated();/*from   w ww .  ja  v  a2s. co m*/
    if (!isDirty(name, v)) {
        return;
    }
    GL20.glUniform4f(uniforms.get(name), v.getX(), v.getY(), v.getZ(), v.getW());
    uniformValues.put(name, v);
    LWJGLUtil.checkForGLError();
}

From source file:com.github.begla.blockmania.game.mobs.GelatinousCube.java

License:Apache License

public void render() {
    super.render();

    glPushMatrix();/*from   www .j  a  v a 2 s . c  o m*/

    glTranslatef(getPosition().x - _parent.getWorldProvider().getRenderingReferencePoint().x,
            getPosition().y - _parent.getWorldProvider().getRenderingReferencePoint().y,
            getPosition().z - _parent.getWorldProvider().getRenderingReferencePoint().z);
    glRotatef((float) _yaw, 0f, 1f, 0f);

    glEnable(GL_TEXTURE_2D);
    glEnable(GL_BLEND);
    glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);

    TextureManager.getInstance().bindTexture("slime");

    // Setup the shader
    ShaderManager.getInstance().enableShader("gelatinousCube");
    int tick = GL20.glGetUniformLocation(ShaderManager.getInstance().getShader("gelatinousCube"), "tick");
    GL20.glUniform1f(tick, _parent.getTick());
    int cOffset = GL20.glGetUniformLocation(ShaderManager.getInstance().getShader("gelatinousCube"),
            "colorOffset");
    GL20.glUniform4f(cOffset, COLORS[_randomColorId].x, COLORS[_randomColorId].y, COLORS[_randomColorId].z,
            1.0f);
    int light = GL20.glGetUniformLocation(ShaderManager.getInstance().getShader("gelatinousCube"), "light");
    GL20.glUniform1f(light, calcLightValue());

    if (_displayListOuterBody == -1 || _displayListInnerBody == -1) {
        generateDisplayList();
    }

    glPushMatrix();
    glScalef(_randomSize, _randomSize, _randomSize);
    glCallList(_displayListInnerBody);
    glCallList(_displayListOuterBody);
    glPopMatrix();

    glDisable(GL11.GL_TEXTURE_2D);
    glDisable(GL_BLEND);

    ShaderManager.getInstance().enableShader(null);

    glPopMatrix();
}

From source file:com.github.begla.blockmania.world.horizon.Skysphere.java

License:Apache License

public void render() {
    updateClouds();/*from   w  ww  .j  ava 2  s.co m*/

    glDisable(GL_CULL_FACE);
    glDisable(GL_DEPTH_TEST);

    glEnable(GL13.GL_TEXTURE_CUBE_MAP);
    GL11.glBindTexture(GL13.GL_TEXTURE_CUBE_MAP, _textureIds.get(0));
    _sunPosAngle = (float) Math.toRadians(360.0 * _parent.getWorldProvider().getTime() - 90.0);
    Vector4f sunNormalise = new Vector4f(0.0f, (float) Math.cos(_sunPosAngle), (float) Math.sin(_sunPosAngle),
            1.0f);
    sunNormalise.normalize();

    _zenithColor = getAllWeatherZenith(sunNormalise.y);

    ShaderManager.getInstance().enableShader("sky");

    int sunPos = GL20.glGetUniformLocation(ShaderManager.getInstance().getShader("sky"), "sunPos");
    GL20.glUniform4f(sunPos, 0.0f, (float) Math.cos(_sunPosAngle), (float) Math.sin(_sunPosAngle), 1.0f);

    int time = GL20.glGetUniformLocation(ShaderManager.getInstance().getShader("sky"), "time");
    GL20.glUniform1f(time, (float) _parent.getWorldProvider().getTime());

    int sunAngle = GL20.glGetUniformLocation(ShaderManager.getInstance().getShader("sky"), "sunAngle");
    GL20.glUniform1f(sunAngle, _sunPosAngle);

    int turbidity = GL20.glGetUniformLocation(ShaderManager.getInstance().getShader("sky"), "turbidity");
    GL20.glUniform1f(turbidity, _turbidity);

    int zenith = GL20.glGetUniformLocation(ShaderManager.getInstance().getShader("sky"), "zenith");
    GL20.glUniform3f(zenith, _zenithColor.x, _zenithColor.y, _zenithColor.z);

    // DRAW THE SKYSPHERE
    drawSphere();

    glDisable(GL13.GL_TEXTURE_CUBE_MAP);

    ShaderManager.getInstance().enableShader("clouds");
    // Apply daylight
    int lightClouds = GL20.glGetUniformLocation(ShaderManager.getInstance().getShader("clouds"), "light");
    GL20.glUniform1f(lightClouds, getDaylight());

    // DRAW THE CLOUDS
    drawClouds();
    ShaderManager.getInstance().enableShader(null);

    glEnable(GL_CULL_FACE);
    glEnable(GL_DEPTH_TEST);
}

From source file:com.grillecube.client.opengl.GLProgram.java

protected void loadUniformVec(int location, float x, float y, float z, float w) {
    GL20.glUniform4f(location, x, y, z, w);
}

From source file:com.grillecube.engine.opengl.object.GLProgram.java

protected void loadUniformVec(int location, Vector4f vec) {
    GL20.glUniform4f(location, vec.x, vec.y, vec.z, vec.w);
}

From source file:com.opengrave.og.base.Picking.java

License:Open Source License

public static void registerObject(int pid, RenderView context, Pickable t) {
    int r = (int) (lastInt % 256);
    int g = (int) ((lastInt >> 8) % 256);
    int b = (int) ((lastInt >> 16) % 256);
    int i = GL20.glGetUniformLocation(pid, "pickCol");
    if (i == -1) {
        return;/*www  .  j a v  a2s .  c o  m*/
    }
    GL20.glUniform4f(i, r / 255f, g / 255f, b / 255f, 1f);
    allPickables.put(lastInt, t);
    lastInt++;
}

From source file:com.opengrave.og.engine.RenderView.java

License:Open Source License

public void bindLights(int pID, int texture) {
    GL20.glUseProgram(pID);//w  w  w.  j  a  va 2  s  .  com
    int lights = MainThread.config.getInteger("lightCount", 16);
    int showShadows = GL20.glGetUniformLocation(pID, "showShadows");
    GL20.glUniform1i(showShadows, hasshadows ? 1 : 0);
    Util.checkErr();
    if (cam instanceof FlyByCamera) {
        int eyepos = GL20.glGetUniformLocation(pID, "eyepos");
        Util.checkErr();
        Location camL = ((FlyByCamera) cam).getCameraLocation();
        Util.checkErr();
        GL20.glUniform3f(eyepos, camL.getFullXAsFloat(), camL.getFullYAsFloat(), camL.getZ());
        Util.checkErr();
    }
    if (hasshadows) {
        int lightDir = GL20.glGetUniformLocation(pID, "sunDir");
        Vector3f dir = sceneNode.getSkyLight().getDirection().normalise(null);
        GL20.glUniform3f(lightDir, dir.x, dir.y, dir.z);
        int sunStr = GL20.glGetUniformLocation(pID, "sunStr");
        GL20.glUniform1f(sunStr, sceneNode.getSkyLight().getIntensity());
    }
    if (!shadows) {
        return;
    }

    int lightCount = GL20.glGetUniformLocation(pID, "lightCount");
    GL20.glUniform1i(lightCount, lights);

    if (lights < 4) {
        lights = 4;
    }
    for (int i = 0; i < lights; i++) {
        ShadowCube ls;
        if (i >= lightShadows.size()) {
            ls = new ShadowCube(MainThread.config.getInteger("shadowSize", 1024));
            lightShadows.add(ls);
        }
        ls = lightShadows.get(i);
        if (ls == null) {
            continue;
        }
        PointLightNode light = ls.getLight();
        if (light == null) {
            continue;
        }
        int cube = GL20.glGetUniformLocation(pID, "cube" + i);
        int lightcolour = GL20.glGetUniformLocation(pID, "lights[" + i + "].colour");
        int lightposition = GL20.glGetUniformLocation(pID, "lights[" + i + "].position");
        int lightpower = GL20.glGetUniformLocation(pID, "lights[" + i + "].power");
        Vector3f loc = light.getPosition().toVector3();
        if (cam != null) {
            // loc = light.getPosition().minus(cam.getLocation());
            // loc = cam.minus(light.getPosition());
        }
        Util.checkErr();
        // Only upload a shadow texture location if we're having shadows for
        // the light. Basic has lights but no shadows
        if (i < showShadows) {
            GL20.glUniform1i(cube, texture + i - GL13.GL_TEXTURE0);
            ls.getFramebuffer().bindDepthTexture(texture + i);
        }
        Util.checkErr();
        GL20.glUniform4f(lightcolour, light.getColour().x, light.getColour().y, light.getColour().z,
                light.getColour().w);
        Util.checkErr();
        GL20.glUniform4f(lightposition, loc.x, loc.y, loc.z, 1f);
        Util.checkErr();
        GL20.glUniform1f(lightpower, light.getPower());
        Util.checkErr();
        Util.checkErr();
    }
}

From source file:com.opengrave.og.Util.java

License:Open Source License

public static void setUniform(int pID, String string, Vector4f color) {
    // System.out.println("Program "+pID);
    Util.checkErr();/*w  ww . j a  v  a 2  s  . c  o  m*/
    int i = GL20.glGetUniformLocation(pID, string);
    Util.checkErr();
    if (i == -1) {
        // System.out.println("Cannot find uniform '"+string+"'");
        // Thread.dumpStack();
    } else {
        GL20.glUniform4f(i, color.x, color.y, color.z, color.w);
        Util.checkErr();
    }
}