From b031f98fff10fad52f91ee88bc3ee61bd5ca60bf Mon Sep 17 00:00:00 2001 From: Hannes Janetzek <hannes.janetzek@gmail.com> Date: Fri, 19 Sep 2014 19:46:50 +0200 Subject: [PATCH] fixup: layer -> bucket variable names --- vtm/src/org/oscim/layers/tile/MapTile.java | 2 +- .../org/oscim/layers/tile/TileRenderer.java | 8 +- .../oscim/layers/tile/VectorTileRenderer.java | 4 +- .../tile/buildings/BuildingRenderer.java | 2 +- .../layers/tile/example/TestTileLayer.java | 12 +-- .../layers/tile/vector/VectorTileLayer.java | 3 +- .../layers/tile/vector/VectorTileLoader.java | 94 ++++++++----------- .../tile/vector/labeling/TextRenderer.java | 2 +- .../org/oscim/renderer/BucketRenderer.java | 2 +- vtm/src/org/oscim/renderer/GridRenderer.java | 2 +- .../oscim/renderer/bucket/BitmapBucket.java | 12 +-- .../org/oscim/renderer/bucket/LineBucket.java | 30 +++--- .../oscim/renderer/bucket/LineTexBucket.java | 29 +++--- .../oscim/renderer/bucket/PolygonBucket.java | 32 +++---- .../oscim/renderer/bucket/RenderBucket.java | 4 +- .../oscim/renderer/bucket/TextureBucket.java | 13 ++- 16 files changed, 116 insertions(+), 135 deletions(-) diff --git a/vtm/src/org/oscim/layers/tile/MapTile.java b/vtm/src/org/oscim/layers/tile/MapTile.java index 25a182e0..3f42913d 100644 --- a/vtm/src/org/oscim/layers/tile/MapTile.java +++ b/vtm/src/org/oscim/layers/tile/MapTile.java @@ -266,7 +266,7 @@ public class MapTile extends Tile { * Get the default ElementLayers which are added * by {@link VectorTileLoader} */ - public RenderBuckets getLayers() { + public RenderBuckets getBuckets() { if (!(data instanceof RenderBuckets)) return null; diff --git a/vtm/src/org/oscim/layers/tile/TileRenderer.java b/vtm/src/org/oscim/layers/tile/TileRenderer.java index ab0e0b78..32d8f11d 100644 --- a/vtm/src/org/oscim/layers/tile/TileRenderer.java +++ b/vtm/src/org/oscim/layers/tile/TileRenderer.java @@ -175,14 +175,14 @@ public abstract class TileRenderer extends LayerRenderer { private static int uploadTileData(MapTile tile) { tile.state = READY; - RenderBuckets layers = tile.getLayers(); + RenderBuckets buckets = tile.getBuckets(); /* tile might only contain label layers */ - if (layers == null) + if (buckets == null) return 0; - if (!layers.compile(true)) { - layers.clear(); + if (!buckets.compile(true)) { + buckets.clear(); return 0; } diff --git a/vtm/src/org/oscim/layers/tile/VectorTileRenderer.java b/vtm/src/org/oscim/layers/tile/VectorTileRenderer.java index efe6134e..daa16e2e 100644 --- a/vtm/src/org/oscim/layers/tile/VectorTileRenderer.java +++ b/vtm/src/org/oscim/layers/tile/VectorTileRenderer.java @@ -152,8 +152,8 @@ public class VectorTileRenderer extends TileRenderer { /* use holder proxy when it is set */ RenderBuckets buckets = (tile.holder == null) - ? tile.getLayers() - : tile.holder.getLayers(); + ? tile.getBuckets() + : tile.holder.getBuckets(); if (buckets == null || buckets.vbo == null) return; diff --git a/vtm/src/org/oscim/layers/tile/buildings/BuildingRenderer.java b/vtm/src/org/oscim/layers/tile/buildings/BuildingRenderer.java index b2b2edea..6aec91fb 100644 --- a/vtm/src/org/oscim/layers/tile/buildings/BuildingRenderer.java +++ b/vtm/src/org/oscim/layers/tile/buildings/BuildingRenderer.java @@ -193,7 +193,7 @@ public class BuildingRenderer extends ExtrusionRenderer { } private static ExtrusionBuckets getLayer(MapTile t) { - RenderBuckets layers = t.getLayers(); + RenderBuckets layers = t.getBuckets(); if (layers != null && !t.state(READY | NEW_DATA)) return null; diff --git a/vtm/src/org/oscim/layers/tile/example/TestTileLayer.java b/vtm/src/org/oscim/layers/tile/example/TestTileLayer.java index a3b057dd..76d6a4be 100644 --- a/vtm/src/org/oscim/layers/tile/example/TestTileLayer.java +++ b/vtm/src/org/oscim/layers/tile/example/TestTileLayer.java @@ -58,12 +58,12 @@ public class TestTileLayer extends TileLayer { @Override public boolean loadTile(MapTile tile) { log.debug("load tile " + tile); - RenderBuckets layers = new RenderBuckets(); - tile.data = layers; + RenderBuckets buckets = new RenderBuckets(); + tile.data = buckets; - LineBucket ll = layers.getLineBucket(0); - ll.line = mLineStyle; - ll.scale = 2; + LineBucket lb = buckets.getLineBucket(0); + lb.line = mLineStyle; + lb.scale = 2; int m = 20; int s = Tile.SIZE - m * 2; @@ -77,7 +77,7 @@ public class TestTileLayer extends TileLayer { g.addPoint(s, m); g.addPoint(m, m); - ll.addLine(g); + lb.addLine(g); return true; } diff --git a/vtm/src/org/oscim/layers/tile/vector/VectorTileLayer.java b/vtm/src/org/oscim/layers/tile/vector/VectorTileLayer.java index db3277a5..327e8d6d 100644 --- a/vtm/src/org/oscim/layers/tile/vector/VectorTileLayer.java +++ b/vtm/src/org/oscim/layers/tile/vector/VectorTileLayer.java @@ -197,7 +197,8 @@ public class VectorTileLayer extends TileLayer { } public void callHooksComplete(MapTile tile, boolean success) { - /* cannot use simple iterater as this function is called concurently */ + /* NB: cannot use internal iterater as this function + * is called concurently by TileLoaders */ LList<TileLoaderThemeHook> th = mLoaderThemeHooks.head(); while (th != null) { diff --git a/vtm/src/org/oscim/layers/tile/vector/VectorTileLoader.java b/vtm/src/org/oscim/layers/tile/vector/VectorTileLoader.java index 4ac13450..9c2d836d 100644 --- a/vtm/src/org/oscim/layers/tile/vector/VectorTileLoader.java +++ b/vtm/src/org/oscim/layers/tile/vector/VectorTileLoader.java @@ -62,16 +62,16 @@ public class VectorTileLoader extends TileLoader implements IRenderTheme.Callbac /** currently processed MapElement */ protected MapElement mElement; - /** current line layer (will be used for outline layers) */ - protected LineBucket mCurLineLayer; + /** current line bucket (will be used for outline bucket) */ + protected LineBucket mCurLineBucket; - /** Current layer for adding elements */ - protected int mCurLayer; + /** Current bucket for adding elements */ + protected int mCurBucket; /** Line-scale-factor depending on zoom and latitude */ protected float mLineScale = 1.0f; - protected RenderBuckets mLayers; + protected RenderBuckets mBuckets; private final VectorTileLayer mTileLayer; @@ -109,8 +109,8 @@ public class VectorTileLoader extends TileLoader implements IRenderTheme.Callbac /* scale line width relative to latitude + PI * thumb */ mLineScale *= 0.4f + 0.6f * ((float) Math.sin(Math.abs(lat) * (Math.PI / 180))); - mLayers = new RenderBuckets(); - tile.data = mLayers; + mBuckets = new RenderBuckets(); + tile.data = mBuckets; try { /* query data source, which calls process() callback */ @@ -130,8 +130,8 @@ public class VectorTileLoader extends TileLoader implements IRenderTheme.Callbac public void completed(QueryResult result) { mTileLayer.callHooksComplete(mTile, result == QueryResult.SUCCESS); - /* finish layers - tessellate and cleanup on worker-thread */ - mLayers.prepare(); + /* finish buckets- tessellate and cleanup on worker-thread */ + mBuckets.prepare(); super.completed(result); @@ -177,7 +177,7 @@ public class VectorTileLoader extends TileLoader implements IRenderTheme.Callbac if (isCanceled() || mTile.state(CANCEL)) return; - if (mTileLayer.callProcessHooks(mTile, mLayers, element)) + if (mTileLayer.callProcessHooks(mTile, mBuckets, element)) return; TagSet tags = filterTags(element.tags); @@ -190,31 +190,16 @@ public class VectorTileLoader extends TileLoader implements IRenderTheme.Callbac if (element.type == GeometryType.POINT) { renderNode(renderTheme.matchElement(element.type, tags, mTile.zoomLevel)); } else { - mCurLayer = getValidLayer(element.layer) * renderTheme.getLevels(); + mCurBucket = getValidLayer(element.layer) * renderTheme.getLevels(); renderWay(renderTheme.matchElement(element.type, tags, mTile.zoomLevel)); } clearState(); } - // private final static LineStyle DEBUG_LINE = - // new LineStyle(Integer.MAX_VALUE / 12, Color.MAGENTA, 1.2f); - // - // private final static TextStyle DEBUG_TEXT = new TextBuilder() - // .setFontSize(12) - // .setColor(Color.RED) - // .setCaption(true) - // .setTextKey(Tag.KEY_NAME) - // .build(); - protected void renderWay(RenderStyle[] style) { - if (style == null) { - // DEBUG_LINE.renderWay(this); - // String t = mElement.tags.toString(); - // mElement.tags.clear(); - // mElement.tags.add(new Tag(Tag.KEY_NAME, t)); - // DEBUG_TEXT.renderWay(this); + if (style == null) return; - } + for (int i = 0, n = style.length; i < n; i++) style[i].renderWay(this); } @@ -228,54 +213,54 @@ public class VectorTileLoader extends TileLoader implements IRenderTheme.Callbac } protected void clearState() { - mCurLineLayer = null; + mCurLineBucket = null; mElement = null; } /*** RenderThemeCallback ***/ @Override public void renderWay(LineStyle line, int level) { - int numLayer = mCurLayer + level; + int nLevel = mCurBucket + level; if (line.stipple == 0) { - if (line.outline && mCurLineLayer == null) { + if (line.outline && mCurLineBucket == null) { log.debug("missing line for outline! " + mElement.tags + " lvl:" + level + " layer:" + mElement.layer); return; } - LineBucket ll = mLayers.getLineBucket(numLayer); + LineBucket lb = mBuckets.getLineBucket(nLevel); - if (ll.line == null) { - ll.line = line; - ll.scale = line.fixed ? 1 : mLineScale; - ll.setExtents(-4, Tile.SIZE + 4); + if (lb.line == null) { + lb.line = line; + lb.scale = line.fixed ? 1 : mLineScale; + lb.setExtents(-4, Tile.SIZE + 4); } if (line.outline) { - ll.addOutline(mCurLineLayer); + lb.addOutline(mCurLineBucket); return; } - ll.addLine(mElement); + lb.addLine(mElement); /* keep reference for outline layer(s) */ - mCurLineLayer = ll; + mCurLineBucket = lb; } else { - LineTexBucket ll = mLayers.getLineTexBucket(numLayer); + LineTexBucket lb = mBuckets.getLineTexBucket(nLevel); - if (ll.line == null) { - ll.line = line; + if (lb.line == null) { + lb.line = line; float w = line.width; if (!line.fixed) w *= mLineScale; - ll.width = w; + lb.width = w; } - ll.addLine(mElement); + lb.addLine(mElement); } } @@ -285,26 +270,27 @@ public class VectorTileLoader extends TileLoader implements IRenderTheme.Callbac @Override public void renderArea(AreaStyle area, int level) { - int numLayer = mCurLayer + level; + int nLevel = mCurBucket + level; + if (USE_MESH_POLY) { - MeshBucket l = mLayers.getMeshBucket(numLayer); - l.area = area; - l.addMesh(mElement); + MeshBucket mb = mBuckets.getMeshBucket(nLevel); + mb.area = area; + mb.addMesh(mElement); } else { - PolygonBucket l = mLayers.getPolygonBucket(numLayer); - l.area = area; - l.addPolygon(mElement.points, mElement.index); + PolygonBucket pb = mBuckets.getPolygonBucket(nLevel); + pb.area = area; + pb.addPolygon(mElement.points, mElement.index); } } @Override public void renderSymbol(SymbolStyle symbol) { - mTileLayer.callThemeHooks(mTile, mLayers, mElement, symbol, 0); + mTileLayer.callThemeHooks(mTile, mBuckets, mElement, symbol, 0); } @Override public void renderExtrusion(ExtrusionStyle extrusion, int level) { - mTileLayer.callThemeHooks(mTile, mLayers, mElement, extrusion, level); + mTileLayer.callThemeHooks(mTile, mBuckets, mElement, extrusion, level); } @Override @@ -313,6 +299,6 @@ public class VectorTileLoader extends TileLoader implements IRenderTheme.Callbac @Override public void renderText(TextStyle text) { - mTileLayer.callThemeHooks(mTile, mLayers, mElement, text, 0); + mTileLayer.callThemeHooks(mTile, mBuckets, mElement, text, 0); } } diff --git a/vtm/src/org/oscim/layers/tile/vector/labeling/TextRenderer.java b/vtm/src/org/oscim/layers/tile/vector/labeling/TextRenderer.java index d8aa0a9f..825c28d3 100644 --- a/vtm/src/org/oscim/layers/tile/vector/labeling/TextRenderer.java +++ b/vtm/src/org/oscim/layers/tile/vector/labeling/TextRenderer.java @@ -84,7 +84,7 @@ class TextRenderer extends BucketRenderer { setMatrix(v, false); for (RenderBucket l = buckets.get(); l != null;) - l = TextureBucket.Renderer.draw(buckets, l, v, scale); + l = TextureBucket.Renderer.draw(l, v, scale); } } diff --git a/vtm/src/org/oscim/renderer/BucketRenderer.java b/vtm/src/org/oscim/renderer/BucketRenderer.java index 83e6fb16..981c867c 100644 --- a/vtm/src/org/oscim/renderer/BucketRenderer.java +++ b/vtm/src/org/oscim/renderer/BucketRenderer.java @@ -114,7 +114,7 @@ public abstract class BucketRenderer extends LayerRenderer { project = false; setMatrix(v, project); } - b = TextureBucket.Renderer.draw(buckets, b, v, div); + b = TextureBucket.Renderer.draw(b, v, div); break; default: log.error("invalid bucket {}", b.type); diff --git a/vtm/src/org/oscim/renderer/GridRenderer.java b/vtm/src/org/oscim/renderer/GridRenderer.java index 5c993dcb..e0369038 100644 --- a/vtm/src/org/oscim/renderer/GridRenderer.java +++ b/vtm/src/org/oscim/renderer/GridRenderer.java @@ -117,7 +117,7 @@ public class GridRenderer extends BucketRenderer { int x = (int) (v.pos.x * z); int y = (int) (v.pos.y * z); - /* update layers when map moved by at least one tile */ + /* update buckets when map moved by at least one tile */ if (x == mCurX && y == mCurY && z == mCurZ) return; diff --git a/vtm/src/org/oscim/renderer/bucket/BitmapBucket.java b/vtm/src/org/oscim/renderer/bucket/BitmapBucket.java index 53134b39..5046b263 100644 --- a/vtm/src/org/oscim/renderer/bucket/BitmapBucket.java +++ b/vtm/src/org/oscim/renderer/bucket/BitmapBucket.java @@ -192,30 +192,30 @@ public class BitmapBucket extends TextureBucket { shader = new Shader("texture_alpha"); } - public static RenderBucket draw(RenderBucket renderElement, GLViewport v, + public static RenderBucket draw(RenderBucket b, GLViewport v, float scale, float alpha) { GLState.blend(true); Shader s = shader; s.useProgram(); - TextureBucket tl = (TextureBucket) renderElement; + TextureBucket tb = (TextureBucket) b; GL.glUniform1f(s.uAlpha, alpha); v.mvp.setAsUniform(s.uMVP); MapRenderer.bindQuadIndicesVBO(true); - for (TextureItem t = tl.textures; t != null; t = t.next) { + for (TextureItem t = tb.textures; t != null; t = t.next) { t.bind(); int maxIndices = MapRenderer.maxQuads * INDICES_PER_SPRITE; - // draw up to maxVertices in each iteration + // draw up to maxVertices in each iteration */ for (int i = 0; i < t.indices; i += maxIndices) { // to.offset * (24(shorts) * 2(short-bytes) / 6(indices) == 8) - int off = (t.offset + i) * 8 + tl.vertexOffset; + int off = (t.offset + i) * 8 + tb.vertexOffset; GL.glVertexAttribPointer(s.aPos, 2, GL20.GL_SHORT, false, 12, off); @@ -234,7 +234,7 @@ public class BitmapBucket extends TextureBucket { MapRenderer.bindQuadIndicesVBO(false); - return renderElement.next; + return b.next; } } } diff --git a/vtm/src/org/oscim/renderer/bucket/LineBucket.java b/vtm/src/org/oscim/renderer/bucket/LineBucket.java index 0f0baf35..ee52c176 100644 --- a/vtm/src/org/oscim/renderer/bucket/LineBucket.java +++ b/vtm/src/org/oscim/renderer/bucket/LineBucket.java @@ -565,12 +565,9 @@ public final class LineBucket extends RenderBucket { return true; } - public static RenderBucket draw(RenderBucket curLayer, GLViewport v, + public static RenderBucket draw(RenderBucket b, GLViewport v, float scale, RenderBuckets buckets) { - if (curLayer == null) - return null; - /* simple line shader does not take forward shortening into * account. only used when tilt is 0. */ int mode = v.pos.tilt < 1 ? 1 : 0; @@ -619,13 +616,12 @@ public final class LineBucket extends RenderBucket { float heightOffset = 0; GL.glUniform1f(uLineHeight, heightOffset); - RenderBucket l = curLayer; - for (; l != null && l.type == RenderBucket.LINE; l = l.next) { - LineBucket ll = (LineBucket) l; - LineStyle line = ll.line.current(); + for (; b != null && b.type == RenderBucket.LINE; b = b.next) { + LineBucket lb = (LineBucket) b; + LineStyle line = lb.line.current(); - if (ll.heightOffset != heightOffset) { - heightOffset = ll.heightOffset; + if (lb.heightOffset != heightOffset) { + heightOffset = lb.heightOffset; GL.glUniform1f(uLineHeight, heightOffset / MercatorProjection.groundResolution(v.pos)); @@ -652,7 +648,7 @@ public final class LineBucket extends RenderBucket { if (line.fixed) { width = Math.max(line.width, 1) / scale; } else { - width = ll.scale * line.width / variableScale; + width = lb.scale * line.width / variableScale; } GL.glUniform1f(uLineWidth, @@ -668,13 +664,13 @@ public final class LineBucket extends RenderBucket { } /* Cap mode */ - if (ll.scale < 1.5 /* || ll.line.fixed */) { + if (lb.scale < 1.5 /* || ll.line.fixed */) { if (capMode != CAP_THIN) { capMode = CAP_THIN; GL.glUniform1f(uLineMode, capMode); } - } else if (ll.roundCap) { + } else if (lb.roundCap) { if (capMode != CAP_ROUND) { capMode = CAP_ROUND; GL.glUniform1f(uLineMode, capMode); @@ -685,14 +681,14 @@ public final class LineBucket extends RenderBucket { } GL.glDrawArrays(GL20.GL_TRIANGLE_STRIP, - l.vertexOffset, l.numVertices); + b.vertexOffset, b.numVertices); continue; } /* draw LineLayers references by this outline */ - for (LineBucket ref = ll.outlines; ref != null; ref = ref.outlines) { + for (LineBucket ref = lb.outlines; ref != null; ref = ref.outlines) { LineStyle core = ref.line.current(); // core width @@ -705,7 +701,7 @@ public final class LineBucket extends RenderBucket { if (line.fixed) { width += line.width / scale; } else { - width += ll.scale * line.width / variableScale; + width += lb.scale * line.width / variableScale; } GL.glUniform1f(uLineWidth, @@ -736,7 +732,7 @@ public final class LineBucket extends RenderBucket { } } - return l; + return b; } } } diff --git a/vtm/src/org/oscim/renderer/bucket/LineTexBucket.java b/vtm/src/org/oscim/renderer/bucket/LineTexBucket.java index 2b45facc..a8346082 100644 --- a/vtm/src/org/oscim/renderer/bucket/LineTexBucket.java +++ b/vtm/src/org/oscim/renderer/bucket/LineTexBucket.java @@ -94,10 +94,10 @@ public final class LineTexBucket extends RenderBucket { protected boolean mRandomizeOffset = true; - LineTexBucket(int layer) { + LineTexBucket(int level) { super(TEXLINE); - this.level = layer; + this.level = level; this.evenSegment = true; } @@ -300,8 +300,8 @@ public final class LineTexBucket extends RenderBucket { private final static int STRIDE = 12; private final static int LEN_OFFSET = 8; - public static RenderBucket draw(RenderBucket curLayer, GLViewport v, - float div, RenderBuckets layers) { + public static RenderBucket draw(RenderBucket b, GLViewport v, + float div, RenderBuckets buckets) { //if (shader == 0) // return curLayer.next; @@ -334,7 +334,7 @@ public final class LineTexBucket extends RenderBucket { GL.glVertexAttribPointer(shader.aFlip, 1, GL20.GL_BYTE, false, 0, 0); - layers.vbo.bind(); + buckets.vbo.bind(); float scale = (float) v.pos.getZoomScale(); @@ -342,10 +342,9 @@ public final class LineTexBucket extends RenderBucket { //GL.glBindTexture(GL20.GL_TEXTURE_2D, mTexID[0]); - RenderBucket l = curLayer; - for (; l != null && l.type == TEXLINE; l = l.next) { - LineTexBucket ll = (LineTexBucket) l; - LineStyle line = ll.line.current(); + for (; b != null && b.type == TEXLINE; b = b.next) { + LineTexBucket lb = (LineTexBucket) b; + LineStyle line = lb.line.current(); GLUtils.setColor(shader.uColor, line.stippleColor, 1); GLUtils.setColor(shader.uBgColor, line.color, 1); @@ -361,21 +360,21 @@ public final class LineTexBucket extends RenderBucket { //GL.glUniform1f(hScale, scale); /* keep line width fixed */ - GL.glUniform1f(shader.uWidth, ll.width / s * COORD_SCALE_BY_DIR_SCALE); + GL.glUniform1f(shader.uWidth, lb.width / s * COORD_SCALE_BY_DIR_SCALE); /* add offset vertex */ int vOffset = -STRIDE; // TODO interleave 1. and 2. pass to improve vertex cache usage? /* first pass */ - int allIndices = (ll.evenQuads * 6); + int allIndices = (lb.evenQuads * 6); for (int i = 0; i < allIndices; i += maxIndices) { int numIndices = allIndices - i; if (numIndices > maxIndices) numIndices = maxIndices; /* i / 6 * (24 shorts per block * 2 short bytes) */ - int add = (l.vertexOffset + i * 8) + vOffset; + int add = (b.vertexOffset + i * 8) + vOffset; GL.glVertexAttribPointer(aPos0, 4, GL20.GL_SHORT, false, STRIDE, add + STRIDE); @@ -394,13 +393,13 @@ public final class LineTexBucket extends RenderBucket { } /* second pass */ - allIndices = (ll.oddQuads * 6); + allIndices = (lb.oddQuads * 6); for (int i = 0; i < allIndices; i += maxIndices) { int numIndices = allIndices - i; if (numIndices > maxIndices) numIndices = maxIndices; /* i / 6 * (24 shorts per block * 2 short bytes) */ - int add = (l.vertexOffset + i * 8) + vOffset; + int add = (b.vertexOffset + i * 8) + vOffset; GL.glVertexAttribPointer(aPos0, 4, GL20.GL_SHORT, false, STRIDE, add + 2 * STRIDE); @@ -428,7 +427,7 @@ public final class LineTexBucket extends RenderBucket { //GL.glBindTexture(GL20.GL_TEXTURE_2D, 0); - return l; + return b; } } } diff --git a/vtm/src/org/oscim/renderer/bucket/PolygonBucket.java b/vtm/src/org/oscim/renderer/bucket/PolygonBucket.java index 170eb3bc..63dbce66 100644 --- a/vtm/src/org/oscim/renderer/bucket/PolygonBucket.java +++ b/vtm/src/org/oscim/renderer/bucket/PolygonBucket.java @@ -317,15 +317,15 @@ public final class PolygonBucket extends RenderBucket { static LineClipper mScreenClip = new LineClipper(-1, -1, 1, 1); /** - * draw polygon layers (until layer.next is not polygon layer) + * draw polygon buckets (until bucket.next is not polygon bucket) * using stencil buffer method * - * @param renderElement + * @param buckets * layer to draw (referencing vertices in current vbo) * @param v * GLViewport * @param pos - * used to fade layers according to 'fade' in + * used to fade buckets according to 'fade' in * layer.area style * @param div * scale relative to 'base scale' of the tile @@ -338,7 +338,7 @@ public final class PolygonBucket extends RenderBucket { * @return * next layer */ - public static RenderBucket draw(RenderBucket renderElement, GLViewport v, + public static RenderBucket draw(RenderBucket buckets, GLViewport v, float div, boolean first) { GLState.test(false, true); @@ -361,12 +361,12 @@ public final class PolygonBucket extends RenderBucket { byte stencilMask = 0; - RenderBucket l = renderElement; - for (; l != null && l.type == POLYGON; l = l.next) { - PolygonBucket pl = (PolygonBucket) l; - AreaStyle area = pl.area.current(); + RenderBucket b = buckets; + for (; b != null && b.type == POLYGON; b = b.next) { + PolygonBucket pb = (PolygonBucket) b; + AreaStyle area = pb.area.current(); - /* fade out polygon layers (set in RenderTheme) */ + /* fade out polygon bucket (set in RenderTheme) */ if (area.fadeScale > 0 && area.fadeScale > zoom) continue; @@ -392,7 +392,7 @@ public final class PolygonBucket extends RenderBucket { start = cur = 0; } - mAreaLayer[cur] = pl; + mAreaLayer[cur] = pb; /* set stencil mask to draw to */ int stencil = 1 << cur++; @@ -406,9 +406,9 @@ public final class PolygonBucket extends RenderBucket { GL.glStencilMask(stencilMask); } - GL.glDrawArrays(GL_TRIANGLE_FAN, l.vertexOffset, l.numVertices); + GL.glDrawArrays(GL_TRIANGLE_FAN, b.vertexOffset, b.numVertices); - /* draw up to 7 layers into stencil buffer */ + /* draw up to 7 buckets into stencil buffer */ if (cur == STENCIL_BITS - 1) { //log.debug("fill1 {} {}", start, cur); fillPolygons(v, start, cur, zoom, scale, div); @@ -417,7 +417,7 @@ public final class PolygonBucket extends RenderBucket { mClear = true; start = cur = 0; - if (l.next != null && l.next.type == POLYGON) { + if (b.next != null && b.next.type == POLYGON) { setShader(polyShader, v.mvp, false); stencilMask = 0; } @@ -432,14 +432,14 @@ public final class PolygonBucket extends RenderBucket { if (!drawn) { /* fillPolygons would re-enable color-mask - * but it's possible that all polygon layers + * but it's possible that all polygon buckets * were skipped */ GL.glColorMask(true, true, true, true); GL.glStencilMask(0x00); } mCount = cur; - return l; + return b; } public static void clip(GLMatrix mvp, int clipMode) { @@ -473,7 +473,7 @@ public final class PolygonBucket extends RenderBucket { GL.glStencilMask(0xFF); /* Draw clip-region into depth and stencil buffer. - * This is used for tile line and polygon layers. + * This is used for tile line and polygon buckets. * * Together with depth test (GL_LESS) this ensures to * only draw where no other tile has drawn yet. */ diff --git a/vtm/src/org/oscim/renderer/bucket/RenderBucket.java b/vtm/src/org/oscim/renderer/bucket/RenderBucket.java index 91133276..a7b8f33f 100644 --- a/vtm/src/org/oscim/renderer/bucket/RenderBucket.java +++ b/vtm/src/org/oscim/renderer/bucket/RenderBucket.java @@ -72,8 +72,8 @@ public abstract class RenderBucket extends Inlist<RenderBucket> { // } /** - * For line- and polygon-layers this is the offset - * of VERTICES in its layers.vbo. + * For line- and polygon-buckets this is the offset + * of VERTICES in its bucket.vbo. * For all other types it is the byte offset in vbo. * FIXME - always use byte offset? */ diff --git a/vtm/src/org/oscim/renderer/bucket/TextureBucket.java b/vtm/src/org/oscim/renderer/bucket/TextureBucket.java index 659b13b3..cdc1eaa5 100644 --- a/vtm/src/org/oscim/renderer/bucket/TextureBucket.java +++ b/vtm/src/org/oscim/renderer/bucket/TextureBucket.java @@ -107,23 +107,22 @@ public abstract class TextureBucket extends RenderBucket { pool.init(0); } - public static RenderBucket draw(RenderBuckets layers, RenderBucket l, - GLViewport v, float scale) { + public static RenderBucket draw(RenderBucket b, GLViewport v, float scale) { GLState.test(false, false); GLState.blend(true); shader.useProgram(); - TextureBucket tl = (TextureBucket) l; - GL.glUniform1f(shader.uScale, tl.fixed ? 1 / scale : 1); + TextureBucket tb = (TextureBucket) b; + GL.glUniform1f(shader.uScale, tb.fixed ? 1 / scale : 1); v.proj.setAsUniform(shader.uProj); v.mvp.setAsUniform(shader.uMV); MapRenderer.bindQuadIndicesVBO(true); - for (TextureItem t = tl.textures; t != null; t = t.next) { + for (TextureItem t = tb.textures; t != null; t = t.next) { GL.glUniform2f(shader.uTexSize, 1f / (t.width * COORD_SCALE), 1f / (t.height * COORD_SCALE)); @@ -134,7 +133,7 @@ public abstract class TextureBucket extends RenderBucket { for (int i = 0; i < t.indices; i += maxIndices) { /* to.offset * (24(shorts) * 2(short-bytes) * / 6(indices) == 8) */ - int off = (t.offset + i) * 8 + tl.vertexOffset; + int off = (t.offset + i) * 8 + tb.vertexOffset; GL.glVertexAttribPointer(shader.aPos, 4, GL20.GL_SHORT, @@ -156,7 +155,7 @@ public abstract class TextureBucket extends RenderBucket { MapRenderer.bindQuadIndicesVBO(false); - return l.next; + return b.next; } }