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));
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

View File

@ -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