add ElementLayer/RenderElement prepare()
- used to prepare for compile() when all layer data is added
This commit is contained in:
parent
990e04477c
commit
31a45b0468
@ -162,8 +162,8 @@ public class MarkerRenderer extends ElementRenderer {
|
||||
mSymbolLayer.pushSymbol(s);
|
||||
}
|
||||
|
||||
mSymbolLayer.prepare();
|
||||
layers.setTextureLayers(mSymbolLayer);
|
||||
layers.prepare();
|
||||
|
||||
compile();
|
||||
}
|
||||
|
@ -130,7 +130,11 @@ 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();
|
||||
|
||||
super.completed(result);
|
||||
|
||||
clearState();
|
||||
}
|
||||
|
||||
|
@ -122,11 +122,6 @@ public class BitmapLayer extends TextureLayer {
|
||||
sbuf.put(buf);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean prepare() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void compile(ShortBuffer sbuf) {
|
||||
|
||||
|
@ -365,4 +365,12 @@ public class ElementLayers extends TileData {
|
||||
|
||||
TextureItem.init(gl);
|
||||
}
|
||||
|
||||
public void prepare() {
|
||||
for (RenderElement l = baseLayers; l != null; l = l.next)
|
||||
l.prepare();
|
||||
|
||||
for (RenderElement l = textureLayers; l != null; l = l.next)
|
||||
l.prepare();
|
||||
}
|
||||
}
|
||||
|
@ -54,7 +54,15 @@ public abstract class RenderElement extends Inlist<RenderElement> {
|
||||
numVertices = 0;
|
||||
}
|
||||
|
||||
/** compile vertex data to vbo. */
|
||||
/**
|
||||
* Final preparation of content before compilation
|
||||
* for stuff that should not be done on render-thread.
|
||||
*/
|
||||
protected void prepare() {
|
||||
|
||||
}
|
||||
|
||||
/** Compile vertex data to vbo. */
|
||||
protected void compile(ShortBuffer sbuf) {
|
||||
compileVertexItems(sbuf);
|
||||
}
|
||||
|
@ -196,9 +196,4 @@ public final class SymbolLayer extends TextureLayer {
|
||||
super.clear();
|
||||
clearItems();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean prepare() {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -79,7 +79,7 @@ public class TextLayer extends TextureLayer {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean prepare() {
|
||||
public void prepare() {
|
||||
short numIndices = 0;
|
||||
short offsetIndices = 0;
|
||||
numVertices = 0;
|
||||
@ -158,8 +158,6 @@ public class TextLayer extends TextureLayer {
|
||||
|
||||
t.offset = offsetIndices;
|
||||
t.indices = (short) (numIndices - offsetIndices);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
protected void addItem(TextItem it,
|
||||
|
@ -66,7 +66,6 @@ public abstract class TextureLayer extends RenderElement {
|
||||
compileVertexItems(sbuf);
|
||||
}
|
||||
|
||||
abstract public boolean prepare();
|
||||
|
||||
protected void clear() {
|
||||
while (textures != null)
|
||||
|
Loading…
x
Reference in New Issue
Block a user