Example usage for org.lwjgl.opengl GL20 glAttachShader

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

Introduction

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

Prototype

public static void glAttachShader(@NativeType("GLuint") int program, @NativeType("GLuint") int shader) 

Source Link

Document

Attaches a shader object to a program object.

Usage

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

License:Apache License

public int generateShaderInstance() {
    int shaderProgram = GL20.glCreateProgram();

    GL20.glAttachShader(shaderProgram, fragmentProgram);
    GL20.glAttachShader(shaderProgram, vertexProgram);
    GL20.glLinkProgram(shaderProgram);/*from w w w  .  ja  va  2s.  c o m*/
    if (GL20.glGetProgram(shaderProgram, GL20.GL_LINK_STATUS) == GL11.GL_FALSE) {
        logger.error("Failed to link shader {}.", GL20.glGetProgramInfoLog(shaderProgram, GL20.GL_LINK_STATUS));
        GL20.glDeleteProgram(shaderProgram);
        return 0;
    }
    GL20.glValidateProgram(shaderProgram);
    if (GL20.glGetProgram(shaderProgram, GL20.GL_VALIDATE_STATUS) == GL11.GL_FALSE) {
        logger.error("Failed to validate shader {}.",
                GL20.glGetProgramInfoLog(shaderProgram, GL20.GL_VALIDATE_STATUS));
        GL20.glDeleteProgram(shaderProgram);
        return 0;
    }
    return shaderProgram;
}

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

License:Apache License

public int linkShaderProgram(int featureHash) {
    int shaderProgram = GL20.glCreateProgram();

    GL20.glAttachShader(shaderProgram, fragmentPrograms.get(featureHash));
    GL20.glAttachShader(shaderProgram, vertexPrograms.get(featureHash));
    GL20.glLinkProgram(shaderProgram);//  w w w  . j av  a  2  s  . c  o m
    GL20.glValidateProgram(shaderProgram);
    return shaderProgram;
}

From source file:org.terasology.rendering.shader.ShaderProgram.java

License:Apache License

private void compileShaderProgram() {
    compileShader(GL20.GL_FRAGMENT_SHADER);
    compileShader(GL20.GL_VERTEX_SHADER);

    shaderProgram = GL20.glCreateProgram();

    GL20.glAttachShader(shaderProgram, fragmentProgram);
    GL20.glAttachShader(shaderProgram, vertexProgram);
    GL20.glLinkProgram(shaderProgram);//from  w w w .  j  a  v a2s .c  o  m
    GL20.glValidateProgram(shaderProgram);
}

From source file:ovh.tgrhavoc.gameengine.core.Shader.java

License:Open Source License

private void addProgram(String text, int type) {
    int shader = GL20.glCreateShader(type);
    if (shader == 0) {
        System.err.println("Could not find valid memory location when adding shader");
        System.exit(-1);//from   www  .  j  a v  a 2  s .c om
    }

    GL20.glShaderSource(shader, text);
    GL20.glCompileShader(shader);

    if (GL20.glGetShaderi(shader, GL20.GL_COMPILE_STATUS) == 0) {
        System.err.println(GL20.glGetShaderInfoLog(shader, 1024));
        System.exit(-1);
    }

    GL20.glAttachShader(pointer, shader);
}

From source file:playn.java.JavaGL20.java

License:Apache License

@Override
public void glAttachShader(int program, int shader) {
    GL20.glAttachShader(program, shader);
}

From source file:processing.lwjgl.PGL.java

License:Open Source License

public void attachShader(int prog, int shader) {
    GL20.glAttachShader(prog, shader);
}

From source file:renderEngine.ShaderProgram.java

/**
 * Creates a new instance of ShaderProgram, and links the program.
 *
 * @param vertexFile The relative location of the vertex shader file.
 * @param fragmentFile The relative location of the fragment shader file.
 *//*from   www .  jav  a 2 s  .  c  o m*/
public ShaderProgram(String vertexFile, String fragmentFile) {
    this.vertexShaderID = loadShader(vertexFile, GL20.GL_VERTEX_SHADER);
    this.fragmentShaderID = loadShader(fragmentFile, GL20.GL_FRAGMENT_SHADER);

    this.programID = GL20.glCreateProgram();
    GL20.glAttachShader(programID, vertexShaderID);
    GL20.glAttachShader(programID, fragmentShaderID);
    bindVariablesAndValidate();
}

From source file:se.angergard.engine.graphics.ShaderProgram.java

License:Apache License

private ShaderProgram addShader(String code, int type) {
    int shader = GL20.glCreateShader(type);
    GL20.glShaderSource(shader, code);/*from ww w . j  a va  2  s. c o  m*/
    GL20.glCompileShader(shader);

    if (type == GL20.GL_VERTEX_SHADER) {
        vertexShader = shader;
    }

    else if (type == GL20.GL_FRAGMENT_SHADER) {
        fragmentShader = shader;
    }

    else if (type == GL32.GL_GEOMETRY_SHADER) {
        geometryShader = shader;
    }

    String error = GL20.glGetShaderInfoLog(shader, GL20.GL_INFO_LOG_LENGTH);
    if (!error.equals("")) {
        System.out.println(error);
    }

    if (shader == -1) {
        System.err.println("Shader wasn't succsessfully created");
    }

    GL20.glAttachShader(program, shader);
    return this;
}

From source file:thebounzer.org.lwgldemo.glutils.ShaderProgram.java

License:Open Source License

private void compileShader(int programId, GenericShader shader) throws IOException {
    GL20.glShaderSource(shader.getShaderId(), shader.getSource());
    GL20.glCompileShader(shader.getShaderId());
    if (!validateCompilation(shader)) {
        throw new IOException("Shader compilation failed, see log!");
    }/*from  ww w  .j a v a2s  .  c  o  m*/
    GL20.glAttachShader(programId, shader.getShaderId());
}

From source file:tk.ivybits.engine.gl.GL.java

License:Open Source License

public static void glAttachShader(int a, int b) {
    GL20.glAttachShader(a, b);
}