List of usage examples for com.badlogic.gdx.graphics GL20 GL_DST_COLOR
int GL_DST_COLOR
To view the source code for com.badlogic.gdx.graphics GL20 GL_DST_COLOR.
Click Source Link
From source file:com.box2dLight.box2dLight.LightMap.java
License:Apache License
public void render(Matrix4 combined, float x1, float x2, float y1, float y2) { boolean needed = rayHandler.lightRenderedLastFrame > 0; // this way lot less binding if (needed && rayHandler.blur) gaussianBlur();// w w w . j av a 2 s .c o m if (lightMapDrawingDisabled) { return; } frameBuffer.getColorBufferTexture().bind(0); // at last lights are rendered over scene if (rayHandler.shadows) { final Color c = rayHandler.ambientLight; ShaderProgram shader = shadowShader; if (RayHandler.isDiffuse) { shader = diffuseShader; shader.begin(); Gdx.gl20.glBlendFunc(GL20.GL_DST_COLOR, GL20.GL_SRC_COLOR); shader.setUniformf("ambient", c.r, c.g, c.b, c.a); } else { shader.begin(); Gdx.gl20.glBlendFunc(GL20.GL_ONE, GL20.GL_ONE_MINUS_SRC_ALPHA); shader.setUniformf("ambient", c.r * c.a, c.g * c.a, c.b * c.a, 1f - c.a); } lightMapMesh.render(shader, GL20.GL_TRIANGLE_FAN); shader.end(); } else if (needed) { Gdx.gl.glBlendFunc(GL20.GL_SRC_ALPHA, GL20.GL_ONE); withoutShadowShader.begin(); // withoutShadowShader.setUniformi("u_texture", 0); lightMapMesh.render(withoutShadowShader, GL20.GL_TRIANGLE_FAN); withoutShadowShader.end(); } Gdx.gl20.glDisable(GL20.GL_BLEND); }
From source file:de.brainstormsoftworks.taloonerrl.render.Renderer.java
License:Open Source License
/** * sets the blending to a semi-transparent one */ public void setScreenBlendingAlpha() { spriteBatchScreen.setBlendFunction(GL20.GL_SRC_ALPHA, GL20.GL_DST_COLOR); }
From source file:es.eucm.ead.editor.components.EditorImageActor.java
License:Open Source License
protected void drawCollider(Batch batch) { if (getCollider() != null) { batch.end();/*from ww w. j av a2 s. c o m*/ Gdx.gl.glEnable(GL20.GL_BLEND); Gdx.gl.glBlendFunc(GL20.GL_ONE, GL20.GL_DST_COLOR); Gdx.gl.glBlendEquation(GL20.GL_FUNC_SUBTRACT); shapeRenderer.setProjectionMatrix(batch.getProjectionMatrix()); shapeRenderer.setTransformMatrix(batch.getTransformMatrix()); shapeRenderer.begin(ShapeType.Line); shapeRenderer.setColor(Color.WHITE); for (Polygon polygon : getCollider()) { float[] vertices = polygon.getVertices(); shapeRenderer.polygon(vertices); } shapeRenderer.end(); Gdx.gl.glBlendEquation(GL20.GL_FUNC_ADD); Gdx.gl.glDisable(GL20.GL_BLEND); batch.begin(); } }
From source file:es.eucm.ead.editor.view.widgets.groupeditor.Grouper.java
License:Open Source License
@Override protected void drawChildren(Batch batch, float parentAlpha) { batch.end();/* w w w.j ava 2 s . co m*/ Gdx.gl.glEnable(GL20.GL_BLEND); Gdx.gl.glBlendFunc(GL20.GL_ONE, GL20.GL_DST_COLOR); Gdx.gl.glBlendEquation(GL20.GL_FUNC_SUBTRACT); shapeRenderer.setColor(Color.WHITE); shapeRenderer.begin(ShapeType.Line); super.drawChildren(batch, parentAlpha); shapeRenderer.end(); Gdx.gl.glBlendEquation(GL20.GL_FUNC_ADD); Gdx.gl.glDisable(GL20.GL_BLEND); batch.begin(); }
From source file:es.eucm.ead.editor.view.widgets.groupeditor.Handles.java
License:Open Source License
@Override protected void drawChildren(Batch batch, float parentAlpha) { batch.end();//from w ww .j a v a 2 s . c om Gdx.gl.glEnable(GL20.GL_BLEND); Gdx.gl.glBlendFunc(GL20.GL_ONE, GL20.GL_DST_COLOR); Gdx.gl.glBlendEquation(GL20.GL_FUNC_SUBTRACT); shapeRenderer.setProjectionMatrix(batch.getProjectionMatrix()); shapeRenderer.setTransformMatrix(batch.getTransformMatrix()); shapeRenderer.begin(ShapeType.Line); shapeRenderer.setColor(Color.WHITE); shapeRenderer.line(handles[0].getX(), handles[0].getY(), handles[2].getX(), handles[2].getY()); shapeRenderer.line(handles[0].getX(), handles[0].getY(), handles[6].getX(), handles[6].getY()); shapeRenderer.line(handles[2].getX(), handles[2].getY(), handles[8].getX(), handles[8].getY()); shapeRenderer.line(handles[8].getX(), handles[8].getY(), handles[6].getX(), handles[6].getY()); shapeRenderer.end(); super.drawChildren(batch, parentAlpha); Gdx.gl.glBlendEquation(GL20.GL_FUNC_ADD); Gdx.gl.glDisable(GL20.GL_BLEND); batch.begin(); }
From source file:headmade.arttag.screens.ArtTagScreen.java
License:Apache License
public ArtTagScreen(DirectedGame game, String map) { super(game);// , new Stage(new ExtendViewport(MIN_WORLD_WIDTH, MIN_WORLD_HEIGHT), game.getBatch())); fpsLogger = new FPSLogger(); Player.instance.inventory.clear();/*from ww w . j av a2s . c o m*/ Player.instance.setControlArtCount(0); Player.instance.setArtScanCount(0); Player.instance.setArtViewCount(0); Player.instance.isMoveDown = false; Player.instance.isMoveUp = false; Player.instance.isMoveLeft = false; Player.instance.isMoveRight = false; camera = new OrthographicCamera(MIN_WORLD_WIDTH, MIN_WORLD_HEIGHT); ((OrthographicCamera) camera).zoom = 0.5f; // perspectiveCam = new PerspectiveCamera(67, Gdx.graphics.getWidth(), Gdx.graphics.getHeight()); // perspectiveCam.position.set(300f, 3000f, 1000f); // perspectiveCam.lookAt(300, 300, 0); // perspectiveCam.near = 0.1f; // perspectiveCam.far = 10000f; // perspectiveCam.update(); contactListener = new ArtTagContactListener(this); this.world = new World(new Vector2(0f, 0f), true); world.setContactListener(contactListener); world.setDestructionListener(new DestructionListener() { }); /** BOX2D LIGHT STUFF BEGIN */ rayHandler = new RayHandler(world); rayHandler.setAmbientLight(0.08f, 0.08f, 0.16f, 0.1f); rayHandler.setBlurNum(ArtTag.gameSettings.blur); rayHandler.diffuseBlendFunc.set(GL20.GL_DST_COLOR, GL20.GL_SRC_COLOR); // RayHandler.setGammaCorrection(true); RayHandler.useDiffuseLight(true); // rayHandler.setBlur(false); /** BOX2D LIGHT STUFF END */ shapeRenderer = new ShapeRenderer(); box2dDebugRenderer = new Box2DDebugRenderer(); inputController = new ArtTagInputController(game, this); jobDescActor = new Label("", Assets.instance.skin, "jobDesc"); imageActor = new Image(Assets.assetsManager.get(AssetTextures.animal4, Texture.class)); jobDescActor.setWrap(true); instructionsActor = new Label("Instructions", Assets.instance.skin, "info"); instructionsActor.setWrap(true); instructionsActor.setVisible(false); resultActor = new Label("Result", Assets.instance.skin, "scanner"); resultActor.setVisible(false); resultActor.setAlignment(Align.center); final Label scoreLabel = new Label("Your Score", Assets.instance.skin, "white"); final Label highscoreLabel = new Label("Highscore", Assets.instance.skin, "white"); final Label scoreActor = new Label("$" + Player.instance.getCash(), Assets.instance.skin, "dollar"); final Label highscoreActor = new Label("$" + ArtTag.highScore, Assets.instance.skin, "dollar"); Gdx.app.log(TAG, "camera.viewportWidth " + camera.viewportWidth + " Gdx.graphics.getWidth(): " + Gdx.graphics.getWidth()); rootTable = new Table(Assets.instance.skin); rootTable.setFillParent(true); rootTable.add(jobDescActor).pad(10f).width(camera.viewportWidth / ArtTag.UNIT_SCALE / 4); rootTable.add(imageActor).center().expand(); rootTable.add(instructionsActor).top().right().pad(10f).width(camera.viewportWidth / ArtTag.UNIT_SCALE / 4); rootTable.row(); rootTable.add(scoreLabel).left(); rootTable.add(); rootTable.add(highscoreLabel).right(); rootTable.row(); rootTable.add(scoreActor).left(); rootTable.add(resultActor).center().width(camera.viewportWidth / ArtTag.UNIT_SCALE / 4); rootTable.add(highscoreActor).right(); stage.addActor(rootTable); newJob(); MapUtils.loadMap(this, map != null ? map : AssetMaps.map1); final Loader<Sprite> loader = Assets.instance.getSpriterLoader(); drawer = new LibGdxDrawer(loader, game.getBatch(), shapeRenderer); final headmade.arttag.spriter.Player player = new headmade.arttag.spriter.Player( Assets.instance.getMaggieSpriterData()); player.setAnimation("run"); player.setScale(ArtTag.UNIT_SCALE * 0.8f); players.add(player); smokeEffect = new ParticleEffect(); smokeEffect.load(Gdx.files.internal(AssetParticles.smoke), Assets.instance.atlas); smokeEffect.scaleEffect(ArtTag.UNIT_SCALE); smokeEffectPool = new ParticleEffectPool(smokeEffect, 2, 4); }
From source file:org.bladecoder.bladeengine.model.Scene.java
License:Apache License
public void draw(SpriteBatch spriteBatch) { if (background != null) { spriteBatch.disableBlending();/*w ww .j a v a 2 s. co m*/ float x = 0; for (Texture tile : background) { spriteBatch.draw(tile, x, 0f); x += tile.getWidth(); } spriteBatch.enableBlending(); } for (Actor a : orderedActors) { if (a instanceof SpriteActor) ((SpriteActor) a).draw(spriteBatch); } for (SpriteActor a : fgActors) { a.draw(spriteBatch); } // Draw the light map if (lightMap != null) { // Multiplicative blending for light maps spriteBatch.setBlendFunction(GL20.GL_DST_COLOR, GL20.GL_ZERO); float x = 0; for (Texture tile : lightMap) { spriteBatch.draw(tile, x, 0f); x += tile.getWidth(); } spriteBatch.setBlendFunction(GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA); } if (overlay != null) { overlay.draw(spriteBatch); } if (EngineLogger.debugMode() && EngineLogger.getDebugLevel() == EngineLogger.DEBUG1) { StringBuilder sb = new StringBuilder(); for (Actor a : orderedActors) { Rectangle r = a.getBBox().getBoundingRectangle(); sb.setLength(0); sb.append(a.getId()); if (a.getState() != null) sb.append(".").append(a.getState()); // sb.append(" (").append((int) r.getX()).append(", "); // sb.append((int) r.getY()).append(", ").append((int) // r.getWidth()); // sb.append(", ").append((int) r.getHeight()).append(") "); EngineLogger.getDebugFont().draw(spriteBatch, sb.toString(), r.getX(), r.getY()); } } }