Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/michaelzangl/josm-plugin-opengl
https://github.com/michaelzangl/josm-plugin-opengl
Last synced: 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/michaelzangl/josm-plugin-opengl
- Owner: michaelzangl
- Created: 2015-05-23T19:51:19.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2017-12-27T01:17:22.000Z (almost 7 years ago)
- Last Synced: 2023-09-01T06:11:16.005Z (over 1 year ago)
- Language: Java
- Size: 5.65 MB
- Stars: 7
- Watchers: 5
- Forks: 2
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# josm-plugin-opengl
This is a josm plugin that replaces the default, Java2D map view with a version rendered using OpenGL.
## Installing
See [Releases](https://github.com/michaelzangl/josm-plugin-opengl/releases)
## Compiling
For this plugin, you need a special version of JOSM and of GLG2D. For the ease of compiling, GLG2D is just added to the plugin by a symbilic link, so you need Linux to compile this.
Check out those repositories in the same directory:
* https://github.com/michaelzangl/josm-plugin-opengl
* https://github.com/openstreetmap/josm (JOSM with changes for this plugin).
* https://github.com/michaelzangl/glg2d (Bug fixes for GLG2D)Then run:
* ant josm/build.xml
* ant josm-plugin-opengl/build.xml## Developing
I use eclipse for developing. Simply add josm and josm-plugin-opengl as eclipse projects.
All classes have Javadocs. Those are the most important entry points to get started:
* OpenGLViewPlugin is the main entry point for the plugin.
* MapPanel is the OpenGL-replacement of the MapView
* LayerDrawManager does the layer drawing and replaces MapView#paint()
* StyleGenerationManager generates the styles and geometries for the current frame and - in a background thread - for future frames.
* StyleGeometryCache stores the geometries generated and handles invalidation.
* MergeGroup contains an explonation of the way geometries are stored.
* RecordingGraphics2D is our Graphics2D instance that records all draw calls and stores them for later use.
* the SimpeBuferPool pools our vertex buffers to avoid many allocate()-calls.