net.smert.frameworkgl.opengl.helpers.ShaderUniformHelper.java Source code

Java tutorial

Introduction

Here is the source code for net.smert.frameworkgl.opengl.helpers.ShaderUniformHelper.java

Source

/**
 * Copyright 2012 Jason Sorensen (sorensenj@smert.net)
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
 * the License. You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
 * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
 * specific language governing permissions and limitations under the License.
 */
package net.smert.frameworkgl.opengl.helpers;

import java.nio.FloatBuffer;
import java.nio.IntBuffer;
import org.lwjgl.opengl.GL20;

/**
 *
 * @author Jason Sorensen <sorensenj@smert.net>
 */
public class ShaderUniformHelper {

    public void getUniform(int programID, int uniformID, FloatBuffer values) {
        GL20.glGetUniformfv(programID, uniformID, values);
    }

    public void getUniform(int programID, int uniformID, IntBuffer values) {
        GL20.glGetUniformiv(programID, uniformID, values);
    }

    public int getUniformLocation(int programID, String uniformName) {
        return GL20.glGetUniformLocation(programID, uniformName);
    }

    public void setUniform(int uniformID, float value1) {
        GL20.glUniform1f(uniformID, value1);
    }

    public void setUniform(int uniformID, int value1) {
        GL20.glUniform1i(uniformID, value1);
    }

    public void setUniform(int uniformID, float value1, float value2) {
        GL20.glUniform2f(uniformID, value1, value2);
    }

    public void setUniform(int uniformID, int value1, int value2) {
        GL20.glUniform2f(uniformID, value1, value2);
    }

    public void setUniform(int uniformID, float value1, float value2, float value3) {
        GL20.glUniform3f(uniformID, value1, value2, value3);
    }

    public void setUniform(int uniformID, int value1, int value2, int value3) {
        GL20.glUniform3f(uniformID, value1, value2, value3);
    }

    public void setUniform(int uniformID, float value1, float value2, float value3, float value4) {
        GL20.glUniform4f(uniformID, value1, value2, value3, value4);
    }

    public void setUniform(int uniformID, int value1, int value2, int value3, int value4) {
        GL20.glUniform4f(uniformID, value1, value2, value3, value4);
    }

    public void setUniform(int uniformID, FloatBuffer values) {
        GL20.glUniform1fv(uniformID, values);
    }

    public void setUniform(int uniformID, IntBuffer values) {
        GL20.glUniform1iv(uniformID, values);
    }

    public void setUniformMatrix2(int uniformID, boolean transpose, FloatBuffer matrix) {
        GL20.glUniformMatrix2fv(uniformID, transpose, matrix);
    }

    public void setUniformMatrix3(int uniformID, boolean transpose, FloatBuffer matrix) {
        GL20.glUniformMatrix3fv(uniformID, transpose, matrix);
    }

    public void setUniformMatrix4(int uniformID, boolean transpose, FloatBuffer matrix) {
        GL20.glUniformMatrix4fv(uniformID, transpose, matrix);
    }

}