Example usage for org.lwjgl.opengl GL20 glCreateProgram

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

Introduction

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

Prototype

@NativeType("GLuint")
public static int glCreateProgram() 

Source Link

Document

Creates a program object.

Usage

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

License:Apache License

/**
 * {@inheritDoc}
 */
@Override
public int glCreateProgram() {
    return GL20.glCreateProgram();
}

From source file:br.com.perin.shaders.ShaderProgram.java

public ShaderProgram(String vertexFile, String fragmentFile) {
    vertexShaderId = loadShader(vertexFile, GL20.GL_VERTEX_SHADER);
    fragmentShaderId = loadShader(fragmentFile, GL20.GL_FRAGMENT_SHADER);
    programId = GL20.glCreateProgram();
    GL20.glAttachShader(programId, vertexShaderId);
    GL20.glAttachShader(programId, fragmentShaderId);
    bindAttributes();/*from   w w w .j a  va2  s  .  c  o m*/
    GL20.glLinkProgram(programId);
    GL20.glValidateProgram(programId);
}

From source file:com.adavr.player.globjects.Program.java

License:Open Source License

public static Program create() {
    int id = GL20.glCreateProgram();
    return new Program(id);
}

From source file:com.auroraengine.opengl.shaders.GLProgram.java

License:Open Source License

@Override
public void forceCreate() throws GLException {
    if (index != 0) {
        index = GL20.glCreateProgram();
        if (index == 0) {
            throw new GLException("Couldn't create program object.");
        }/*  w  w  w.j  av  a 2s  .  c o  m*/
        try {
            vertex.create(this);
            fragment.create(this);
        } catch (GLException ex) {
            GL20.glDeleteProgram(index);
            throw ex;
        }
        GL20.glAttachShader(index, vertex.index);
        GL20.glAttachShader(index, fragment.index);
        GLException.checkGL("Attaching Shaders");
        // glBindAttribLocation
        GL20.glLinkProgram(index);
        GLException.checkGL("Linking Program");
    }
}

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

License:Apache License

public int glCreateProgram() {
    return GL20.glCreateProgram();
}

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

License:MIT License

@Override
public void create() {
    checkNotCreated();//from   w w w.  j a va  2s . c  om
    // Create program
    id = GL20.glCreateProgram();
    // Update the state
    super.create();
}

From source file:com.geekyaubergine.geekyjgameutil.shader.ShaderProgram.java

License:Open Source License

@Override
public void loadResource() throws IOException {
    vertexShaderID = loadShaderFile(vertexShaderFile, GL20.GL_VERTEX_SHADER);
    fragmentShaderID = loadShaderFile(fragmentShaderFile, GL20.GL_FRAGMENT_SHADER);
    programID = GL20.glCreateProgram();
    GL20.glAttachShader(programID, vertexShaderID);
    GL20.glAttachShader(programID, fragmentShaderID);

    bindAttributes();//  w  w w .  j  a va2  s.com

    GL20.glLinkProgram(programID);
    GL20.glValidateProgram(programID);
}

From source file:com.github.begla.blockmania.rendering.manager.ShaderManager.java

License:Apache License

