MCPcopy Index your code
hub / github.com/NASA-AMMOS/3DTilesRendererJS

github.com/NASA-AMMOS/3DTilesRendererJS @v0.4.28

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.4.28 ↗ · + Follow
1,939 symbols 5,100 edges 284 files 182 documented · 9%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

3d-tiles-renderer

npm version build

JavaScript renderer implementation for the 3D Tiles format with support for both Three.js and Babylon.js. The renderer supports most of the 3D Tiles spec features with a few exceptions. For a list of available data sets and generation tools see the 3d Tiles resources list.

If a tileset or geometry does not load or render properly please make an issue! Example data is needed for adding and testing features. See the Feature Complete Milestone for information on which features are not yet implemented.

Getting Started

Installation

npm install 3d-tiles-renderer --save

API

Package Reference
3d-tiles-renderer/core API Reference
3d-tiles-renderer/three Usage Guide · API Reference
3d-tiles-renderer/babylonjs Usage Guide · API Reference
3d-tiles-renderer/r3f Usage Guide · API Reference

Plugins

Package Reference
3d-tiles-renderer/three/plugins Plugin Guide · API Reference
3d-tiles-renderer/core/plugins API Reference

Examples

The following examples use Three.js. Babylon.js demos are also available for Mars and Google Photorealistic Tiles.

See the Three.js usage guide or Babylon.js usage guide for setup details with each engine.

Example Description
Core
Dingo Gap Mars Multiple tilesets
Kitchen Sink All options and features
VR Rendering in VR
External Tiles Providers ¹
Cesium Ion 3D Tiles Standard Cesium Ion tileset
Cesium Ion Lunar Lunar surface tiles
Cesium Ion Mars Mars surface tiles
Google Photorealistic Google Photorealistic Tiles
Google Globe Google Globe Tiles
Customization
Custom Material Using a custom material
Offscreen Shadows Shadows from offscreen tiles
Texture Overlays Alternate texture overlays
Plugins
Metadata Tile metadata
Fade Transition Tile LoD fade transition
Deep Zoom Deep Zoom Image format
TMS / XYZ TMS, XYZ map tiles
WMTS WMTS map tiles
WMS WMS map tiles
Quantized Mesh Quantized mesh with overlays
Load Region Loading tiles in region volumes
GeoJSON GeoJSON overlays
Vector Tiles Mapbox Vector Tiles and Protomap Tiles overlays

¹ Requires a Google Tiles API Key or Cesium Ion API Key

Community Resources

Here is a reference to existing 3DTilesRendererJS integrations:

  • three-geospatial: Clouds and atmosphere rendering via a three.js geospatial rendering modules, alongside 3DTilesRendererJS.
  • 3D Tiles in MapLibre Guide: Official example showing how to render 3D tiles using a synced Three.js layer.
  • Giro3D: Framework for visualizing and interacting with heterogenous geospatial data in the browser, 2D, 2.5D and 3D data.
  • iTowns: Framework designed for the efficient visualization, navigation, and interaction with 2D and 3D geospatial data on the web.
  • threepipe Plugin: Plugin for the threepipe rendering framework integrating 3DTilesRendererJS.
  • 3DBAG Viewer: Web viewer for the 3DBAG dataset, a nationwide 3D model of all buildings in the Netherlands built with roofer.
  • Babylon.js Guide: Official documention on integrating 3DTilesRendererJS into your Babylon.js project.
  • Community Plugins: Additional community-maintained threejs plugins for 3DTilesRendererJS.

LICENSE

The software is available under the Apache V2.0 license.

Copyright © 2020 California Institute of Technology. ALL RIGHTS RESERVED. United States Government Sponsorship Acknowledged. Neither the name of Caltech nor its operating division, the Jet Propulsion Laboratory, nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

Extension points exported contracts — how you extend this code

QueryManagerContextType (Interface)
(no doc) [1 implementers]
src/r3f/components/SettledObjects.d.ts
EnvironmentControlsEventMap (Interface)
(no doc)
src/three/renderer/controls/EnvironmentControls.d.ts
FeatureTableHeader (Interface)
(no doc)
src/core/renderer/utilities/FeatureTable.d.ts
CompassGizmoProps (Interface)
(no doc)
src/r3f/components/CompassGizmo.d.ts
CameraTransitionManagerEventMap (Interface)
(no doc)
src/three/renderer/controls/CameraTransitionManager.d.ts
Tileset (Interface)
(no doc)
src/core/renderer/tiles/Tileset.d.ts
CameraTransitionProps (Interface)
(no doc)
src/r3f/components/CameraTransition.d.ts
TilesRendererEventMap (Interface)
(no doc)
src/three/renderer/tiles/TilesRenderer.d.ts

Core symbols most depended-on inside this repo

add
called by 322
src/core/renderer/utilities/LRUCache.js
set
called by 262
src/three/plugins/fade/PassThroughBatchedMesh.js
copy
called by 161
src/three/renderer/math/OBB.js
addEventListener
called by 140
src/three/renderer/tiles/TilesRenderer.js
dispose
called by 97
src/r3f/components/SettledObjects.d.ts
has
called by 84
src/three/plugins/images/utils/DataCache.js
get
called by 81
src/three/plugins/images/utils/DataCache.js
update
called by 63
example/three/src/plugins/topolines/TopoLinesPlugin.js

Shape

Method 1,017
Function 447
Class 426
Interface 47
Enum 2

Languages

TypeScript100%

Modules by API surface

src/three/plugins/images/ImageOverlayPlugin.js107 symbols
src/core/renderer/tiles/TilesRendererBase.js49 symbols
src/three/renderer/controls/EnvironmentControls.js42 symbols
src/three/renderer/controls/GlobeControls.js33 symbols
src/three/renderer/tiles/TilesRenderer.js32 symbols
src/three/plugins/utilities/GeometryClipper.js29 symbols
src/three/plugins/LoadRegionPlugin.js28 symbols
src/core/plugins/SUBTREELoader.js28 symbols
src/three/plugins/images/utils/TilingScheme.js26 symbols
src/three/plugins/images/sources/PMTilesImageSource.js25 symbols
src/three/plugins/DebugTilesPlugin.js25 symbols
src/three/renderer/controls/PointerTracker.js24 symbols

For agents

$ claude mcp add 3DTilesRendererJS \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact