Skip to content

Releases: NASA-AMMOS/3DTilesRendererJS

v0.3.41

07 Nov 03:20
Compare
Choose a tag to compare

Added

  • R3F CameraTransition component to r3f export.
  • CameraTransitionManager to core.

Fixed

  • Added name field to "UpdateOnChangePlugin".
  • CameraTransitionManager: Adjust the calculation for the near plane distance to avoid clipping in some cases.

Change

  • Revert change that would cause the root tiles to "trickle" in over time if the root is empty and uses an "ADD" refinement. Tiles will now only render once a full set of child tiles can be rendered.
  • Update "BatchedTilesPlugin" to rely on three.js r170, leverage new copy capabilities.
  • TilesRenderer plugins and GLTF Extensions have been moved to 3d-tiles-renderer/plugins export path.

v0.3.40

28 Oct 15:12
Compare
Choose a tag to compare

Added

  • I3DMLoader: Add support for EAST_NORTH_UP semantic.
  • R3F TilesRenderer: Added group property for passing react properties to the root tile set object.
  • R3F <CompassGizmo> component.

Changed

  • Slightly modified the traversal algorithm to not require loaded content (and therefore for content to exist) in order to trigger child tiles to load.
  • GlobeControls: renamed "updateClipPlanes" to "adjustCamera".
  • CameraTransitionManager: added "autoSync" and "syncCameras" function.
  • GlobeControls: Adjust behavior of zoomed out rotation to keep the grabbed point under the pointer.

Fixed

  • EnvironmentControls: Assign the current camera to the raycaster.
  • Typescript definitions for TilesRenderer.
  • Case where the closest hit was not returned with "firstHitOnly" raycasting.
  • R3F TilesRenderer: Fix case where the tiles renderer context would not trigger an update when options changed.
  • UpdateOnChangePlugin: Fix case where tiles would not update correctly if plugin was added after cameras.
  • EnvironmentControls: Correctly mark "wheel" event as non-passive.

v0.3.39

15 Oct 07:46
Compare
Choose a tag to compare

Added

  • ReorientationPlugin and GLTFExtensionsPlugin.
  • Ability to remove plugins via the unregisterPlugin function.
  • Support for octree subdivision to implicit tiling.
  • Initial BatchedTilePlugin implementation to examples.
  • Initial support for @react-three/fiber with component implementations exported as 3d-tiles-renderer/r3f. See the r3f docs for more information.

Changed

  • LRUCache minSize and maxSize variables to default to 6000, 8000.
  • Added getAttributions function, deprecated getCreditsString function.
  • GoogleCloudAuthPlugin: Use the photorealistic tiles url if a user has not provided one.
  • GoogleCloudAuthPlugin: Modify the tiles renderer to use recommended settings for Google Photorealistic Tiles by default.
  • Deprecated GooglePhotorealisticTilesRenderer.
  • Improve EnvironmentControls momementum thresholds so movement stops sooner.

Fixed

  • Case where tile set scale was incorrectly used when computed screenspace error.
  • Case where setTileVisibility could get called asymmetrically.
  • Case where TilesFadePlugin would hold on to scene geometry after disposal.

v0.3.38

30 Sep 08:44
Compare
Choose a tag to compare

Added

  • BatchTable: Added "getPropertyArray".
  • GoogleCloudAuthPlugin, CesiumIonAuthPlugin: added "autoRefreshToken" option to enable automatically refreshing the token when requests fail due to timeout.

Fixed

  • Fixed type definition.
  • GlobeControls, EnvironmentControls: Account for near and far camera clip distances.
  • I3DMLoader: Fix cases where external files may not be loaded correctly.
  • Documentation typo: maxByteSize -> maxBytesSize.
  • Documented that LRUCache's maxByteSize and minByteSize are only compatible with three.js >= r166
  • Environment / GlobeControls: Fixed the pivot point mesh appearing when controls are disabled.
  • Case where LRUCache could cause tiles to load repeatedly.

v0.3.37

27 Aug 09:46
Compare
Choose a tag to compare

Added

  • TilesOverlayPlugin: Added support for waiting until textures finish loading to display.
  • BatchTable: count field to get the number of id / entries.
  • I3DMLoader: Added support for RTC_CENTER feature.
  • TilesRenderer: Added initial support for implicit tiling.
  • LRUCache: Support for setting the min and max byte size for the cache which accounts for geometry and texture sizes.
  • Plugins: Added "UpdateOnChangePlugin" to the examples folder.
  • EnvironmentControls: Added "enableDamping" option for inertial animation.
  • Ellipsoid: Added "getEastNorthUpAxes".
  • Ellipsoid: Added "getAzElRollFromRotationMatrix" and "getRotationMatrixFromAzElRoll"
  • TilesRendererBase: Tiles are now queued and sorted before triggering load to avoid only a single tile set branch loading and filling up the lru cache.

