From 0d44e5c71d33707669a6bb891ea9a02982f144d3 Mon Sep 17 00:00:00 2001 From: gered Date: Wed, 17 Jul 2013 23:40:38 -0400 Subject: [PATCH] set blending material attribute to tile chunk alpha meshes --- src/com/blarg/gdx/tilemap3d/TileChunk.java | 4 ++-- src/com/blarg/gdx/tilemap3d/TileChunkMesh.java | 9 +++++++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/com/blarg/gdx/tilemap3d/TileChunk.java b/src/com/blarg/gdx/tilemap3d/TileChunk.java index b3fad6c..9eb2a9b 100644 --- a/src/com/blarg/gdx/tilemap3d/TileChunk.java +++ b/src/com/blarg/gdx/tilemap3d/TileChunk.java @@ -109,8 +109,8 @@ public class TileChunk extends TileContainer implements Disposable { for (int i = 0; i < numTiles; ++i) data[i] = new Tile(); - mesh = new TileChunkMesh(this); - alphaMesh = new TileChunkMesh(this); + mesh = new TileChunkMesh(this, false); + alphaMesh = new TileChunkMesh(this, true); } public void updateVertices(ChunkVertexGenerator generator) { diff --git a/src/com/blarg/gdx/tilemap3d/TileChunkMesh.java b/src/com/blarg/gdx/tilemap3d/TileChunkMesh.java index 46d4a4e..f8bb6d5 100644 --- a/src/com/blarg/gdx/tilemap3d/TileChunkMesh.java +++ b/src/com/blarg/gdx/tilemap3d/TileChunkMesh.java @@ -3,6 +3,7 @@ package com.blarg.gdx.tilemap3d; import com.badlogic.gdx.graphics.GL20; import com.badlogic.gdx.graphics.Mesh; import com.badlogic.gdx.graphics.g3d.Renderable; +import com.badlogic.gdx.graphics.g3d.materials.BlendingAttribute; import com.badlogic.gdx.graphics.g3d.materials.Material; import com.badlogic.gdx.graphics.g3d.materials.TextureAttribute; import com.badlogic.gdx.math.collision.BoundingBox; @@ -12,7 +13,7 @@ import com.blarg.gdx.graphics.TextureAtlas; public class TileChunkMesh extends Renderable implements Disposable { public final BoundingBox bounds; - public TileChunkMesh(TileChunk chunk) { + public TileChunkMesh(TileChunk chunk, boolean blending) { meshPartOffset = 0; meshPartSize = 0; primitiveType = GL20.GL_TRIANGLES; @@ -20,9 +21,13 @@ public class TileChunkMesh extends Renderable implements Disposable { lights = null; shader = null; userData = null; + material = new Material(); TextureAtlas tileMapAtlas = chunk.tileMap.tileMeshes.atlas; - material = new Material(TextureAttribute.createDiffuse(tileMapAtlas.texture)); + material.set(TextureAttribute.createDiffuse(tileMapAtlas.texture)); + + if (blending) + material.set(new BlendingAttribute()); bounds = new BoundingBox(); }