-
Notifications
You must be signed in to change notification settings - Fork 3.6k
Open
Open
Copy link
Description
This issue tracks progress on 9.0 features related to geospatial support in Babylon.js
This includes
- Large world rendering (internally offsetting world to be camera-centric to avoid jittering caused by floating point imprecision with large coordinates)
- Geospatial camera (designed to orbit a globe in 3D)
- Base 3D Tile Loader (supporting explicit tileset.jsons holding gltf data)
Large World Rendering (floating origin)
- Basic offset support
- Instances
- Shadow Generator/Cascader
- WebGPU
- Particle
- Water/Sky materials
- Node material blocks
- Sprites
- Reflection Probes
- Utility Layer
- Multi-Scene
- Physics / Havok support
- Documentation
Geospatial Camera
- Basic camera implementation
- Pan/Drag
- Rotate (yaw/pitch)
- Wheel zoom to cursor / center
- API changes to support setting yaw/pitch/radius/center directly
- Double tap zoom to cursor
- Limits / Speed / Inertia
- Touch input (multi-finger pan / zoom)
- Keyboard input (pan/rotate/zoom)
- FlyTo (animation/interpolation) - linear and arced
- Collision Detection
- Pole-specific clamping
- Documentation
- ------ Below are nice to haves -----
- Support multi-planet systems (globe not centered at origin)
- Support additional movement patterns (ex: straight-line movement via vector, zoom by fov, zoom by scaling target)
- Separate checkInputs to not be nested
- ZoomLevel API (complementary to radius)
- Reconciling base camera improvement ideas, genericized inputs ( see https://forum.babylonjs.com/t/geospatialcamera-and-genericized-camera-inputs/61291/5)
3D Tile Loader
- Explicit tileset.json url parser/validator
- Math.geo converters between wgs84 and ECEF coordinate systems
- TileRenderer (takes tileset.json and uses gltf loader to load meshes based on what is in camera view)
- Documentation
- ------ Below are nice to haves -----
- Extension mechanism to load other tilesets, ex: implicit tileset
thomlucc and sebavan