WorldWind Kotlin v2.0.3 #161
EMaksymenko
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
WorldWind Kotlin 2.0.3
11 commits since 2.0.2.
3D Tiles (new)
OGC / Cesium 3D Tiles 1.0 / 1.1 streaming layer. Supports
b3dm/i3dm/cmpt/pnts/ glTF binary / Gaussian-splat payloads, served via Cesium Ion + Google Photorealistic + Bearer / custom-headers auth providers, with per-feature picking through batch tables. Vertical-datum correction viaaltitudeOffset+altitudeMode(ABSOLUTE/RELATIVE_TO_GROUND/CLAMP_TO_GROUND). Stencil-masked skip-LoD keeps fallback tiles visible under refining children without inter-LoD flicker.Niantic SPZ Gaussian-splat codec wired in via the
gaussianLoaderhook onOgc3dTilesLayer.Tutorials: OGC Container (Utrecht), Google Photorealistic, Cesium Ion (defaults to asset 96188 OSM Buildings; swappable to any Ion asset).
Codec modules — new, independent Maven coordinates at 1.0.0
Three optional native-backed glTF extension modules. Each ships per-platform binaries (JVM JARs for
macos-aarch64/macos-x86_64/linux-x86_64/windows-x86_64; Android AARs for all four ABIs; iOS klibs via cinterop) and registers itself with the engine at startup via the correspondinginstallXxxDecoder()call.earth.worldwind:worldwind-formats-gltf-draco:1.0.0KHR_draco_mesh_compression+3DTILES_draco_point_compressionearth.worldwind:worldwind-formats-gltf-ktx2:1.0.0KHR_texture_basisu(Basis Universal)earth.worldwind:worldwind-formats-gltf-meshopt:1.0.0EXT_meshopt_compressionThe engine has no compile-time dependency on these — add them to your build only if your tilesets use the matching extension.
Fixes
Int16Array(little-endian on x86/ARM) while the NGA file is big-endian per spec, returning byte-swapped offsets. Terrain mesh drifted by the local geoid separation: Utrecht tilesets levitated ~44 m above terrain, Manhattan OSM Buildings sat ~34 m below it. Fixed inwebMain/EGM96Geoid.kt.Other changes
WorldWindowswapped fromGLJPanelto heavyweightGLCanvas. Fewer blit copies, no PBO contention with Swing's repaint, far better per-frame stability under continuous redraws.CachePolicy: removed themaxBytescapacity cap. LRU eviction pressure makes the hard ceiling redundant; callers size caches by working-set instead.gradle.properties(worldwind.version,worldwind.codecsVersion) for CI-driven auto-release on master pushes when either advances past Maven Central.Web tutorial host (GitHub Pages)
The Pages tutorial bundle now reads
CESIUM_ION_TOKENandGOOGLE_MAPS_API_KEYfrom repository Secrets at build time. Keys ship inside the public JS bundle, so they must be locked at the provider — HTTP-referrer restriction on the Google Maps Platform key (Map Tiles API only), asset-scoped + referrer-allowlisted Cesium Ion token (assets:readonly). Placeholders fall back at build time for local dev without secrets configured.This discussion was created from the release WorldWind Kotlin v2.0.3.
Beta Was this translation helpful? Give feedback.
All reactions