Example usage for org.lwjgl.opengl GL20 glGetShaderInfoLog

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

Introduction

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

Prototype

public static void glGetShaderInfoLog(@NativeType("GLuint") int shader,
        @Nullable @NativeType("GLsizei *") int[] length, @NativeType("GLchar *") ByteBuffer infoLog) 

Source Link

Document

Array version of: #glGetShaderInfoLog GetShaderInfoLog

Usage

From source file:com.badlogic.gdx.backends.lwjgl.LwjglGL20.java

License:Apache License

public String glGetShaderInfoLog(int shader) {
    ByteBuffer buffer = ByteBuffer.allocateDirect(1024 * 10);
    buffer.order(ByteOrder.nativeOrder());
    ByteBuffer tmp = ByteBuffer.allocateDirect(4);
    tmp.order(ByteOrder.nativeOrder());
    IntBuffer intBuffer = tmp.asIntBuffer();

    GL20.glGetShaderInfoLog(shader, intBuffer, buffer);
    int numBytes = intBuffer.get(0);
    byte[] bytes = new byte[numBytes];
    buffer.get(bytes);/*from   w  w w.j  a  v a 2 s.  c  o m*/
    return new String(bytes);
}

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

License:Apache License

private static void printLogInfo(int obj) {
    IntBuffer intBuffer = BufferUtils.createIntBuffer(1);
    GL20.glGetShader(obj, GL20.GL_INFO_LOG_LENGTH, intBuffer);

    int length = intBuffer.get();

    if (length <= 1) {
        return;// ww w  .ja v a 2  s . c  om
    }

    ByteBuffer infoBuffer = BufferUtils.createByteBuffer(length);
    intBuffer.flip();

    GL20.glGetShaderInfoLog(obj, intBuffer, infoBuffer);

    int actualLength = intBuffer.get();
    byte[] infoBytes = new byte[actualLength];
    infoBuffer.get(infoBytes);

    Blockmania.getInstance().getLogger().log(Level.INFO, "{0}", new String(infoBytes));
}

From source file:engine.render.Shader.AbstractShader.java

public int loadShader(String filePath, int type) {
    Integer id = loadedShaders.get(filePath);
    if (id != null) {

        //return id;

    }//from  www.  j  a  v  a  2s  . c o  m

    int shader;
    shader = glCreateShader(type);
    StringBuilder fragmentShaderSource = new StringBuilder();

    try {
        String line;
        BufferedReader reader = new BufferedReader(new FileReader(filePath));
        while ((line = reader.readLine()) != null) {
            fragmentShaderSource.append(line).append("\n");
        }
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }

    glShaderSource(shader, fragmentShaderSource);
    glCompileShader(shader);
    if (glGetShaderi(shader, GL_COMPILE_STATUS) == GL_FALSE) {

        IntBuffer infoLogLength = BufferUtils.createIntBuffer(1);
        GL20.glGetShader(programID, GL20.GL_INFO_LOG_LENGTH, infoLogLength);
        ByteBuffer infoLog = BufferUtils.createByteBuffer(infoLogLength.get(0));
        infoLogLength.clear();

        GL20.glGetShaderInfoLog(programID, infoLogLength, infoLog);
        byte[] infoLogBytes = new byte[infoLogLength.get(0)];
        infoLog.get(infoLogBytes, 0, infoLogLength.get(0));
        String v = new String(infoLogBytes, Charset.forName("UTF-8"));
        System.out.println(infoLogBytes.length);
        System.out.println(v);
        System.err.println(filePath + " not compiled");

    }
    glAttachShader(programID, shader);
    loadedShaders.put(filePath, shader);
    return shader;
}

From source file:engine.render.Shader.Shader.java

