From 78d438dfe6612fb8d4d008f96b0960eb481e835b Mon Sep 17 00:00:00 2001 From: Hannes Janetzek Date: Fri, 10 Oct 2014 03:09:46 +0200 Subject: [PATCH] pass fx option with S3DBLayer constructor --- .../oscim/android/test/S3DBMapActivity.java | 5 +---- .../layers/tile/buildings/S3DBLayer.java | 19 ++++++++++++++----- 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/vtm-android-example/src/org/oscim/android/test/S3DBMapActivity.java b/vtm-android-example/src/org/oscim/android/test/S3DBMapActivity.java index f91a9f1a..0e70b8cb 100644 --- a/vtm-android-example/src/org/oscim/android/test/S3DBMapActivity.java +++ b/vtm-android-example/src/org/oscim/android/test/S3DBMapActivity.java @@ -31,12 +31,9 @@ public class S3DBMapActivity extends BaseMapActivity { mS3dbCache.setCacheSize(512 * (1 << 10)); ts.setCache(mS3dbCache); } - TileLayer tl = new S3DBLayer(mMap, ts); + TileLayer tl = new S3DBLayer(mMap, ts, true, false); mMap.layers().add(tl); - mMap.layers().add(new LabelLayer(mMap, mBaseLayer)); - - mMap.setMapPosition(53.08, 8.83, Math.pow(2, 17)); } @Override diff --git a/vtm/src/org/oscim/layers/tile/buildings/S3DBLayer.java b/vtm/src/org/oscim/layers/tile/buildings/S3DBLayer.java index b306e7cc..3cac6c7c 100644 --- a/vtm/src/org/oscim/layers/tile/buildings/S3DBLayer.java +++ b/vtm/src/org/oscim/layers/tile/buildings/S3DBLayer.java @@ -17,7 +17,6 @@ import org.slf4j.LoggerFactory; public class S3DBLayer extends TileLayer { static final Logger log = LoggerFactory.getLogger(S3DBLayer.class); - static final boolean POST_FXAA = true; private final static int MAX_CACHE = 32; private final static int SRC_ZOOM = 16; @@ -29,8 +28,12 @@ public class S3DBLayer extends TileLayer { private final TileSource mTileSource; public S3DBLayer(Map map, TileSource tileSource) { + this(map, tileSource, true, false); + } + + public S3DBLayer(Map map, TileSource tileSource, boolean fxaa, boolean ssao) { super(map, new TileManager(map, SRC_ZOOM, SRC_ZOOM, MAX_CACHE)); - setRenderer(new S3DBRenderer()); + setRenderer(new S3DBRenderer(fxaa, ssao)); mTileSource = tileSource; initLoader(2); @@ -44,11 +47,17 @@ public class S3DBLayer extends TileLayer { public static class S3DBRenderer extends TileRenderer { LayerRenderer mRenderer; - public S3DBRenderer() { + public S3DBRenderer(boolean fxaa, boolean ssao) { mRenderer = new BuildingRenderer(this, SRC_ZOOM, SRC_ZOOM, true, false); - if (POST_FXAA) - mRenderer = new OffscreenRenderer(Mode.SSAO_FXAA, mRenderer); + if (fxaa || ssao) { + Mode mode = Mode.FXAA; + if (fxaa && ssao) + mode = Mode.SSAO_FXAA; + else if (ssao) + mode = Mode.SSAO; + mRenderer = new OffscreenRenderer(mode, mRenderer); + } } @Override