diff --git a/vtm/src/org/oscim/renderer/bucket/MeshBucket.java b/vtm/src/org/oscim/renderer/bucket/MeshBucket.java index 7d952442..129aef16 100644 --- a/vtm/src/org/oscim/renderer/bucket/MeshBucket.java +++ b/vtm/src/org/oscim/renderer/bucket/MeshBucket.java @@ -182,9 +182,6 @@ public class MeshBucket extends RenderBucket { float heightOffset = 0; gl.uniform1f(s.uHeight, heightOffset); - int zoom = v.pos.zoomLevel; - float scale = (float) v.pos.getZoomScale(); - for (; l != null && l.type == MESH; l = l.next) { MeshBucket ml = (MeshBucket) l; @@ -225,8 +222,6 @@ public class MeshBucket extends RenderBucket { private static final int OPAQUE = 0xff000000; - //private static final float FADE_START = 1.3f; - static void setColor(AreaStyle a, Shader s, MapPosition pos) { float fade = a.getFade(pos.scale); float blend = a.getBlend(pos.scale); @@ -234,12 +229,12 @@ public class MeshBucket extends RenderBucket { if (fade < 1.0f) { GLState.blend(true); GLUtils.setColor(s.uColor, a.color, fade); - } else if (blend < 1.0f) { - if (blend == 0.0f) + } else if (blend > 0.0f) { + if (blend == 1.0f) GLUtils.setColor(s.uColor, a.blendColor, 1); else GLUtils.setColorBlend(s.uColor, a.color, - a.blendColor, 1 - blend); + a.blendColor, blend); } else { /* test if color contains alpha */ GLState.blend((a.color & OPAQUE) != OPAQUE); diff --git a/vtm/src/org/oscim/renderer/bucket/PolygonBucket.java b/vtm/src/org/oscim/renderer/bucket/PolygonBucket.java index 4c5f6368..ea92d5b5 100644 --- a/vtm/src/org/oscim/renderer/bucket/PolygonBucket.java +++ b/vtm/src/org/oscim/renderer/bucket/PolygonBucket.java @@ -161,8 +161,6 @@ public final class PolygonBucket extends RenderBucket { private static final int STENCIL_BITS = 8; public final static int CLIP_BIT = 0x80; - //private static final float FADE_START = 1.3f; - private static PolygonBucket[] mAreaLayer; private static Shader polyShader; @@ -214,12 +212,12 @@ public final class PolygonBucket extends RenderBucket { if (fade < 1.0f) { GLState.blend(true); GLUtils.setColor(s.uColor, a.color, fade); - } else if (blend < 1.0f) { - if (blend == 0.0f) + } else if (blend > 0.0f) { + if (blend == 1.0f) GLUtils.setColor(s.uColor, a.blendColor, 1); else GLUtils.setColorBlend(s.uColor, a.color, - a.blendColor, 1 - blend); + a.blendColor, blend); } else { /* test if color contains alpha */ GLState.blend((a.color & OPAQUE) != OPAQUE); diff --git a/vtm/src/org/oscim/theme/styles/AreaStyle.java b/vtm/src/org/oscim/theme/styles/AreaStyle.java index 0807ae55..1cfe9a0c 100644 --- a/vtm/src/org/oscim/theme/styles/AreaStyle.java +++ b/vtm/src/org/oscim/theme/styles/AreaStyle.java @@ -28,6 +28,7 @@ import org.oscim.utils.FastMath; */ public class AreaStyle extends RenderStyle { private static final int OPAQUE = 0xff000000; + private static final float FADE_START = 0.25f; /** Drawing order level */ private final int level; @@ -119,14 +120,14 @@ public class AreaStyle extends RenderStyle { return 1; float f = (float) (scale / (1 << fadeScale)) - 1; - return FastMath.clamp(f, 0, 1); + return FastMath.clamp(f, FADE_START, 1); } public float getBlend(double scale) { if (blendScale < 0) - return 1; + return 0; - float f = (float) ((1 << blendScale) / scale) - 1; + float f = (float) (scale / (1 << blendScale)) - 1; return FastMath.clamp(f, 0, 1); }