tudelft3d / azul

3D city model viewer for Mac
GNU General Public License v3.0
101 stars 15 forks source link
3d-city-model azul cgal citygml cityjson gml gplv3 indoorgml metal obj off poly pugixml

Icon azul

azul is a 3D city model viewer It is intended for viewing 3D city models in CityGML 1.0 and 2.0, CityJSON 1.0, 1.1 and 2.0 (including CityJSON Text Sequences), IndoorGML, OBJ, OFF and POLY. It supports loading multiple files, selecting objects by clicking them or selecting them in the sidebar, toggling the visibility of individual items, and browsing their attributes. It is research software, but it is pretty stable and most datasets already work without problems. It is available under the GPLv3 licence.

The current version of azul is for macOS 14 and higher and supports both Apple Silicon and Intel Macs.

Controls

Download

You can download the latest stable release of azul in the releases page or from the App Store. If you want more information on how to compile it from source, see below.

Random3DCity

LOD2 example

Railway

New York City

Leiden

Zurich

Technical details

azul is written in a mix of C++17, Swift 5, Objective-C 2 and Objective-C++. The core is written in C++ for future portability, but it uses Apple's Metal for visualisation and SIMD for fast vector/matrix computations. It uses pugixml to parse XML, simdjson to parse JSON, and the CGAL Triangulation package to triangulate concave polygons for display.

Not implemented / ideas for the future

Compilation

We have included an Xcode 15 project to easily compile azul. It should be possible to compile azul on older macOS versions (from 10.14 onwards), but old versions of Xcode (older than 10) cannot compile Swift 5.

azul depends on the following libraries: Boost, CGAL, GMP, MPFR, pugixml and simdjson. Most of these can be easily obtained using Homebrew, but we provide fat libraries (arm64 + x86_64) of them all for convenience.

Licence

azul is available under the GPLv3 licence.