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:com.xrbpowered.gl.res.shaders.SceneShader.java

License:Open Source License

@Override
protected void storeUniformLocations() {
    projectionMatrixLocation = GL20.glGetUniformLocation(pId, "projectionMatrix");
    viewMatrixLocation = GL20.glGetUniformLocation(pId, "viewMatrix");
    cameraPositionLocation = GL20.glGetUniformLocation(pId, "cameraPosition");
}

From source file:com.xrbpowered.gl.res.shaders.Shader.java

License:Open Source License

protected void initSamplers(String[] names) {
    GL20.glUseProgram(pId);/*from w  ww.  j a  va  2  s  . c om*/
    for (int i = 0; i < names.length; i++) {
        GL20.glUniform1i(GL20.glGetUniformLocation(pId, names[i]), i);
    }
    GL20.glUseProgram(0);
}

From source file:com.xrbpowered.gl.res.shaders.StandardShader.java

License:Open Source License

@Override
protected void storeUniformLocations() {
    super.storeUniformLocations();
    normalMatrixLocation = GL20.glGetUniformLocation(pId, "normalMatrix");
    lightDirLocation = GL20.glGetUniformLocation(pId, "lightDirection");
    lightColorLocation = GL20.glGetUniformLocation(pId, "lightColor");
    ambientColorLocation = GL20.glGetUniformLocation(pId, "ambientColor");
    specPowerLocation = GL20.glGetUniformLocation(pId, "specPower");
    alphaLocation = GL20.glGetUniformLocation(pId, "alpha");
    timeLocation = GL20.glGetUniformLocation(pId, "time");
    initSamplers(SAMLER_NAMES);/*  ww w  .  j  a  v  a 2s.c om*/
}

From source file:com.xrbpowered.gl.res.shaders.StandardShader.java

License:Open Source License

private void setPointLights(int n, Vector3f[] positions, Vector4f[] colors, Vector3f[] att) {
    GL20.glUseProgram(pId);//from   www  .  jav a2s  . c om
    GL20.glUniform1i(GL20.glGetUniformLocation(pId, "numPointLights"), n);
    for (int i = 0; i < n; i++) {
        String s = String.format("pointLights[%d].", i);
        uniform(GL20.glGetUniformLocation(pId, s + "position"), positions[i]);
        uniform(GL20.glGetUniformLocation(pId, s + "att"), att[i]);
        uniform(GL20.glGetUniformLocation(pId, s + "color"), colors[i]);
    }
    GL20.glUseProgram(0);
}

From source file:com.xrbpowered.gl.res.shaders.StandardShader.java

License:Open Source License

private void setFog(float near, float far, Vector4f color) {
    GL20.glUseProgram(pId);/*from   w ww . ja va2 s .co  m*/
    GL20.glUniform1f(GL20.glGetUniformLocation(pId, "fogNear"), near);
    GL20.glUniform1f(GL20.glGetUniformLocation(pId, "fogFar"), far);
    uniform(GL20.glGetUniformLocation(pId, "fogColor"), color);
    GL20.glUseProgram(0);
}

From source file:com.xrbpowered.gl.res.SkyBox.java

License:Open Source License

public SkyBox(final Scene scene, String texturePathFormat) {
    texture = new CubeTexture(texturePathFormat);

    VertexInfo info = new VertexInfo().addAttrib("in_Position", 3);

    shader = new Shader(info, "sky_v.glsl", "sky_f.glsl") {
        private int projectionMatrixLocation;
        private int viewMatrixLocation;

        @Override/*from www  .ja  va 2 s  . c o m*/
        protected void storeUniformLocations() {
            projectionMatrixLocation = GL20.glGetUniformLocation(pId, "projectionMatrix");
            viewMatrixLocation = GL20.glGetUniformLocation(pId, "viewMatrix");
            GL11.glDepthMask(false);
        }

        @Override
        public void updateUniforms() {
            uniform(projectionMatrixLocation, scene.activeCamera.getProjection());
            uniform(viewMatrixLocation, scene.activeCamera.getFollowView());
            GL11.glDepthMask(true);
        }
    };

    cube = new StaticMesh(info,
            new float[] { -1.0f, 1.0f, -1.0f, -1.0f, -1.0f, -1.0f, 1.0f, -1.0f, -1.0f, 1.0f, -1.0f, -1.0f, 1.0f,
                    1.0f, -1.0f, -1.0f, 1.0f, -1.0f,

                    -1.0f, -1.0f, 1.0f, -1.0f, -1.0f, -1.0f, -1.0f, 1.0f, -1.0f, -1.0f, 1.0f, -1.0f, -1.0f,
                    1.0f, 1.0f, -1.0f, -1.0f, 1.0f,

                    1.0f, -1.0f, -1.0f, 1.0f, -1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f,
                    -1.0f, 1.0f, -1.0f, -1.0f,

                    -1.0f, -1.0f, 1.0f, -1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, -1.0f,
                    1.0f, -1.0f, -1.0f, 1.0f,

                    -1.0f, 1.0f, -1.0f, 1.0f, 1.0f, -1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, 1.0f, -1.0f, 1.0f,
                    1.0f, -1.0f, 1.0f, -1.0f,

                    -1.0f, -1.0f, -1.0f, -1.0f, -1.0f, 1.0f, 1.0f, -1.0f, -1.0f, 1.0f, -1.0f, -1.0f, -1.0f,
                    -1.0f, 1.0f, 1.0f, -1.0f, 1.0f },
            null);
}

