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:ar.com.quark.backend.lwjgl.opengl.DesktopGLES20.java

License:Apache License

/**
 * {@inheritDoc}
 */
@Override
public void glAttachShader(int name, int shader) {
    GL20.glAttachShader(name, shader);
}

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();/*from  ww  w.  ja va 2s  . c  om*/
    GL20.glAttachShader(programId, vertexShaderId);
    GL20.glAttachShader(programId, fragmentShaderId);
    bindAttributes();
    GL20.glLinkProgram(programId);
    GL20.glValidateProgram(programId);
}

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

License:Open Source License

public void attachShader(Shader shader) {
    GL20.glAttachShader(id, shader.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();/*w w w  . j a  v a  2  s .  c  o  m*/
        if (index == 0) {
            throw new GLException("Couldn't create program object.");
        }
        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 void glAttachShader(int program, int shader) {
    GL20.glAttachShader(program, shader);
}

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

License:MIT License

@Override
public void attachShader(Shader shader) {
    checkCreated();//from  w  ww .j a  va2s . c  om
    // Attach the shader
    GL20.glAttachShader(id, shader.getID());
    // Check for errors
    LWJGLUtil.checkForGLError();
    // Add the shader to the set
    shaders.add(shader);
    // Add all attribute and texture layouts
    attributeLayouts.putAll(shader.getAttributeLayouts());
    textureLayouts.putAll(shader.getTextureLayouts());
}

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();/*from  ww  w . j  a v a 2s .  c o m*/
    GL20.glAttachShader(programID, vertexShaderID);
    GL20.glAttachShader(programID, fragmentShaderID);

    bindAttributes();

    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  www. j  ava  2  s  .  co  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 w w .  j  a  va2 s  .  co m*/
}

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();//w  ww .j  a va2 s.c  o m
    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);
    GL20.glValidateProgram(programId);

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