I'm not an OpenGL/LWJGL/Swing expert, I just got it running, so I can't tell you now what could be better.
I'm planning to integrate this map in
MyTourbook, so the following experience is not from the vtm-with-rcp demo project, it is from vtm in MyTourbook.
Until now I discovered these issues:
1. When resizing the vtm map view in the UI to a height of 0 then this exception occur
Exception in thread "LWJGL Application" java.lang.IllegalArgumentException: top == bottom
at org.oscim.renderer.GLMatrix.frustumM(GLMatrix.java:331)
at org.oscim.map.ViewController.setScreenSize(ViewController.java:50)
at org.oscim.gdx.GdxMap.resize(GdxMap.java:122)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:192)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:126)
2. When closing the view (not the app) and reopen it then this exception occur
Exception in thread "LWJGL Application" java.lang.RuntimeException: No OpenGL context found in the current thread.
at org.lwjgl.opengl.GLContext.getCapabilities(GLContext.java:124)
at org.lwjgl.opengl.GL11.glGetError(GL11.java:1299)
at org.lwjgl.opengl.Util.checkGLError(Util.java:57)
at org.lwjgl.opengl.WindowsContextImplementation.setSwapInterval(WindowsContextImplementation.java:113)
at org.lwjgl.opengl.ContextGL.setSwapInterval(ContextGL.java:232)
at org.lwjgl.opengl.DrawableGL.setSwapInterval(DrawableGL.java:86)
at org.lwjgl.opengl.Display.setSwapInterval(Display.java:1129)
at org.lwjgl.opengl.Display.setVSyncEnabled(Display.java:1142)
at com.badlogic.gdx.backends.lwjgl.LwjglGraphics.setVSync(LwjglGraphics.java:558)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:124)
Have you any idea how these exceptions can be solved?
3. I also discovered that the map data seems to be loaded always from the internet and not cached.
Are there plans to cache the data?