pass fx option with S3DBLayer constructor

This commit is contained in:
Hannes Janetzek 2014-10-10 03:09:46 +02:00
parent a098e669c3
commit 78d438dfe6
2 changed files with 15 additions and 9 deletions

View File

@ -31,12 +31,9 @@ public class S3DBMapActivity extends BaseMapActivity {
mS3dbCache.setCacheSize(512 * (1 << 10)); mS3dbCache.setCacheSize(512 * (1 << 10));
ts.setCache(mS3dbCache); ts.setCache(mS3dbCache);
} }
TileLayer tl = new S3DBLayer(mMap, ts); TileLayer tl = new S3DBLayer(mMap, ts, true, false);
mMap.layers().add(tl); mMap.layers().add(tl);
mMap.layers().add(new LabelLayer(mMap, mBaseLayer)); mMap.layers().add(new LabelLayer(mMap, mBaseLayer));
mMap.setMapPosition(53.08, 8.83, Math.pow(2, 17));
} }
@Override @Override

View File

@ -17,7 +17,6 @@ import org.slf4j.LoggerFactory;
public class S3DBLayer extends TileLayer { public class S3DBLayer extends TileLayer {
static final Logger log = LoggerFactory.getLogger(S3DBLayer.class); 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 MAX_CACHE = 32;
private final static int SRC_ZOOM = 16; private final static int SRC_ZOOM = 16;
@ -29,8 +28,12 @@ public class S3DBLayer extends TileLayer {
private final TileSource mTileSource; private final TileSource mTileSource;
public S3DBLayer(Map map, TileSource tileSource) { 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)); super(map, new TileManager(map, SRC_ZOOM, SRC_ZOOM, MAX_CACHE));
setRenderer(new S3DBRenderer()); setRenderer(new S3DBRenderer(fxaa, ssao));
mTileSource = tileSource; mTileSource = tileSource;
initLoader(2); initLoader(2);
@ -44,11 +47,17 @@ public class S3DBLayer extends TileLayer {
public static class S3DBRenderer extends TileRenderer { public static class S3DBRenderer extends TileRenderer {
LayerRenderer mRenderer; LayerRenderer mRenderer;
public S3DBRenderer() { public S3DBRenderer(boolean fxaa, boolean ssao) {
mRenderer = new BuildingRenderer(this, SRC_ZOOM, SRC_ZOOM, true, false); mRenderer = new BuildingRenderer(this, SRC_ZOOM, SRC_ZOOM, true, false);
if (POST_FXAA) if (fxaa || ssao) {
mRenderer = new OffscreenRenderer(Mode.SSAO_FXAA, mRenderer); Mode mode = Mode.FXAA;
if (fxaa && ssao)
mode = Mode.SSAO_FXAA;
else if (ssao)
mode = Mode.SSAO;
mRenderer = new OffscreenRenderer(mode, mRenderer);
}
} }
@Override @Override