Example usage for com.badlogic.gdx.graphics.glutils ShaderProgram getLog

List of usage examples for com.badlogic.gdx.graphics.glutils ShaderProgram getLog

Introduction

In this page you can find the example usage for com.badlogic.gdx.graphics.glutils ShaderProgram getLog.

Prototype

public String getLog() 

Source Link

Usage

From source file:com.anythingmachine.gdxwrapper.SpriteCache.java

License:Apache License

static ShaderProgram createDefaultShader() {
    if (!true)/*from  w  w  w .  ja  va  2 s .  co m*/
        return null;
    String vertexShader = "attribute vec4 " + ShaderProgram.POSITION_ATTRIBUTE + ";\n" //
            + "attribute vec4 " + ShaderProgram.COLOR_ATTRIBUTE + ";\n" //
            + "attribute vec2 " + ShaderProgram.TEXCOORD_ATTRIBUTE + "0;\n" //
            + "uniform mat4 u_projectionViewMatrix;\n" //
            + "varying vec4 v_color;\n" //
            + "varying vec2 v_texCoords;\n" //
            + "\n" //
            + "void main()\n" //
            + "{\n" //
            + "   v_color = " + ShaderProgram.COLOR_ATTRIBUTE + ";\n" //
            + "   v_texCoords = " + ShaderProgram.TEXCOORD_ATTRIBUTE + "0;\n" //
            + "   gl_Position =  u_projectionViewMatrix * " + ShaderProgram.POSITION_ATTRIBUTE + ";\n" //
            + "}\n";
    String fragmentShader = "#ifdef GL_ES\n" //
            + "precision mediump float;\n" //
            + "#endif\n" //
            + "varying vec4 v_color;\n" //
            + "varying vec2 v_texCoords;\n" //
            + "uniform sampler2D u_texture;\n" //
            + "void main()\n"//
            + "{\n" //
            + "  gl_FragColor = v_color * texture2D(u_texture, v_texCoords);\n" //
            + "}";
    ShaderProgram shader = new ShaderProgram(vertexShader, fragmentShader);
    if (shader.isCompiled() == false)
        throw new IllegalArgumentException("Error compiling shader: " + shader.getLog());
    return shader;
}

From source file:com.badlogic.gdx.tests.PremultiplyAlpha.java

private void gpuPremultiplyAlpha(String in, String out) {
    Texture texture = new Texture(Gdx.files.absolute(in));
    texture.setFilter(TextureFilter.Nearest, TextureFilter.Nearest);
    FrameBuffer buffer = new FrameBuffer(Format.RGBA8888, texture.getWidth(), texture.getHeight(), false);
    buffer.getColorBufferTexture().setFilter(TextureFilter.Nearest, TextureFilter.Nearest);
    ShaderProgram shader = new ShaderProgram(VERTEX_SHADER, FRAG_SHADER);
    Gdx.app.log("Log", shader.getLog());
    SpriteBatch batch = new SpriteBatch(10);
    batch.getProjectionMatrix().setToOrtho2D(0, 0, texture.getWidth(), texture.getHeight());
    batch.disableBlending();/*w  ww  . jav a2s. c om*/
    batch.setShader(shader);

    //Premultiply
    buffer.begin();
    Gdx.gl.glClearColor(0, 0, 0, 0);
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
    batch.begin();
    batch.draw(texture, 0, 0);
    batch.end();
    Pixmap pixmap = ScreenUtils.getFrameBufferPixmap(0, 0, texture.getWidth(), texture.getHeight());
    buffer.end();

    //Save
    PixmapIO.writePNG(Gdx.files.absolute(out), pixmap);
    buffer.dispose();
    texture.dispose();
    pixmap.dispose();
    Gdx.app.exit();
}

From source file:com.balloongame.handlers.CustomSpriteBatch.java

License:Apache License

