Example usage for org.lwjgl.opengl GL20 glCreateShader

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

Introduction

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

Prototype

@NativeType("GLuint")
public static int glCreateShader(@NativeType("GLenum") int type) 

Source Link

Document

Creates a shader object.

Usage

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

License:Apache License

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

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

private static int loadShader(String file, int type) {
    StringBuilder shaderSource = new StringBuilder();
    try (BufferedReader reader = new BufferedReader(new FileReader(file))) {
        String line;//w w w  . java 2s. co m
        while ((line = reader.readLine()) != null) {
            shaderSource.append(line).append("//\n");
        }
    } catch (IOException e) {
        e.printStackTrace();
        System.exit(-1);
    }
    int shaderID = GL20.glCreateShader(type);
    GL20.glShaderSource(shaderID, shaderSource);
    GL20.glCompileShader(shaderID);
    if (GL20.glGetShaderi(shaderID, GL20.GL_COMPILE_STATUS) == GL11.GL_FALSE) {
        System.out.println(GL20.glGetShaderInfoLog(shaderID, 500));
        System.err.println("Could not compile shader!");
        System.exit(-1);
    }
    return shaderID;
}

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

License:Open Source License

public static Shader compile(CharSequence source, int type) {
    int id = GL20.glCreateShader(type);
    GL20.glShaderSource(id, source);//from   w  w w  .  java2  s .c  om
    GL20.glCompileShader(id);
    return new Shader(id);
}

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

License:Open Source License

@Override
protected void forceCreate() throws GLException {
    if (index == 0) {
        index = GL20.glCreateShader(type.gl_type);
        if (index == 0) {
            throw new GLException("Failed to create shader!");
        }//  www  .j  av a 2s . c om
        compile();
    }
}

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

License:Apache License

public int glCreateShader(int type) {
    return GL20.glCreateShader(type);
}

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

License:MIT License

@Override
public void setSource(ShaderSource source) {
    checkCreated();/*from  w ww .jav  a2  s  . c om*/
    if (source == null) {
        throw new IllegalArgumentException("Shader source cannot be null");
    }
    if (!source.isComplete()) {
        throw new IllegalArgumentException("Shader source isn't complete");
    }
    // If we don't have a previous shader or the type isn't the same, we need to create a new one
    final ShaderType type = source.getType();
    if (id == 0 || this.type != type) {
        // Delete the old shader
        GL20.glDeleteShader(id);
        // Create a shader of the correct type
        id = GL20.glCreateShader(type.getGLConstant());
        // Store the current type
        this.type = type;
    }
    // Upload the new source
    GL20.glShaderSource(id, source.getSource());
    // Set the layouts from the source
    attributeLayouts.clear();
    attributeLayouts.putAll(source.getAttributeLayouts());
    textureLayouts.clear();
    textureLayouts.putAll(source.getTextureLayouts());
    // Check for errors
    LWJGLUtil.checkForGLError();
}

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

License:Open Source License

/**
 * Loads shader program from file and returns the shader ID
 * @param file File to read// w  w w.j  a  v  a 2  s  .c o  m
 * @param type Type of shader
 * @return Shader ID
 * @throws IOException
 */
private int loadShaderFile(File file, int type) throws IOException {
    List<String> lines = FileUtil.readLinesFromFile(file, false, true);
    StringBuilder shaderSource = new StringBuilder();
    for (String line : lines) {
        shaderSource.append(line).append("\n");
    }

    int shaderID = GL20.glCreateShader(type);
    GL20.glShaderSource(shaderID, shaderSource);
    GL20.glCompileShader(shaderID);
    if (GL20.glGetShaderi(shaderID, GL20.GL_COMPILE_STATUS) == GL11.GL_FALSE) {
        Log.error("Could not complile shader");
        Log.error(GL20.glGetShaderInfoLog(shaderID, 500));
    }
    return shaderID;
}

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

License:Apache License

private int createShader(String filename, String title, int type) {
    Blockmania.getInstance().getLogger().log(Level.INFO, "Loading shader {0} ({1}, type = {2})",
            new String[] { title, filename, String.valueOf(type) });

    HashMap<String, Integer> shaders;

    if (type == GL20.GL_FRAGMENT_SHADER) {
        shaders = _fragmentShader;/*w w  w .j  a v  a  2  s.c  o m*/
    } else if (type == GL20.GL_VERTEX_SHADER) {
        shaders = _vertexShader;
    } else {
        return 0;
    }

    shaders.put(title, GL20.glCreateShader(type));

    if (shaders.get(title) == 0) {
        return 0;
    }

    String fragCode = _preProcessorPreamble + "\n";
    String line;
    try {
        BufferedReader reader = new BufferedReader(new InputStreamReader(ResourceLoader
                .getResource("com/github/begla/blockmania/data/shaders/" + filename).openStream()));
        while ((line = reader.readLine()) != null) {
            fragCode += line + "\n";
        }
    } catch (Exception e) {
        Blockmania.getInstance().getLogger().log(Level.SEVERE, "Failed to read shader.");
        return 0;
    }

    GL20.glShaderSource(shaders.get(title), fragCode);
    GL20.glCompileShader(shaders.get(title));

    printLogInfo(shaders.get(title));

    return shaders.get(title);
}

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

License:Apache License

private int createFragShader(String filename, String title) {

    _fragmentShader.put(title, GL20.glCreateShader(GL20.GL_FRAGMENT_SHADER));

    if (_fragmentShader.get(title) == 0) {
        return 0;
    }/* w w w.  j  a  va 2  s .c  o m*/

    String fragCode = "";
    String line;
    try {
        BufferedReader reader = new BufferedReader(new InputStreamReader(ResourceLoader
                .getResource("com/github/begla/blockmania/data/shaders/" + filename).openStream()));
        while ((line = reader.readLine()) != null) {
            fragCode += line + "\n";
        }
    } catch (Exception e) {
        Blockmania.getInstance().getLogger().log(Level.SEVERE, "Failed to read fragment shader.");
        return 0;
    }

    GL20.glShaderSource(_fragmentShader.get(title), fragCode);
    GL20.glCompileShader(_fragmentShader.get(title));

    printLogInfo(_fragmentShader.get(title));

    return _fragmentShader.get(title);
}

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

License:Apache License

private int createVertexShader(String filename, String title) {

    _vertexShader.put(title, GL20.glCreateShader(GL20.GL_VERTEX_SHADER));

    if (_vertexShader.get(title) == 0) {
        return 0;
    }/* w  w w.  j  a  va 2  s  . c  o m*/

    String fragCode = "";
    String line;
    try {
        BufferedReader reader = new BufferedReader(new InputStreamReader(ResourceLoader
                .getResource("com/github/begla/blockmania/data/shaders/" + filename).openStream()));
        while ((line = reader.readLine()) != null) {
            fragCode += line + "\n";
        }
    } catch (Exception e) {
        Blockmania.getInstance().getLogger().log(Level.SEVERE, "Failed to read vertex shader.");
        return 0;
    }

    GL20.glShaderSource(_vertexShader.get(title), fragCode);
    GL20.glCompileShader(_vertexShader.get(title));

    printLogInfo(_vertexShader.get(title));

    return _vertexShader.get(title);
}