Changed

  • TilesOverlayPlugin: Changed constructor to take options object, instead.
  • TilesRenderer: Removed loadSiblings option.
  • TilesRenderer: Removed stopAtEmptyTiles option.
  • LRUCache: Tiles continue to be unloaded even when the tiles renderer update function has not been called.
  • TilesRenderer: Deprecate "preprocessURL" function.
  • Ellipsoid: Renamed "constructLatLonFrame" to "getEastNorthUpFrame".
  • Ellipsoid: "getNorthernTangent" function has been deprecated.

Fixed

  • GlobeControls: cases where the camera far clip plane was set too close causing some far tiles to not display.
  • GlobeControls: When zooming out the amount that the camera automatically orients is now based in part on zoom amount.
  • TilesRenderer: Adjust tile traversal behavior so child tiles of "ADD" refinement are not forced to load.
  • GlobeControls: Zoomed-out ellipsoid rotation is now scaled based on camera parameters and ellipsoid size.
  • I3DMLoader: SCALE and SCALE_NON_UNIFORM are now both applied when present.
  • I3DMLoader: Instances now work correctly when parent group transforms are applied.
  • EnvironmentControls: Fixed case where zoom would not work if the mouse had not been moved.
  • TilesRenderer: Fix case where raycasting could throw an error.

v0.3.36

25 Jul 13:54
Compare
Choose a tag to compare

Added

  • tiles-load-start and tiles-load-end callback indicating when tile loading has completed finished.
  • camera-add, camera-delete, update-before, update-after events.
  • Initial implementation of plugin system.
  • TileCompressionPlugin to examples for lowering memory usage.
  • GoogleCloudAuthPlugin and CesiumIonAuthPlugin to enable fetching data from the associated APIs.
  • Added GooglePhotoRealisticTilesRenderer class.
  • Added support for the 3DTILES_batch_table_hierarchy extension.

Fixed

  • CameraTransitionManager: Variety of cases relating to negative orthographic camera "near" values.
  • GlobeControls: Speed change when transitioning between near and far behavior.
  • GlobeControls: Behavior now relies on camera field of view.
  • GlobeControls: Zooming out from the horizon no longer spins the globe.
  • GlobeControls: Add support for orthographi camera.
  • Remove unnecessary matrix instantiation during tiles parse.
  • getBoundingBox and getOrientedBoundingBox returning an incorrect condition when no bounding volume is present.
  • Fix case where an incorrect SSE metric was produced when tiles used non-uniform scales with oriented bounding box volumes.
  • Fix case where potentially incorrect raycast results were produced when tiles used non-uniform scales with oriented bounding box volumes.
  • GLTFStructureMetadata extension exits gracefully if no extension is present.

Changed

  • CesiumIonTilesRenderer: Will immediately load the tile set after resolving credentials.
  • Examples FadeTilesRenderer has been changed to a plugin.
  • Deprecated GoogleTilesRenderer and CesiumIonTilesRenderer in favor of using the new authentication plugins.
  • Loaders: ".load" function has been renamed to ".loadAsync".
  • Deprecated onLoadTileset, onLoadModel, onDisposeModel, and onTileVisibilityChange in favor of their event equivalents.
  • LRUCache: "unloadPriorityCallback" has been changted to take two tile arguments to sort instead of one.
  • DebugTilesRenderer has been deprecated in favor of the "DebugTilesPlugin".
  • LRU Cache unload priority function now unloads deepest tiles first, then least recently used, then non-external tile sets.

v0.3.35

25 Jun 03:14
Compare
Choose a tag to compare

Fixed

  • Lint rules causing build failures.

v0.3.34

18 Jun 11:55
Compare
Choose a tag to compare

Added

  • Export EXT_mesh_features & EXT_structural_metadata extensions for glTF.

Fixed

  • Syntax errors causing failure to import in some cases.

v0.3.33

31 May 13:45
Compare
Choose a tag to compare

Added

  • EnvironmentControls: Add support for othographic zoom.
  • EnvironmentControls: Add "zoom speed" option.
  • PNTSLoader: Add batchTable to the returned points object.
  • Support for improved, early termination raycasting from three.js r165.

v0.3.32

17 May 05:09
Compare
Choose a tag to compare

Added

  • EnvironmentControls: Add support for othographic zoom.
  • EnvironmentControls: Add "zoom speed" option.
  • PNTSLoader: Add batchTable to the returned points object.
  • Support for early termination raycasting from three.js r165 to improve raycast speed, support overriden raycast functions.

Fixed

  • Some cases where the camera jumped and drifted while reorienting the "up" direction.