UtyMap is library for building real city environment dynamically using various data sources (mostly, OpenStreetMap and Natural Earth). It includes:
- rendering of different models (e.g. buildings, roads, parks, rivers, POI, etc.) using map data for given location on the fly by terrain tiling approach and different zoom levels
- easy customization of rendered models using mapcss file
- non-flat terrain with Data Elevation Model (SRTM) files
- modification of city environment (terrain craters, corrupt buildings, etc..)[planned]
The library can be used to build different 3D-games (like car simulations or GTA 2/3 ) or some map tools. Target platforms are planned as all popular mobile OS and VR devices supported by Unity3D.
Project consists of two sub-projects:- core contains essential logic written on C++11 to build library for constructing of map based apps: terrain/buildings/osm-objects mesh generators, mapcss parser, spatial geo index, etc.
- unity contains examples written on C# which can be reused to build map oriented Unity apps using core library. It will demonstrate basic use cases: globe zoom level rendering, 3D scene with all details.
Project is under development, more details will be given later.
Core library has some dependencies. The following versions are used in development environment:- CMake 3.1 or higher. Some specific flags (CMAKE_CXX_STANDARD, POSITION_INDEPENDENT_CODE) are used.
- Boost 1.55 or higher. Boost is used only for parsing mapcss, xml deserialization and unit testing.
- Protobuf library and compiler 2.6.1 or other compatible. Protobuf is used for parsing osm pbf files.
- zlib 1.2.8 or other compatible. Used for osm pbf files decompression.
OS specific instructions can be found here: