Skip to content

Releases: NASA-AMMOS/3DTilesRendererJS

v0.4.28

Choose a tag to compare

@gkjohnson gkjohnson released this 09 Jun 14:26

Fixed

  • Add in "pbf", "@mapbox/vector-tiles" and "pmtiles" as required dependencies in package.json to prevent failure in bundlers when they are not installed.

v0.4.27

Choose a tag to compare

@gkjohnson gkjohnson released this 25 May 10:16

Fixed

  • Bug introduced in adding "empty" tile events during traversal.

v0.4.26

Choose a tag to compare

@gkjohnson gkjohnson released this 25 May 08:48

Added

  • DebugTilesPlugin: Added support for displaying empty tiles that stop traversal so tile set structure is more clear.

Fixed

  • EnvironmentControls: Zooming into nothing now works when geometry is not below the camera.
  • ImageOverlayPlugin: Fixed plugin firing "needs-rerender" rather than a "needs-render" event.

Changed

  • TilesRendererBase: "tile-download-start" event now specifies "url" rather than "uri" as a field.
  • TilesRendererBase: Deprecated "load-content" plugin.

v0.4.25

Choose a tag to compare

@gkjohnson gkjohnson released this 21 May 04:25

Added

  • "GeneratedSurfacePlugin" for generating an ellipsoidal or planar surface based on an "ImageOverlay".
  • Improved support for ExternalTexture memory tracking.
  • StructuralMetadata: Throw an error in getPropertyTableData when non-matching argument types are passed.
  • MVTOverlay, PMTilesOverlay: Overlays for reading and rendering vector tile formats as tile overlays.
  • TilesRenderer: Added "loadAncestors" option.
  • GlobeControls, EnvironmentControls: Add "enableFlight" option for free controls.

Fixed

  • ImageFormatPlugins: Fixed case where tile nodes could be created and never released.
  • Converted remaining "three/examples/jsm/" paths to "three/addons/"
  • ImageOverlayPlugin: Geometry tiles will now continue to load and display even if an overlay texture fails to load.
  • ImageOverlayPlugin: If an overlay fails to load then a "load-error" will be thrown on TilesRenderer.

Changed

  • Deprecated "ImageFormatPlugin" and derivative plugins to reduce code redundancy. Use "GeneratedSurfacePlugin" & "ImageOverlayPlugin", instead.

v0.4.24

Choose a tag to compare

@gkjohnson gkjohnson released this 10 Apr 08:30

Added

  • TilesRenderer: Added support for reverse depth buffer.
  • Scheduler class for setting an XR session to use for rAF callbacks.

Changed

  • EnvironmentControls: PivotMesh is now added to the scene before the "start" event is fired.
  • ImageOverlayPlugin: Do not allocate a render target for compositing if only a single tile is returned that exactly matches the tile bounds.
  • WMTSImageOverlay, WMTSTilesPlugin: Deprecated "capabilities" argument, adjusted options so literals can be passed.
  • Changed "three/examples/jsm" paths to "three/addons"
  • ImageOverlayPlugin: Image overlay tile levels are now determined using image resolution rather than depth.

Fixed

  • Ellipsoid.getPositionToCartographic: fixed incorrect calculation of cartographic point.
  • ImageOverlayPlugin: Fix case where UVs can be generated as NaN.
  • ImageFormatPlugin: Adjust root tile geometricError to be Infinity.
  • ImageOverlays: Updated types.
  • EnvironmentControls: Removed use of "THREE.Clock"

v0.4.23

Choose a tag to compare

@gkjohnson gkjohnson released this 18 Mar 04:39

Added

  • DebugTilesPlugin: Added support for "boundsColorMode".
  • Auto-generated documentation via JSDoc.
  • DebugTilesPlugin: Add partially transparent solid geometry for region & sphere helpers.

Fixed

  • QuantizedMeshPlugin: Fixed case where child tiles could be added redundantly.
  • QuantizedMeshPlugin: Fixed case where tiles could throw error on disposal due to be incomplete.
  • ImageOverlayPlugin: Fixed case where split tiles could be added and not be processed.
  • BatchedMesh: Fix instances not being released when "discardOriginalContent" is true.

v0.4.22

Choose a tag to compare

@gkjohnson gkjohnson released this 06 Mar 03:19

Added

  • Types for gltf metadata extensions.
  • Event and other types to TilesRendererBase for use in thee.js and Babylon.js.
  • ImageOverlayPlugin: Add support for splitting "ADD" refinement tiles.
  • Babylon TilesRenderer: Added "checkCollisions" option.

Fixed

  • LoadRegionPlugin: Add typings for new function, fix bug related to "distance" calculations.
  • GlobeContorls: Account for ellipsoid frame scale when calculating max zoom out distance.
  • Babylon TilesRenderer: Adjusted imports to support treeshaking.
  • ImageOverlayPlugin: Fix case where removing all overlays does not clear overlay textures correctly.
  • UnloadTilesPlugin: Fix case where the plugin would incorrectly retain tiles references, resulting in a memory leak.
  • OptimizedLoadStrategy Option: Add compatibility for QuantizedMeshPlugin, ImageOverlayPlugin.enableTileSplitting.