/** Returns a new instance of the default shader used by SpriteBatch for GL2 when no shader is specified. */
static public ShaderProgram createDefaultShader() {
    String vertexShader = "attribute vec4 " + ShaderProgram.POSITION_ATTRIBUTE + ";\n" //
            + "attribute vec4 " + ShaderProgram.COLOR_ATTRIBUTE + ";\n" //
            + "attribute vec2 " + ShaderProgram.TEXCOORD_ATTRIBUTE + "0;\n" //
            + "uniform mat4 u_projTrans;\n" //
            + "varying vec4 v_color;\n" //
            + "varying vec2 v_texCoords;\n" //
            + "\n" //
            + "void main()\n" //
            + "{\n" //
            + "   v_color = " + ShaderProgram.COLOR_ATTRIBUTE + ";\n" //
            + "   v_texCoords = " + ShaderProgram.TEXCOORD_ATTRIBUTE + "0;\n" //
            + "   gl_Position =  u_projTrans * " + ShaderProgram.POSITION_ATTRIBUTE + ";\n" //
            + "}\n";
    String fragmentShader = "#ifdef GL_ES\n" //
            + "#define LOWP lowp\n" //
            + "precision mediump float;\n" //
            + "#else\n" //
            + "#define LOWP \n" //
            + "#endif\n" //
            + "varying LOWP vec4 v_color;\n" //
            + "varying vec2 v_texCoords;\n" //
            + "uniform sampler2D u_texture;\n" //
            + "void main()\n"//
            + "{\n" //
            + "  gl_FragColor = v_color * texture2D(u_texture, v_texCoords);\n" //
            + "}";

    ShaderProgram shader = new ShaderProgram(vertexShader, fragmentShader);
    if (shader.isCompiled() == false)
        throw new IllegalArgumentException("couldn't compile shader: " + shader.getLog());
    return shader;
}

From source file:com.bitfire.utils.ShaderLoader.java

License:Apache License

public static ShaderProgram fromString(String vertex, String fragment, String vertexName, String fragmentName,
        String defines) {/*from w ww  . j a  va  2  s .  c  om*/
    ShaderProgram.pedantic = ShaderLoader.Pedantic;
    ShaderProgram shader = new ShaderProgram(defines + "\n" + vertex, defines + "\n" + fragment);
    if (!shader.isCompiled()) {
        Gdx.app.error("ShaderLoader", shader.getLog());
        Gdx.app.exit();
    } else {
        if (defines != null && defines.length() > 0) {
            Gdx.app.log("ShaderLoader",
                    vertexName + "/" + fragmentName + " compiled w/ (" + defines.replace("\n", ", ") + ")");
        } else {
            Gdx.app.log("ShaderLoader", vertexName + "/" + fragmentName + " compiled!");
        }
    }

    return shader;
}

From source file:com.blastedstudios.ledge.ui.postprocessing.utils.ShaderLoader.java

License:Apache License

public static ShaderProgram fromString(String vertex, String fragment, String vertexName, String fragmentName,
        String defines) {//from   w w w .j  a  v a 2 s  .  c o  m
    ShaderProgram.pedantic = ShaderLoader.Pedantic;
    ShaderProgram shader = new ShaderProgram(defines + "\n" + vertex, defines + "\n" + fragment);

    if (!shader.isCompiled()) {
        Log.error("ShaderLoader", shader.getLog());
        System.exit(-1);
    }

    return shader;
}

From source file:com.cyphercove.doublehelix.MainRenderer.java

License:Apache License

private ShaderProgram loadShaderProgram(final String prefix) {
    String vert = Gdx.files.internal(prefix + "_vs.glsl").readString();
    String frag = Gdx.files.internal(prefix + "_fs.glsl").readString();
    ShaderProgram program = new ShaderProgram(vert, frag);
    if (!program.isCompiled())
        Gdx.app.log("Shader error", program.getLog());
    return program;
}

From source file:com.cyphercove.doublehelix.ParticleGroupStrategy.java

License:Apache License

private ShaderProgram loadShader(String prefix) {
    String vert = Gdx.files.internal(prefix + "_vs.glsl").readString();
    String frag = Gdx.files.internal(prefix + "_fs.glsl").readString();
    ShaderProgram shaderProgram = new ShaderProgram(vert, frag);
    if (!shaderProgram.isCompiled())
        Gdx.app.log("Shader error", shaderProgram.getLog());
    return shaderProgram;
}

From source file:com.deepwallgames.quantumhue.ImmediateModeShader30.java

License:Apache License

/** Returns a new instance of the default shader used by SpriteBatch for GL2 when no shader is specified. */
static public ShaderProgram createDefaultShader(boolean hasNormals, boolean hasColors, int numTexCoords) {
    String vertexShader = createVertexShader(hasNormals, hasColors, numTexCoords);
    String fragmentShader = createFragmentShader(hasNormals, hasColors, numTexCoords);
    ShaderProgram program = new ShaderProgram(vertexShader, fragmentShader);
    if (program.isCompiled() == false)
        throw new IllegalArgumentException("Error compiling shapeRenderer shader: " + program.getLog());
    return program;
}

