List of usage examples for com.badlogic.gdx.graphics GL20 GL_ONE_MINUS_SRC_ALPHA
int GL_ONE_MINUS_SRC_ALPHA
To view the source code for com.badlogic.gdx.graphics GL20 GL_ONE_MINUS_SRC_ALPHA.
Click Source Link
From source file:com.kotcrab.vis.editor.module.physicseditor.PRenderer.java
License:Apache License
private void drawOrigin(Vector2 o, Vector2 nearestPoint) { Gdx.gl.glLineWidth(2);//from w w w .j ava2 s . com Gdx.gl.glEnable(GL20.GL_BLEND); Gdx.gl.glBlendFunc(GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA); float len = 0.03f * camera.getZoom(); float radius = 0.02f * camera.getZoom(); drawer.begin(ShapeRenderer.ShapeType.Line); drawer.setColor(ORIGIN_COLOR); drawer.line(o.x - len, o.y, o.x + len, o.y); drawer.line(o.x, o.y - len, o.x, o.y + len); drawer.end(); if (nearestPoint != o) { drawer.begin(ShapeType.Line); drawer.setColor(ORIGIN_COLOR); drawer.circle(o.x, o.y, radius, 20); drawer.end(); } else { drawer.begin(ShapeType.Filled); drawer.setColor(ORIGIN_COLOR); drawer.circle(o.x, o.y, radius, 20); drawer.end(); } }
From source file:com.kotcrab.vis.editor.module.physicseditor.PRenderer.java
License:Apache License
private void drawMouseSelection(float x1, float y1, float x2, float y2) { Gdx.gl.glLineWidth(3);/*w w w .j av a2 s . co m*/ Gdx.gl.glEnable(GL20.GL_BLEND); Gdx.gl.glBlendFunc(GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA); Rectangle rect = new Rectangle(Math.min(x1, x2), Math.min(y1, y2), Math.abs(x2 - x1), Math.abs(y2 - y1)); drawer.begin(ShapeType.Filled); drawer.setColor(MOUSESELECTION_FILL_COLOR); drawer.rect(rect.x, rect.y, rect.width, rect.height); drawer.end(); drawer.begin(ShapeType.Line); drawer.setColor(MOUSESELECTION_STROKE_COLOR); drawer.rect(rect.x, rect.y, rect.width, rect.height); drawer.end(); }
From source file:com.mob.client.artemis.systems.render.GridRenderingSystem.java
License:Open Source License
@Override protected void begin() { super.begin(); // Inicializamos el batch y lo necesario para renderizar Gdx.gl.glEnable(GL20.GL_BLEND);/*from ww w.j av a2 s . c o m*/ Gdx.gl.glBlendFunc(GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA); this.mCameraSystem.camera.update(); this.mShapeRenderer.setProjectionMatrix(this.mCameraSystem.camera.combined); this.mShapeRenderer.begin(); }
From source file:com.mob.dao.objects.Map.java
License:Open Source License
/** * Renders a map layer to it's internal FrameBuffer Object * * @param layer/*from www . j a v a 2 s . com*/ * @return void */ public void renderLayerToBuffer(int layer) { int width = (int) (Map.MAX_MAP_SIZE_WIDTH * Map.TILE_PIXEL_WIDTH); int height = (int) (Map.MAX_MAP_SIZE_HEIGHT * Map.TILE_PIXEL_HEIGHT); OrthographicCamera camera = new OrthographicCamera(width, height); camera.setToOrtho(true, width, height); FrameBuffer fbo = new FrameBuffer(Pixmap.Format.RGBA8888, width, height, false); SpriteBatch sb = new SpriteBatch(); sb.setProjectionMatrix(camera.combined); fbo.begin(); sb.enableBlending(); Gdx.gl.glBlendFuncSeparate(GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA, GL20.GL_ONE, GL20.GL_ONE_MINUS_SRC_ALPHA); Gdx.gl.glViewport(0, 0, width, height); Gdx.gl.glClearColor(0, 0, 0, 0); Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT); sb.begin(); this.renderLayer(sb, layer); sb.end(); fbo.end(); this.bufferedLayer = fbo.getColorBufferTexture(); }
From source file:com.mygdx.game.debugdrawers.NavMeshDebugDrawer.java
License:Apache License
public void drawNavMesh(MyShapeRenderer shapeRenderer, SpriteBatch spriteBatch, NavMesh navMesh, GameCharacter character, Bits visibleLayers, Camera camera, BitmapFont font) { this.visibleLayers = visibleLayers; this.shapeRenderer = shapeRenderer; this.navMesh = navMesh; if (shapeRenderer.isDrawing()) { shapeRenderer.end();/* w w w . j a v a 2 s. com*/ } Gdx.gl.glEnable(GL20.GL_BLEND); Gdx.gl.glBlendFunc(GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA); shapeRenderer.begin(MyShapeRenderer.ShapeType.Line); drawNavMeshTriangles(); if (character != null && character.steerer instanceof FollowPathSteerer) { FollowPathSteerer fpSteerer = (FollowPathSteerer) character.steerer; drawPathTriangles(fpSteerer.navMeshGraphPath, character.getCurrentTriangle()); if (fpSteerer.navMeshPointPath.getSize() > 0) { drawPathPoints(fpSteerer.navMeshPointPath); } drawClosestPointDebug(character); } shapeRenderer.end(); Gdx.gl.glDisable(GL20.GL_BLEND); drawNavMeshIndices(spriteBatch, camera, font); }
From source file:com.mygdx.game.simulation.Simulation.java
License:Apache License
private void populate() { ObjLoader objLoader = new ObjLoader(); for (int i = 0; i < MAX_SHIPS; i++) { shipModels[i] = objLoader.loadModel(Gdx.files.internal("data/ship.obj")); }// ww w. j a v a 2 s .co m invaderModel = objLoader.loadModel(Gdx.files.internal("data/invader.obj")); blockModel = objLoader.loadModel(Gdx.files.internal("data/block.obj")); shotModel = objLoader.loadModel(Gdx.files.internal("data/shot.obj")); final Texture shipTexture = new Texture(Gdx.files.internal("data/ship.png"), Format.RGB565, true); shipTexture.setFilter(TextureFilter.MipMap, TextureFilter.Linear); final Texture shipTexture2 = new Texture(Gdx.files.internal("data/ship.png"), Format.RGB565, true); shipTexture2.setFilter(TextureFilter.MipMap, TextureFilter.Linear); final Texture invaderTexture = new Texture(Gdx.files.internal("data/invader.png"), Format.RGB565, true); invaderTexture.setFilter(TextureFilter.MipMap, TextureFilter.Linear); for (int i = 0; i < MAX_SHIPS; i++) { shipModels[i].materials.get(0).set(TextureAttribute.createDiffuse(shipTexture)); } invaderModel.materials.get(0).set(TextureAttribute.createDiffuse(invaderTexture)); ((ColorAttribute) blockModel.materials.get(0).get(ColorAttribute.Diffuse)).color.set(0, 0, 1, 0.5f); blockModel.materials.get(0).set(new BlendingAttribute(GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA)); shotModel.materials.get(0).set(ColorAttribute.createDiffuse(1, 1, 0, 1f)); final Texture explosionTexture = new Texture(Gdx.files.internal("data/explode.png"), Format.RGBA4444, true); explosionTexture.setFilter(TextureFilter.MipMap, TextureFilter.Linear); final Mesh explosionMesh = new Mesh(true, 4 * 16, 6 * 16, new VertexAttribute(Usage.Position, 3, "a_position"), new VertexAttribute(Usage.TextureCoordinates, 2, "a_texCoord0")); float[] vertices = new float[4 * 16 * (3 + 2)]; short[] indices = new short[6 * 16]; int idx = 0; int index = 0; for (int row = 0; row < 4; row++) { for (int column = 0; column < 4; column++) { vertices[idx++] = 1; vertices[idx++] = 1; vertices[idx++] = 0; vertices[idx++] = 0.25f + column * 0.25f; vertices[idx++] = 0 + row * 0.25f; vertices[idx++] = -1; vertices[idx++] = 1; vertices[idx++] = 0; vertices[idx++] = 0 + column * 0.25f; vertices[idx++] = 0 + row * 0.25f; vertices[idx++] = -1; vertices[idx++] = -1; vertices[idx++] = 0; vertices[idx++] = 0f + column * 0.25f; vertices[idx++] = 0.25f + row * 0.25f; vertices[idx++] = 1; vertices[idx++] = -1; vertices[idx++] = 0; vertices[idx++] = 0.25f + column * 0.25f; vertices[idx++] = 0.25f + row * 0.25f; final int t = (4 * row + column) * 4; indices[index++] = (short) (t); indices[index++] = (short) (t + 1); indices[index++] = (short) (t + 2); indices[index++] = (short) (t); indices[index++] = (short) (t + 2); indices[index++] = (short) (t + 3); } } explosionMesh.setVertices(vertices); explosionMesh.setIndices(indices); Material explosionMeshMaterial = new Material( new BlendingAttribute(GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA), TextureAttribute.createDiffuse(explosionTexture)); explosionModel = new Model(); MeshPart meshPart = new MeshPart(); meshPart.id = "part1"; meshPart.offset = 0; meshPart.size = explosionMesh.getNumIndices(); meshPart.primitiveType = GL20.GL_TRIANGLES; meshPart.mesh = explosionMesh; NodePart partMaterial = new NodePart(); partMaterial.material = explosionMeshMaterial; partMaterial.meshPart = meshPart; Node node = new Node(); node.id = "node1"; node.parts.add(partMaterial); explosionModel.meshes.add(explosionMesh); explosionModel.materials.add(explosionMeshMaterial); explosionModel.nodes.add(node); explosionModel.meshParts.add(meshPart); explosionModel.manageDisposable(explosionMesh); for (int i = 0; i < MAX_SHIPS; i++) { ships[i] = new Ship(shipModels[i]); ships[i].transform.rotate(1, 0, 0, 180); } for (int row = 0; row < 4; row++) { for (int column = 0; column < 8; column++) { Invader invader = new Invader(invaderModel, -PLAYFIELD_MAX_X / 2 + column * 2f, 0, PLAYFIELD_MIN_Z + row * 2f); invaders.add(invader); } } for (int shield = 0; shield < 3; shield++) { blocks.add(new Block(blockModel, -10 + shield * 10 - 1, 0, -2)); blocks.add(new Block(blockModel, -10 + shield * 10 - 1, 0, -3)); blocks.add(new Block(blockModel, -10 + shield * 10 + 0, 0, -3)); blocks.add(new Block(blockModel, -10 + shield * 10 + 1, 0, -3)); blocks.add(new Block(blockModel, -10 + shield * 10 + 1, 0, -2)); } }
From source file:com.nsoft.boxuniverse.misc.BaseMaterial.java
License:Open Source License
public BaseMaterial(String name) { materialName = name;//from www . ja va 2 s . c o m material = materials.materials.get(name); t = new Texture(Gdx.files.internal(material.path)); RealMaterial = new Material(TextureAttribute.createDiffuse(t)); //Create GD3 Material if (material.hasAlpha) RealMaterial.set(new BlendingAttribute(GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA)); //Set Alpha worldmaterials.put(name, this); // Add Material System.out.println("New Material Created"); }
From source file:com.o2d.pkayjava.editor.plugins.ninepatch.EditingZone.java
License:Apache License
public void drawBg(Batch batch, float parentAlpha) { batch.end();// w w w . j a va 2 s .c o m Gdx.gl.glLineWidth(1.0f); Gdx.gl.glEnable(GL20.GL_BLEND); Gdx.gl.glBlendFunc(GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA); shapeRenderer.setProjectionMatrix(getStage().getCamera().combined); Matrix4 matrix = batch.getTransformMatrix(); shapeRenderer.setTransformMatrix(matrix); shapeRenderer.begin(ShapeRenderer.ShapeType.Filled); BG.a = parentAlpha; shapeRenderer.setColor(BG); shapeRenderer.rect(getX(), getY(), getWidth(), getHeight()); shapeRenderer.end(); Gdx.gl.glDisable(GL20.GL_BLEND); batch.begin(); batch.setColor(Color.WHITE.r, Color.WHITE.g, Color.WHITE.b, Color.WHITE.a * parentAlpha); }
From source file:com.o2d.pkayjava.editor.plugins.ninepatch.EditingZone.java
License:Apache License
public void drawSplits(Batch batch, float parentAlpha) { batch.end();/* w w w .j av a2s . c o m*/ Gdx.gl.glLineWidth(1.0f); Gdx.gl.glEnable(GL20.GL_BLEND); Gdx.gl.glBlendFunc(GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA); shapeRenderer.setProjectionMatrix(getStage().getCamera().combined); Matrix4 matrix = batch.getTransformMatrix(); shapeRenderer.setTransformMatrix(matrix); shapeRenderer.begin(ShapeRenderer.ShapeType.Line); // left, right, top , bottom Color guideColor = new Color(GUIDE_COLOR); guideColor.a *= parentAlpha; Color overColor = new Color(OVER_GUIDE_COLOR); overColor.a *= parentAlpha; splitPositions[0] = shift.x + getWidth() / 2f + (-texture.getRegionWidth() / 2f + splits[0]) * currZoom; splitPositions[1] = shift.x + getWidth() / 2f + (texture.getRegionWidth() / 2f - splits[1]) * currZoom; splitPositions[2] = shift.y + getHeight() / 2f + (texture.getRegionHeight() / 2 - splits[2]) * currZoom; splitPositions[3] = shift.y + getHeight() / 2f + (-texture.getRegionHeight() / 2 + splits[3]) * currZoom; if (mouseOverSplit == 0) shapeRenderer.setColor(overColor); else shapeRenderer.setColor(guideColor); shapeRenderer.line(getX() + splitPositions[0], getY(), getX() + splitPositions[0], getY() + getHeight()); if (mouseOverSplit == 1) shapeRenderer.setColor(overColor); else shapeRenderer.setColor(guideColor); shapeRenderer.line(getX() + splitPositions[1], getY(), getX() + splitPositions[1], getY() + getHeight()); if (mouseOverSplit == 2) shapeRenderer.setColor(overColor); else shapeRenderer.setColor(guideColor); shapeRenderer.line(getX(), getY() + splitPositions[2], getX() + getWidth(), getY() + splitPositions[2]); if (mouseOverSplit == 3) shapeRenderer.setColor(overColor); else shapeRenderer.setColor(guideColor); shapeRenderer.line(getX(), getY() + splitPositions[3], getX() + getWidth(), getY() + splitPositions[3]); shapeRenderer.end(); Gdx.gl.glDisable(GL20.GL_BLEND); batch.begin(); batch.setColor(Color.WHITE.r, Color.WHITE.g, Color.WHITE.b, Color.WHITE.a * parentAlpha); }
From source file:com.o2d.pkayjava.editor.view.ui.followers.PolygonFollower.java
License:Apache License
@Override public void draw(Batch batch, float parentAlpha) { if (polygonComponent != null && polygonComponent.vertices != null) { batch.end();//from w ww. j a v a 2 s . c om Gdx.gl.glLineWidth(1.7f); Gdx.gl.glEnable(GL20.GL_BLEND); Gdx.gl.glBlendFunc(GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA); shapeRenderer.setProjectionMatrix(getStage().getCamera().combined); Matrix4 matrix = batch.getTransformMatrix(); matrix.scale(pixelsPerWU / runtimeCamera.zoom, pixelsPerWU / runtimeCamera.zoom, 1f); shapeRenderer.setTransformMatrix(matrix); drawTriangulatedPolygons(); drawOutlines(); drawPoints(); Gdx.gl.glDisable(GL20.GL_BLEND); batch.begin(); } }