move uploadOverlay to BasicOverlay
This commit is contained in:
parent
bb22ecd7e3
commit
4e19553f9e
@ -34,7 +34,6 @@ import javax.microedition.khronos.opengles.GL10;
|
|||||||
import org.oscim.core.MapPosition;
|
import org.oscim.core.MapPosition;
|
||||||
import org.oscim.core.Tile;
|
import org.oscim.core.Tile;
|
||||||
import org.oscim.renderer.layer.Layers;
|
import org.oscim.renderer.layer.Layers;
|
||||||
import org.oscim.renderer.overlays.BasicOverlay;
|
|
||||||
import org.oscim.renderer.overlays.RenderOverlay;
|
import org.oscim.renderer.overlays.RenderOverlay;
|
||||||
import org.oscim.theme.RenderTheme;
|
import org.oscim.theme.RenderTheme;
|
||||||
import org.oscim.utils.FastMath;
|
import org.oscim.utils.FastMath;
|
||||||
@ -204,7 +203,7 @@ public class GLRenderer implements GLSurfaceView.Renderer {
|
|||||||
|
|
||||||
private static int uploadCnt = 0;
|
private static int uploadCnt = 0;
|
||||||
|
|
||||||
private static boolean uploadLayers(Layers layers, BufferObject vbo, int newSize,
|
public static boolean uploadLayers(Layers layers, BufferObject vbo, int newSize,
|
||||||
boolean addFill) {
|
boolean addFill) {
|
||||||
|
|
||||||
GLES20.glBindBuffer(GL_ARRAY_BUFFER, vbo.id);
|
GLES20.glBindBuffer(GL_ARRAY_BUFFER, vbo.id);
|
||||||
@ -280,15 +279,6 @@ public class GLRenderer implements GLSurfaceView.Renderer {
|
|||||||
tile.state = STATE_READY;
|
tile.state = STATE_READY;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean uploadOverlayData(BasicOverlay renderOverlay) {
|
|
||||||
int newSize = renderOverlay.layers.getSize();
|
|
||||||
if (newSize > 0) {
|
|
||||||
if (uploadLayers(renderOverlay.layers, renderOverlay.vbo, newSize, true))
|
|
||||||
renderOverlay.isReady = true;
|
|
||||||
}
|
|
||||||
return renderOverlay.isReady;
|
|
||||||
}
|
|
||||||
|
|
||||||
private static void checkBufferUsage(boolean force) {
|
private static void checkBufferUsage(boolean force) {
|
||||||
// try to clear some unused vbo when exceding limit
|
// try to clear some unused vbo when exceding limit
|
||||||
|
|
||||||
|
@ -76,7 +76,10 @@ public abstract class BasicOverlay extends RenderOverlay {
|
|||||||
if (vbo == null)
|
if (vbo == null)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (GLRenderer.uploadOverlayData(this))
|
int newSize = layers.getSize();
|
||||||
isReady = true;
|
if (newSize > 0) {
|
||||||
|
if (GLRenderer.uploadLayers(layers, vbo, newSize, true))
|
||||||
|
isReady = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user