From source file:com.doom.render.QuadBatch.java

License:Apache License

/** Returns a new instance of the default shader used by SpriteBatch for GL2 when no shader is specified. */
static public ShaderProgram createDefaultShader() {
    String vertexShader = "attribute vec4 " + ShaderProgram.POSITION_ATTRIBUTE + ";\n" //
            + "attribute vec4 " + ShaderProgram.COLOR_ATTRIBUTE + ";\n" //
            + "attribute vec2 " + ShaderProgram.TEXCOORD_ATTRIBUTE + "0;\n" //
            + "uniform mat4 u_projTrans;\n" //
            + "varying vec4 v_color;\n" //
            + "varying vec2 v_texCoords;\n" //
            + "\n" //
            + "void main()\n" //
            + "{\n" //
            + "   v_color = " + ShaderProgram.COLOR_ATTRIBUTE + ";\n" //
            + "   v_texCoords = " + ShaderProgram.TEXCOORD_ATTRIBUTE + "0;\n" //
            + "   gl_Position =  u_projTrans * " + ShaderProgram.POSITION_ATTRIBUTE + ";\n" //
            + "}\n";
    String fragmentShader = "#ifdef GL_ES\n" //
            + "#define LOWP lowp\n" //
            + "precision mediump float;\n" //
            + "#else\n" //
            + "#define LOWP \n" //
            + "#endif\n" //
            + "varying LOWP vec4 v_color;\n" //
            + "varying vec2 v_texCoords;\n" //
            + "uniform sampler2D u_texture;\n" //
            + "void main()\n"//
            + "{\n" //
            + "  gl_FragColor = texture2D(u_texture, v_texCoords) * v_color;\n" //
            + "}";

    ShaderProgram shader = new ShaderProgram(vertexShader, fragmentShader);
    if (shader.isCompiled() == false)
        throw new IllegalArgumentException("Error compiling shader: " + shader.getLog());
    return shader;
}

From source file:com.esotericsoftware.spine.utils.TwoColorPolygonBatch.java

License:Open Source License

private ShaderProgram createDefaultShader() {
    String vertexShader = "attribute vec4 a_position;\n" //
            + "attribute vec4 a_light;\n" //
            + "attribute vec4 a_dark;\n" //
            + "attribute vec2 a_texCoord0;\n" //
            + "uniform mat4 u_projTrans;\n" //
            + "varying vec4 v_light;\n" //
            + "varying vec4 v_dark;\n" //
            + "varying vec2 v_texCoords;\n" //
            + "\n" //
            + "void main()\n" //
            + "{\n" //
            + "   v_light = a_light;\n" //
            + "   v_light.a = v_light.a * (255.0/254.0);\n" //
            + "   v_dark = a_dark;\n" //
            + "   v_texCoords = a_texCoord0;\n" //
            + "   gl_Position =  u_projTrans * a_position;\n" //
            + "}\n";
    String fragmentShader = "#ifdef GL_ES\n" //
            + "#define LOWP lowp\n" //
            + "precision mediump float;\n" //
            + "#else\n" //
            + "#define LOWP \n" //
            + "#endif\n" //
            + "varying LOWP vec4 v_light;\n" //
            + "varying LOWP vec4 v_dark;\n" //
            + "uniform float u_pma;\n" //
            + "varying vec2 v_texCoords;\n" //
            + "uniform sampler2D u_texture;\n" //
            + "void main()\n"//
            + "{\n" //
            + "  vec4 texColor = texture2D(u_texture, v_texCoords);\n" //
            + "  gl_FragColor.a = texColor.a * v_light.a;\n" //
            + "  gl_FragColor.rgb = ((texColor.a - 1.0) * u_pma + 1.0 - texColor.rgb) * v_dark.rgb + texColor.rgb * v_light.rgb;\n" //
            + "}";

    ShaderProgram shader = new ShaderProgram(vertexShader, fragmentShader);
    if (shader.isCompiled() == false)
        throw new IllegalArgumentException("Error compiling shader: " + shader.getLog());
    return shader;
}