From da0a5673d236d05b2e8f3870f7731188bcbb77f0 Mon Sep 17 00:00:00 2001 From: Gustl22 Date: Wed, 6 Mar 2019 11:18:17 +0100 Subject: [PATCH] vtm-playground: improve shadow sample (#691) --- .../src/org/oscim/test/MapsforgeTest.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/vtm-playground/src/org/oscim/test/MapsforgeTest.java b/vtm-playground/src/org/oscim/test/MapsforgeTest.java index 5c7ef09b..5507ddc4 100644 --- a/vtm-playground/src/org/oscim/test/MapsforgeTest.java +++ b/vtm-playground/src/org/oscim/test/MapsforgeTest.java @@ -40,6 +40,7 @@ import org.oscim.tiling.source.mapfile.MapFileTileSource; import org.oscim.tiling.source.mapfile.MapInfo; import java.io.File; +import java.util.Calendar; public class MapsforgeTest extends GdxMapApp { @@ -99,12 +100,18 @@ public class MapsforgeTest extends GdxMapApp { if (SHADOWS) { final ExtrusionRenderer extrusionRenderer = buildingLayer.getExtrusionRenderer(); mMap.events.bind(new Map.UpdateListener() { + Calendar date = Calendar.getInstance(); + long prevTime = System.currentTimeMillis(); + @Override public void onMapEvent(Event e, MapPosition mapPosition) { - long t = System.currentTimeMillis(); - float progress = (((t % 2000) / 1000f)); + long curTime = System.currentTimeMillis(); + int diff = (int) (curTime - prevTime); + prevTime = curTime; + date.add(Calendar.MILLISECOND, diff * 60 * 60); // Every second equates to one hour - extrusionRenderer.getSun().setProgress(progress); + //extrusionRenderer.getSun().setProgress((curTime % 2000) / 1000f); + extrusionRenderer.getSun().setProgress(date.get(Calendar.HOUR_OF_DAY), date.get(Calendar.MINUTE), date.get(Calendar.SECOND)); extrusionRenderer.getSun().updatePosition(); extrusionRenderer.getSun().updateColor(); // only relevant for shadow implementation