3D Renderer for GeoTools Renders a 2D map on an infinite 3D surface Uses variable level of detail –Closer areas are more detailed than far away ones A standard Swing Component with mouse gesture navigation
Screenshot
Implementation Uses a Quad Tree of tiles, to get variable level of detail –The Quad Tree Nodes are expanded or collapsed as the camera gets closer or further away Has a Texture Renderer interface used to render the ground tiles –Easy to provide a custom ground texture Tiles are rendered in a separate rendering thread –While a tile is rendered, a section of the parent tile is shown instead
Current Limitations Slow performance with large maps –The 3D renderer renders every tile separately –But the GeoTools 2D StreamingRenderer iterates through all the map data when rendering a small area No elevation yet –The landscape is flat
Future Plans Elevation data support 3D styles for features –Buildings, roads, forests, 3D objects at points Tiled ground textures –Texture to use determined by local terrain type –Faster than rendering a 2D map on the ground –More natural looking –But features will need to be presented as 3D objects Will be used in an open source multiplayer game –Skycastle.orgSkycastle.org
Contact Wiki page: endering+Pipeline+for+GeoTools endering+Pipeline+for+GeoTools –Or just google for “3D Map Renderer” Developer: Hans Häggström –