Buildings translucency does not work on macOS #61

This commit is contained in:
Emux
2019-04-19 10:54:03 +03:00
parent b5ee7c1b46
commit df82ebfaa6
2 changed files with 8 additions and 12 deletions

View File

@@ -1,6 +1,6 @@
/* /*
* Copyright 2013 Hannes Janetzek * Copyright 2013 Hannes Janetzek
* Copyright 2016-2017 devemux86 * Copyright 2016-2019 devemux86
* Copyright 2018-2019 Gustl22 * Copyright 2018-2019 Gustl22
* *
* This file is part of the OpenScienceMap project (http://www.opensciencemap.org). * This file is part of the OpenScienceMap project (http://www.opensciencemap.org).
@@ -18,8 +18,6 @@
*/ */
package org.oscim.backend; package org.oscim.backend;
import org.oscim.layers.tile.buildings.BuildingLayer;
public class GLAdapter { public class GLAdapter {
public static final boolean debug = false; public static final boolean debug = false;
@@ -54,10 +52,6 @@ public class GLAdapter {
ANDROID_QUIRKS = (CanvasAdapter.platform == Platform.ANDROID); ANDROID_QUIRKS = (CanvasAdapter.platform == Platform.ANDROID);
GDX_DESKTOP_QUIRKS = CanvasAdapter.platform.isDesktop(); GDX_DESKTOP_QUIRKS = CanvasAdapter.platform.isDesktop();
GDX_WEBGL_QUIRKS = (CanvasAdapter.platform == Platform.WEBGL); GDX_WEBGL_QUIRKS = (CanvasAdapter.platform == Platform.WEBGL);
// Buildings translucency does not work on macOS, see #61
if (CanvasAdapter.platform == Platform.MACOS)
BuildingLayer.TRANSLUCENT = false;
} }
public static boolean isGL30() { public static boolean isGL30() {

View File

@@ -19,6 +19,8 @@
*/ */
package org.oscim.layers.tile.buildings; package org.oscim.layers.tile.buildings;
import org.oscim.backend.CanvasAdapter;
import org.oscim.backend.Platform;
import org.oscim.core.MapElement; import org.oscim.core.MapElement;
import org.oscim.core.Tag; import org.oscim.core.Tag;
import org.oscim.layers.Layer; import org.oscim.layers.Layer;
@@ -37,11 +39,7 @@ import org.oscim.theme.styles.ExtrusionStyle;
import org.oscim.theme.styles.RenderStyle; import org.oscim.theme.styles.RenderStyle;
import org.oscim.utils.geom.GeometryUtils; import org.oscim.utils.geom.GeometryUtils;
import java.util.ArrayList; import java.util.*;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
public class BuildingLayer extends Layer implements TileLoaderThemeHook, ZoomLimiter.IZoomLimiter { public class BuildingLayer extends Layer implements TileLoaderThemeHook, ZoomLimiter.IZoomLimiter {
@@ -113,6 +111,10 @@ public class BuildingLayer extends Layer implements TileLoaderThemeHook, ZoomLim
// Use zoomMin as zoomLimit to render buildings only once // Use zoomMin as zoomLimit to render buildings only once
mZoomLimiter = new ZoomLimiter(tileLayer.getManager(), zoomMin, zoomMax, zoomMin); mZoomLimiter = new ZoomLimiter(tileLayer.getManager(), zoomMin, zoomMax, zoomMin);
// Buildings translucency does not work on macOS, see #61
if (CanvasAdapter.platform == Platform.MACOS)
TRANSLUCENT = false;
mRenderer = mExtrusionRenderer = new BuildingRenderer(tileLayer.tileRenderer(), mZoomLimiter, mesh, TRANSLUCENT); mRenderer = mExtrusionRenderer = new BuildingRenderer(tileLayer.tileRenderer(), mZoomLimiter, mesh, TRANSLUCENT);
// TODO Allow shadow and POST_AA at same time // TODO Allow shadow and POST_AA at same time
if (shadow) if (shadow)