List of usage examples for com.badlogic.gdx.graphics.glutils ShaderProgram getLog
public String getLog()
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; }