Releases: Gaia3D/mago-3d-tiler
mago-3d-tiler v1.15.4
mago-3d-tiler v1.15.4
This release introduces Geoid height support and vertical skirt generation for photogrammetry tiles.
You can now easily convert datasets based on orthometric height (MSL) to ellipsoidal height.
In addition, this version includes a custom temp directory option and major improvements to point cloud conversion performance and stability.
[Feature Additions]
-
Geoid Height Support
By default, heights are handled based on the ellipsoid.
You can apply the built-in EGM96 geoid or specify a custom external geoid file.
Usage example:
--geoid EGM96
--geoid {custom_geotiff_path} -
Custom Temp Directory Option
You can now specify a custom temporary directory.
This can help improve performance, for example by using an SSD as the temp path.
Usage example:
--temp /work/temp -
Photogrammetry Vertical Skirt Support
Adds vertical skirts to photogrammetry tiles to reduce visual gaps between tiles.
[Feature Improvements]
-
Point Cloud Conversion Performance & Stability Improvements
- Improved memory stability by applying chunk-based tiling to prevent memory leaks
- Improved conversion speed through internal optimization and faster point shuffling
-
i3dm (GPU Instancing Model) Conversion
- Slight reduction in memory usage during conversion
-
b3dm (Batching Model) Conversion Improvements
- Improved conversion efficiency by pre-creating temp resources
-
Tile Generation Flow Improvement
- Content is now generated starting from the root node
mago-3d-tiler v1.14.0-release
mago-3d-tiler v1.14.0-release
Work has been busy, but I wanted to push a meaningful update before FOSS4G.
Next, I plan to focus mainly on improving performance/stability and GIS Vector conversion features.
[Feature Additions]
-
(🧪Experimental) Earth Curvature Correction
Can be applied when curvature correction is required.
Useful for some datasets using Cartesian 2D coordinate systems.
Usage example:--curvatureCorrectionor shorthand-cc -
(🧪Experimental) SplitByNode option
If the input scene is organized with buildings as separate nodes,
you can now split them and tile per-building automatically.
Usage example:--splitByNodeor shorthand-sbn
[Feature Improvements]
-
Photogrammetry Quality Enhancements
Reduced the visual gap between low LOD and high LOD.
(Performance will be improved further in later releases.) -
Misc transform-related tests & improvements
-
Mesh Quantization improvements + bug fixes
mago-3d-tiler v1.13.1-hotfix
mago-3d-tiler v1.13.1-hotfix
[Hotfix]
Fixed bug with --merge function after v1.13.0-release update
- Depending on the version of tileset.json you want to generate, you can apply the
--tilesVersion 1.1option.
mago-3d-tiler v1.13.0-release
mago-3d-tiler v1.13.0-release
This release adds initial support for the 3D Tiles 1.1 specification and introduces ECEF (EPSG:4978)-based tiling.
The ECEF feature is in an early stage and will be improved based on future feedback.
[Feature Additions]
Support for 3D Tiles 1.1 Specification
- The default tileset version is now
1.1. - You can still generate tiles in the
1.0format by using the option:--tilesVersion 1.0
- Legacy tile formats (
b3dm,i3dm,pnts) have been replaced with glTF (.glb) based structures. - Extension handling has been updated to use both Tileset and glTF extensions as specified in the 1.1 standard.
ECEF (Earth-Centered, Earth-Fixed) Tiling Support (EPSG:4978)
- Add support for ECEF Cartesian tiling using:
--crs 4978
- BoundingVolume
boxgeneration is based on the Cartesian center of the Earth.
Enhanced Tile Transform Features
- Reworked internal handling for:
- Y-Up correction
- Scale
- Rotation
- Translation
These changes improve alignment across CRS and 3D engine compatibility.
[Deprecated]
The following options have been deprecated in this release and will be removed in a future version:
-
Experimental features removed
--largeMesh--voxelLod
-
Replaced by
--rotateXAxisfeature--autoUpAxis--swapUpAxis--flipUpAxis
mago-3d-tiler v1.12.0-release
mago-3d-tiler v1.12.0-release
This release includes major feature additions and fixes, notably support for Photogrammetry conversion and the GeoPackage format. We've also added support for point cloud intensity/classification properties, the ability to generate i3dm from polygons, and more.
As a side note, I'm working on automating release note generation from PRs, since writing them manually is quite tedious.
[Feature Additions]
GeoPackage format support.
- Converts geometry-only GeoJSON and SHP files into extrusion/pipe/i3dm tiles.
i3dm: Automatically Create Point Instances from Vector Polygons
- Conversion can be controlled using density and scale values.
- Useful for tree datasets (e.g., clinical chart data).
- New CLI options:
--densityColumn "density_value"--scaleColumn "scale_value"
Add Photogrammetry Tiling feature
Used to process mesh data generated by photogrammetry method.
Generated by b3dm but can be executed by adding --photogrammetry option.
- Split and rearrange large 3D model data
- Automatically generate models with LODs
- This feature utilizes GPU and may not work properly on devices that do not recognize GPU.
Point Cloud Intensity/Classification Properties Added
INTENSITYandCLASSIFICATIONproperties added to the.pntsfile BatchTable.- Example usage in CesiumJS:
tileset.style = new Cesium.Cesium3DTileStyle({
color: "rgb(${INTENSITY}, ${INTENSITY}, ${INTENSITY})"
});Multi-Geotiff support for terrain data
You can now specify terrain paths in the form of directories.
You can use both --terrain /data/terrain.tif and --terrain /data/terrains.
- However, it may have a performance impact.
Add Tileset merge function
Search for tileset.json files in a subfolder by output path and run
and link them.
You can do this by passing /parent as an argument to input and output when you have a directory structure like the one below.
/parent/
/parent/child1/tileset.json
/parent/child2/tileset.json
/parent/child3/child1/tileset.json
/parent/child4/child1/tileset.json
...
Example usage:
--input <arg> --output <arg> --merge [Feature Improvement]
- The JAR File is now unified and no longer split by platform (
Windows,Linux,macOS). - A floor plane has been added to extrusion models, allowing classification with CesiumJS.
- Improved automatic CRS detection when reading GIS vector and LAS data, even if the
-crsflag is not provided.
[Bug Fix]
- Fixed a normalization bug in geometry processing.
- Resolved an issue where
zheight values becameNaNwhen converting polylines. - Fixed the
refineAddbug so it is now always applied when working withVector2Ddata.
[Deprecated]
- The
--zeroOriginoption has been deprecated.
mago-3d-tiler v1.11.6
mago-3d-tiler v1.10.6
[Changed in version 1.10.6]
Fixed some issues with i3dm generating,
improved the ability to convert large Point Cloud following the last release.
And some minor improvements.
[Feature Additions]
- added pointcloud
--force4ByteRGBoption, default color byte length is 8 bytes. - Added the ability to rotate point type vector data by the value of the heading attribute.
-hd <arg>,--headingColumn <arg> - Added automatic CRS references when converting GeoJSON, Shape, and LAS files (experimental)
[Feature Improvement]
- Point type vertor data now also has original attributes added per feature
- Change geotiff height reference part nearest -> bilinear interpolation method
- Changed JPEG processing method (to allow adjustable compression ratio)
[Feature Fix]
- Applied out-of-range exception handling to GeoTIFF height reference function
- Fixed KML translation bug
- Fix to replace RGB attribute in Point Cloud(LAS) file with intensity value when it is missing
mago-3d-tiler v1.10.0
[Changed in version 1.10.0]
In this release we wanted to improve memory issues with the overall large data conversion process.
We have lightened the point cloud tile results and made it possible to convert larger point cloud data.
We also made the CityGML conversion more compatible.
[Feature Additions]
-
Support for converting large point cloud files
Improved memory stability by changing the way points are stored in temporary files during conversion instead of in memory.
which is more memory stable, but slower. -
Apply quantisation to point cloud tiles. Quantization the resulting data to make it lighter.
-
Changed point cloud options to include.
Removed the--pointSkipand--pointScaleoptions.
Added an option to convert to point cloud source-level point counts Available with options--sourcePrecision,-sp
Added option for percentage of points relative to the point cloud source
--pointRatio {100},-pr {100}
Available as options Values from 1 to 100, default is50% -
Changed option to fix Y-UP Axis Z-UP Axis issue, added as X-Axis rotation feature,
Using--swapUpAxis,--flipUpAxisoptions is now not recommended, will be removed in next release.
Can be used with--rotateX {degree},-rx {degree}instead
--swapUpAxis -> --rotateX "-90.0"
--flipUpAxis -> --rotateX "180.0"
Note that the ‘-’ character can cause problems with negative separators and option separators.
- Added transformation offset options
--xOffset {X Offset}
--yOffset {Y Offset}
--zOffset {Z Offset}
When transforming data, you can give an offset for each axis. Units are determined by projection.
Also available as :
-xo {X Offset}
-yo {Y Offset}
-zo {Z Offset}
- Reduced memory usage for Shape and Geojson conversion features.
- Improved CityGML conversion compatibility, now converts most tags.
[Feature Improvements]
- Fixed memory leak when converting assimp. (improved memory usage)
- Embed point cloud TransformMatrix in
pntsfile instead of tileset.json to reduce json file size. - Improved point cloud geometric error calculation.
- Improved
GaiaTexCoordCorrectorfunction. (more compatibility) - Improved Gradle project structure for OpenGL add-ons (Parent-Child structure) .
- Added arm64 architecture docker option.
mago-3d-tiler v1.9.0
[Changed in version 1.9.0]
We've enhanced the overall functionality based on issues and questions.
[Feature Additions]
- Added TextureCoordinate correction (toPositiveQuadrant)
Added a feature to correct the TextureCoordinate of a 3D Models.
Textures are no longer crushed when creatingB3DM. - Tessellator improvements.
Tessellation with holes is now applied to 3D Tessellation.
This allows for better conversion of CityGML, Geojson, and Shape. - When converting to CityGML, window and water classification now convert diffuse color to translucent.
[Feature Improvements]
- Minor performance improvements when saving/loading
GaiaSet(by applying a buffer to the I/O). - Fixed bug with resizing copied texture images.
- Fixed conversion failing when pipeline is less than 100.
- Fixed “Double” parsing bug based on system locale (for decimal comma separator)
mago-3d-tiler v1.8.1
[HotFix 1.8.1 Change Log]
- Change to add attributes when converting pipes
- Handling nulls on ASCII conversion failures
[Changed in version 1.8.0]
This release is an overall enhancement.
Tessellation was enhanced to make CityGML more convertible.
For pipes, we chose diameter and millimeter (mm) units to align with more commonly used specifications
[Feature Additions]
- Implemented
LargeMeshConverteras an experimental feature for converting large meshes, applicable with--largeMeshor-lmoption - Improved tessellation functionality, now supports three-dimensional tessellation with innerings.
- Improvements to better convert CityGML format (tessellation, classfication)
- Fixed to save all attribute values of original features when converting ESRI Shapefile and Geojson files
[Feature Improvements]
- Modified pipe creation logic, changed to more appropriate units for pipe data
changed radius -> diameter command option to--diameterColumn <arg>or-dc <arg>instead of-radiusColumn <arg>
changed to use Millimeter (mm) as the default unit - Changed i3dm tiling threshold (number of triangles -> number of instances)
- Modified the structure of Common Module 3D Scene Structure
- Fixed temporary file creation to use Serialize when creating temporary files
- Minor syntax and fixes