public void loadShaderFromFile(String path, int type) {
    int fragmentShader;
    programID = glCreateProgram();/*from   ww  w .ja  v a2 s.c  o  m*/
    fragmentShader = glCreateShader(type);
    StringBuilder fragmentShaderSource = new StringBuilder();

    try {
        String line;
        BufferedReader reader = new BufferedReader(new FileReader(path));
        while ((line = reader.readLine()) != null) {
            fragmentShaderSource.append(line).append("\n");
        }
    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }

    glShaderSource(fragmentShader, fragmentShaderSource);
    glCompileShader(fragmentShader);
    if (glGetShaderi(fragmentShader, GL_COMPILE_STATUS) == GL_FALSE) {

        IntBuffer infoLogLength = BufferUtils.createIntBuffer(1);
        GL20.glGetShader(programID, GL20.GL_INFO_LOG_LENGTH, infoLogLength);
        ByteBuffer infoLog = BufferUtils.createByteBuffer(infoLogLength.get(0));
        infoLogLength.clear();

        GL20.glGetShaderInfoLog(programID, infoLogLength, infoLog);
        byte[] infoLogBytes = new byte[infoLogLength.get(0)];
        infoLog.get(infoLogBytes, 0, infoLogLength.get(0));
        String v = new String(infoLogBytes, Charset.forName("UTF-8"));
        System.out.println(infoLogBytes.length);
        System.out.println(v);
        System.err.println(path + " not compiled");

    }

    glAttachShader(programID, fragmentShader);
    glLinkProgram(programID);
    glValidateProgram(programID);
}

From source file:net.neilcsmith.praxis.video.opengl.internal.ShaderProgram.java

License:Apache License

private String getShaderInfoLog(int shader) {
    ByteBuffer buffer = ByteBuffer.allocateDirect(1024 * 10);
    buffer.order(ByteOrder.nativeOrder());
    ByteBuffer tmp = ByteBuffer.allocateDirect(4);
    tmp.order(ByteOrder.nativeOrder());
    IntBuffer intBuffer = tmp.asIntBuffer();

    GL20.glGetShaderInfoLog(shader, intBuffer, buffer);
    int numBytes = intBuffer.get(0);
    byte[] bytes = new byte[numBytes];
    buffer.get(bytes);/*from   w  ww .  j a  va 2 s . co  m*/
    return new String(bytes);
}

From source file:org.oscim.gdx.LwjglGL20.java

License:Apache License

public String getShaderInfoLog(int shader) {
    ByteBuffer buffer = ByteBuffer.allocateDirect(1024 * 10);
    buffer.order(ByteOrder.nativeOrder());
    ByteBuffer tmp = ByteBuffer.allocateDirect(4);
    tmp.order(ByteOrder.nativeOrder());
    IntBuffer intBuffer = tmp.asIntBuffer();

    GL20.glGetShaderInfoLog(shader, intBuffer, buffer);
    int numBytes = intBuffer.get(0);
    byte[] bytes = new byte[numBytes];
    buffer.get(bytes);// w  w  w.  j a  v a  2  s.c o m
    return new String(bytes);
}

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

License:Apache License

private void verifyCompile(int shaderId) {
    IntBuffer intBuffer = BufferUtils.createIntBuffer(1);
    GL20.glGetShader(shaderId, GL20.GL_INFO_LOG_LENGTH, intBuffer);

    int length = intBuffer.get();

    if (length <= 1) {
        return;/*from   w  w w  .  j ava 2s  .  co m*/
    }

    valid = false;

    ByteBuffer infoBuffer = BufferUtils.createByteBuffer(length);
    intBuffer.flip();

    GL20.glGetShaderInfoLog(shaderId, intBuffer, infoBuffer);

    int actualLength = intBuffer.get();
    byte[] infoBytes = new byte[actualLength];
    infoBuffer.get(infoBytes);

    logger.debug("{}", new String(infoBytes));
}

From source file:playn.java.JavaGL20.java

License:Apache License

@Override
public String glGetShaderInfoLog(int shader) {
    ByteBuffer buffer = ByteBuffer.allocateDirect(1024 * 10);
    buffer.order(ByteOrder.nativeOrder());
    ByteBuffer tmp = ByteBuffer.allocateDirect(4);
    tmp.order(ByteOrder.nativeOrder());
    IntBuffer intBuffer = tmp.asIntBuffer();

    GL20.glGetShaderInfoLog(shader, intBuffer, buffer);
    int numBytes = intBuffer.get(0);
    byte[] bytes = new byte[numBytes];
    buffer.get(bytes);/*  w  w  w.j  av a 2  s.  c o m*/
    return new String(bytes);
}

From source file:playn.java.JavaGL20.java

License:Apache License

@Override
public void glGetShaderInfoLog(int shader, int bufsize, IntBuffer length, ByteBuffer infolog) {
    GL20.glGetShaderInfoLog(shader, length, infolog);
}

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

License:Open Source License

public static void glGetShaderInfoLog(int a, IntBuffer b, ByteBuffer c) {
    GL20.glGetShaderInfoLog(a, b, c);
}