private void initShaders() {
    _preProcessorPreamble += ((Boolean) ConfigurationManager.getInstance().getConfig()
            .get("Graphics.animatedWaterAndGrass")) ? "#define ANIMATED_WATER_AND_GRASS \n" : "";
    _preProcessorPreamble += "#define GAMMA "
            + ConfigurationManager.getInstance().getConfig().get("Graphics.gamma").toString() + "\n";

    createShader("sky_vert.glsl", "sky", GL20.GL_VERTEX_SHADER);
    createShader("sky_frag.glsl", "sky", GL20.GL_FRAGMENT_SHADER);
    createShader("chunk_vert.glsl", "chunk", GL20.GL_VERTEX_SHADER);
    createShader("chunk_frag.glsl", "chunk", GL20.GL_FRAGMENT_SHADER);
    createShader("particle_vert.glsl", "particle", GL20.GL_VERTEX_SHADER);
    createShader("particle_frag.glsl", "particle", GL20.GL_FRAGMENT_SHADER);
    createShader("block_vert.glsl", "block", GL20.GL_VERTEX_SHADER);
    createShader("block_frag.glsl", "block", GL20.GL_FRAGMENT_SHADER);
    createShader("gelatinousCube_vert.glsl", "gelatinousCube", GL20.GL_VERTEX_SHADER);
    createShader("gelatinousCube_frag.glsl", "gelatinousCube", GL20.GL_FRAGMENT_SHADER);
    createShader("clouds_vert.glsl", "clouds", GL20.GL_VERTEX_SHADER);
    createShader("clouds_frag.glsl", "clouds", GL20.GL_FRAGMENT_SHADER);

    for (String s : _fragmentShader.keySet()) {
        int shaderProgram = GL20.glCreateProgram();

        GL20.glAttachShader(shaderProgram, _fragmentShader.get(s));
        GL20.glAttachShader(shaderProgram, _vertexShader.get(s));
        GL20.glLinkProgram(shaderProgram);
        GL20.glValidateProgram(shaderProgram);

        _shaderPrograms.put(s, shaderProgram);
    }//from w w w. j  a v  a 2s .c o m
}

From source file:com.github.begla.blockmania.rendering.ShaderManager.java

License:Apache License

private void initShaders() {
    createVertexShader("sky_vert.glsl", "sky");
    createFragShader("sky_frag.glsl", "sky");
    createVertexShader("chunk_vert.glsl", "chunk");
    createFragShader("chunk_frag.glsl", "chunk");
    createVertexShader("cloud_vert.glsl", "cloud");
    createFragShader("cloud_frag.glsl", "cloud");
    createVertexShader("particle_vert.glsl", "particle");
    createFragShader("particle_frag.glsl", "particle");

    for (FastMap.Entry<String, Integer> e = _fragmentShader.head(), end = _fragmentShader
            .tail(); (e = e.getNext()) != end;) {
        int shaderProgram = GL20.glCreateProgram();

        GL20.glAttachShader(shaderProgram, _fragmentShader.get(e.getKey()));
        GL20.glAttachShader(shaderProgram, _vertexShader.get(e.getKey()));
        GL20.glLinkProgram(shaderProgram);
        GL20.glValidateProgram(shaderProgram);

        _shaderPrograms.put(e.getKey(), shaderProgram);
    }//from w ww.j av  a  2  s  .c om
}

From source file:com.github.kajdreef.mazerunnermvn.MazeRunner.ShaderProgram.java

public void newShaderProgram(String vertexShaderLocation, String fragmentShaderLocation) {
    // Initialize the vertex Shader
    vertexId = compileShader(GL20.GL_VERTEX_SHADER, vertexShaderLocation);

    // Initialize the fragment shader
    fragmentId = compileShader(GL20.GL_FRAGMENT_SHADER, fragmentShaderLocation);

    programId = GL20.glCreateProgram();
    GL20.glAttachShader(programId, vertexId);
    GL20.glAttachShader(programId, fragmentId);

    // Position information will be attribute 0
    GL20.glBindAttribLocation(programId, 0, "in_Position");
    // Color information will be attribute 1
    GL20.glBindAttribLocation(programId, 1, "in_Color");
    // Texture information will be attribute 2
    GL20.glBindAttribLocation(programId, 2, "in_TextureCoord");

    GL20.glLinkProgram(programId);//  ww w .  j  av a2s .c  o  m
    GL20.glValidateProgram(programId);

    // Get matrices uniform locations
    projectionMatrixLocation = GL20.glGetUniformLocation(programId, "projectionMatrix");
    viewMatrixLocation = GL20.glGetUniformLocation(programId, "viewMatrix");
    modelMatrixLocation = GL20.glGetUniformLocation(programId, "modelMatrix");
}