v0.4.21

Choose a tag to compare

@gkjohnson gkjohnson released this 03 Feb 23:25

Fixed

  • Fixed path for babylonjs typescript definitions.

v0.4.20

Choose a tag to compare

@gkjohnson gkjohnson released this 03 Feb 12:24

Added

  • Added support for Babylon.js
  • TilesRenderer: Add "queued" status and stats counter for tiles in addition to "downloading" and "parsing".
  • TilesRenderer now removes tiles from the download queue if they are no longer needed for rendering. Tiles will continue to process if they are mid-download or parsing.
  • I3DMLoader: Added support for oct-encoded normals.
  • TilesRenderer: Added "optimizedLoadStrategy" and "loadSiblings" options. These are experimental settings and are planned to be the default and only tile load strategy.
  • R3F: added "EllipsoidContext" with "ellipsoid" and "frame" fields
  • Export FeatureTable, BatchTable classes.
  • TilingScheme: "tileSplitX" and "tileSplitY" variables per tile
  • XYZImageFormat: add "projection" option and ability to set tile settings per-level.
  • DebugTilesPlugin: add "update" function so settings can be updated without updating tiles.
  • LoadRegionPlugin: Added "calculateDistance" function to regions, used for tile load sorting.
  • TilesRenderer: Added "maxTilesProcessed" field to adjust how much time is spent per frame processing tiles during traversal.

Changed

  • ImageOverlayPlugin: Textures are now assumed to be straight alpha.
  • ImageOverlayPlugin: Refactor image overlays to afford drawing directly to region textures.
  • GeoJSONOverlay: Add "redraw" function to redraw the geojson once it's changed
  • Renamed the "cached" tile subfield to "engineData".
  • Moved a number of tile fields into "traversal" and "internal" subfields on "tile" object.
  • ImplicitTilingPlugin: Moved implicit tiling fields onto a new "implicitTilingData" object.
  • DebugTilesPlugin: Replaced "getTileInformationFromActiveObject" function with "getTileFromObject3D".
  • DebugTilesPlugin: Add transparent mesh to box helper visualization.
  • TilesRenderer: Moved "update-before", "update-after" events to TilesRendererBase.
  • Plugins: moved handling of "doTilesNeedUpdate" to TilesRendererBase.
  • TilesRenderer: "dispose-model" even is now fired before "dispose" is called on sub objects.
  • Simplified handling of processed children, removed internal.processedChildren.

Fixed

  • Fix mouse offset in Controls.
  • Fixed case where DebugTilesPlugin could throw an error when toggling "enabled".
  • DebugTilesPlugin: Fixed case where "enabled" was not resepected if set to false on creation.

v0.4.19

Choose a tag to compare

@gkjohnson gkjohnson released this 19 Dec 14:08

Changed

  • Moved "GoogleCloudAuthPlugin" to "3d-tiles-renderer/core/plugins".
  • Moved "CesiumIonAuthPlugin" to "3d-tiles-renderer/core/plugins".
  • CesiumIonAuthPlugin: Auto-registration of QuantizedMesh and TMS plugins has been removed. See "assetTypeHandler" to register the necessary plugins as-needed.
  • TilesRenderer: "load-tile-set" event has been renamed to "load-tileset"
  • TilesRenderer: "load-tileset" payload member "tileSet" has been renamed to "tileset"
  • TilesRenderer: "rootTileSet" member has been renamed "rootTileset"
  • TilesRenderer: "loadRootTileSet" function has been renamed to "loadRootTileSet"
  • TilesRenderer: "preprocessTileSet" function has been renamed to "preprocessTileSet"
  • Documentation and other variable names have adjusted any instances of "tile set" to "tileset" to align with the 3D Tiles specification nomenclature.

Added

  • Added "assetTypeHandler" to "CesiumIonAuthPlugin" for registering plugins based on loaded asset type.
  • Empty "addEventListener" and "removeEventListener" implementations to TilesRendererBase.
  • ImageOverlay: Added "alphaMask", "alphaInvert" options.
  • CesiumIonOverlay: Added automatic support Bing & Google Maps overlays.
  • QuantizedMeshLoader, QuantizedMeshPlugin: Added "generateNormals" option for cases where normals are not embedded.
  • Added "load-root-tileset" event.

Fixed

  • Controls: Fixed case where pointer state may not have been reset correctly.
  • ImageOverlayPlugin: "enableTileSplitting" now works with "ADDITIVE" tiles.
  • EnforceNonZeroErrorPlugin: adjusted error is now based on the first parent with geometric error encountered.
  • Fixed up some types.
  • Improved "Bounding OBB" and "Bounding Sphere" generation for "Region" bounding volumes.
  • PriorityQueue: fix case where entries were not being moved correctly by "removeByFilter".
  • ImageOverlayPlugin: Fix case where overlay data were not being handled correctly when adjusting frames.
  • ImageOverlayPlugin: Added a more clear error when "renderer" is not provided.
  • ImageFormatPlugin: Adjust the plugin to account for aspect ratio in error calculation.