From source file:com.xrbpowered.gl.scene.ActorPickerShader.java

License:Open Source License

@Override
protected void storeUniformLocations() {
    super.storeUniformLocations();
    objIdLocation = GL20.glGetUniformLocation(pId, "objId");
}

From source file:com.xrbpowered.gl.ui.UIShader.java

License:Open Source License

@Override
protected void storeUniformLocations() {
    alphaLocation = GL20.glGetUniformLocation(pId, "alpha");
    anchorLocation = GL20.glGetUniformLocation(pId, "anchor");
    screenSizeLocation = GL20.glGetUniformLocation(pId, "screenSize");
    GL20.glUseProgram(pId);//w w  w  .  ja  v  a 2  s  .c o m
    GL20.glUniform1i(GL20.glGetUniformLocation(pId, "tex"), 0);
    GL20.glUniform2f(screenSizeLocation, Display.getWidth(), Display.getHeight());
    GL20.glUseProgram(0);
}

From source file:cuchaz.jfxgl.prism.JFXGLContext.java

License:Open Source License

@Override
public int getUniformLocation(int programID, String name) {
    return GL20.glGetUniformLocation(programID, name);
}

From source file:de.ikosa.mars.viewer.glviewer.engine.GLShader.java

License:Open Source License

public GLShader(int programId, int vertexShaderId, int fragmentShaderId) {
    this.programId = programId;
    this.vertexShaderId = vertexShaderId;
    this.fragmentShaderId = fragmentShaderId;

    use();/*from  w  w  w .j  a v  a 2s . co m*/

    // save uniform positions
    ul_col_Ambient = GL20.glGetUniformLocation(programId, "col_Ambient");
    ul_col_Diffuse = GL20.glGetUniformLocation(programId, "col_Diffuse");
    ul_col_Specular = GL20.glGetUniformLocation(programId, "col_Specular");

    ul_val_SpecularCoefficient = GL20.glGetUniformLocation(programId, "val_SpecularCoefficient");

    ul_mat_Projection = GL20.glGetUniformLocation(programId, "mat_Projection");
    ul_mat_View = GL20.glGetUniformLocation(programId, "mat_View");
    ul_mat_Model = GL20.glGetUniformLocation(programId, "mat_Model");

    ul_mat_Normal = GL20.glGetUniformLocation(programId, "mat_Normal");

    ul_PixelSizeH = GL20.glGetUniformLocation(programId, "pixelSizeH");
    ul_PixelSizeV = GL20.glGetUniformLocation(programId, "pixelSizeV");

    ul_val_drawModifier = GL20.glGetUniformLocation(programId, "val_drawModifier");

    int texSlot = 0;

    int ul_tex_Diffuse = GL20.glGetUniformLocation(programId, "tex_Diffuse");
    if (ul_tex_Diffuse >= 0) {
        tiu_Diffuse = texSlot++;
        GL20.glUniform1i(ul_tex_Diffuse, tiu_Diffuse);
    } else {
        tiu_Diffuse = -1;
    }

    int ul_tex_Color0 = GL20.glGetUniformLocation(programId, "tex_Color0");
    if (ul_tex_Color0 >= 0) {
        tiu_Color0 = texSlot++;
        GL20.glUniform1i(ul_tex_Color0, tiu_Color0);
    } else {
        tiu_Color0 = -1;
    }

    int ul_tex_Depth = GL20.glGetUniformLocation(programId, "tex_Depth");
    if (ul_tex_Depth >= 0) {
        tiu_Depth = texSlot++;
        GL20.glUniform1i(ul_tex_Depth, tiu_Depth);
    } else {
        tiu_Depth = -1;
    }

    int error = GL11.glGetError();
}