Example usage for org.lwjgl.opengl GL20 glGetProgramInfoLog

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

Introduction

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

Prototype

@NativeType("void")
public static String glGetProgramInfoLog(@NativeType("GLuint") int program,
        @NativeType("GLsizei") int maxLength) 

Source Link

Document

Returns the information log for 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  ww  .jav  a  2 s.  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:processing.lwjgl.PGL.java

License:Open Source License

public String getProgramInfoLog(int prog) {
    int len = GL20.glGetProgrami(prog, GL20.GL_INFO_LOG_LENGTH);
    return GL20.glGetProgramInfoLog(prog, len);
}

From source file:processing.lwjgl.PLWJGL.java

License:Open Source License

public String getProgramInfoLog(int program) {
    int len = GL20.glGetProgrami(program, GL20.GL_INFO_LOG_LENGTH);
    return GL20.glGetProgramInfoLog(program, len);
}

From source file:processing.opengl.PLWJGL.java

License:Open Source License

@Override
public String getProgramInfoLog(int program) {
    int len = GL20.glGetProgrami(program, GL20.GL_INFO_LOG_LENGTH);
    return GL20.glGetProgramInfoLog(program, len);
}

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

License:Apache License

/** Links the program and validates it
 * @return This ShaderProgram *///w ww  .j  a  va2  s  .  c  om
public ShaderProgram compileProgram() {
    GL20.glLinkProgram(program);

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

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

    GL20.glValidateProgram(program);

    if (vertexShader != -1) {
        GL20.glDetachShader(program, vertexShader);
        GL20.glDeleteShader(vertexShader);
    }
    if (fragmentShader != -1) {
        GL20.glDetachShader(program, fragmentShader);
        GL20.glDeleteShader(fragmentShader);
    }
    if (geometryShader != -1) {
        GL20.glDetachShader(program, geometryShader);
        GL20.glDeleteShader(geometryShader);
    }
    return this;
}

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

License:Open Source License

public static String glGetProgramInfoLog(int a, int b) {
    return GL20.glGetProgramInfoLog(a, b);
}

From source file:vertigo.graphics.lwjgl.ShaderUtils.java

License:Open Source License

public static int attachShaders(String vertexCode, String fragmentCode) throws Exception {
    int vertexShaderProgram;
    int fragmentShaderProgram;
    int shaderprogram;
    String log = "";

    vertexShaderProgram = compileShader(vertexCode, GL20.GL_VERTEX_SHADER);
    fragmentShaderProgram = compileShader(fragmentCode, GL20.GL_FRAGMENT_SHADER);

    shaderprogram = GL20.glCreateProgram();
    GL20.glAttachShader(shaderprogram, vertexShaderProgram);
    GL20.glAttachShader(shaderprogram, fragmentShaderProgram);
    GL20.glLinkProgram(shaderprogram);/*from w ww . j a  va2  s .c om*/

    //grab our info log
    String infoLog = GL20.glGetProgramInfoLog(shaderprogram,
            GL20.glGetProgrami(shaderprogram, GL20.GL_INFO_LOG_LENGTH));

    //if some log exists, append it 
    if (infoLog != null && infoLog.trim().length() != 0)
        log += infoLog;

    //if the link failed, throw some sort of exception
    if (GL20.glGetProgrami(shaderprogram, GL20.GL_LINK_STATUS) == GL11.GL_FALSE)
        throw new LWJGLException("Failure in linking program. Error log:\n" + infoLog);

    //detach and delete the shaders which are no longer needed
    GL20.glDetachShader(shaderprogram, vertexShaderProgram);
    GL20.glDetachShader(shaderprogram, fragmentShaderProgram);
    GL20.glDeleteShader(vertexShaderProgram);
    GL20.glDeleteShader(fragmentShaderProgram);

    GL20.glValidateProgram(shaderprogram);

    return shaderprogram;
}