Three.js 3D Earth Engine

用 Three.js
组织可扩展的
3D Earth 应用

Tellux 将 3D Tiles、Cesium 地形、影像图层、地球相机、大气、体积云和后处理能力封装成更贴近 Cesium / mapboxgl 使用习惯的 TypeScript API。

Package tellux
Runtime ESM TypeScript
Renderer Three.js
Data 3D Tiles / Terrain / Imagery

Capabilities

把底层渲染能力收束成 GIS 开发者熟悉的入口

Tellux 不替代 Three.js,而是在 Three.js、3d-tiles-renderer 与 Takram geospatial 生态之上提供应用侧封装。

01

地球与相机

内置 WGS84 地球控制器,经纬高视角、heading / pitch / roll、飞行定位和鼠标地理读数。

02

多源影像图层

通过统一的 viewer.layers 管理 XYZ、Cesium Ion imagery、WMS 和 MVT,支持透明度、显隐和顺序。

03

3D Tiles 场景

加载 tileset.json 或 Cesium Ion 资源,接入 b3dm、i3dm、pnts、cmpt 与 glTF / GLB 内容。

04

Cesium 地形

支持 quantized-mesh terrain,从地形根目录或 layer.json 加载,并可在运行时热切换。

05

大气、云与光照

集成 sky atmosphere、体积云、太阳光、天空光探针,并提供 light-source / post-process 光照模式。

06

工程友好的默认值

内置 LOD fade、按需更新、SMAA、镜头光晕、曝光控制和 Draco 解码器路径配置。

Workflow

从一个容器开始,逐步叠加真实地理数据

首页文案对应库中已经实现的 API:Viewer 初始化、地形、影像图层、相机定位、运行时图层管理和 3D Tiles 加载。

  • TypeScript 类型入口:dist/index.d.ts
  • 发布入口:dist/index.js
  • 开发示例从 src 直接引入,方便验证源码行为
import tellux from 'tellux'

const viewer = new tellux.Viewer(container, {
  terrain: { url: 'https://example.com/terrain/' },
  layers: [{
    source: {
      type: 'xyz',
      url: 'https://example.com/imagery/tiles/{z}/{y}/{x}'
    }
  }],
  camera: {
    latitude: 31.2304,
    longitude: 121.4737,
    height: 1200,
    pitch: -25
  }
})

viewer.layers.add({
  name: 'Province boundary',
  source: {
    type: 'wms',
    url: 'https://example.com/geoserver/wms',
    layer: 'workspace:layer'
  },
  style: { opacity: 0.72 }
})
Tellux 渲染的雪山地形、低角度太阳和预计算大气散射效果

Terrain & Atmosphere

真实地形和预计算大气一起进入工程视图

Tellux 可以在 Cesium quantized-mesh 地形上叠加影像纹理,并结合预计算大气 LUT、太阳光和天空光探针, 让远山雾化、低空暖光和雪线明暗关系保持稳定。它不是展示页滤镜,而是面向三维 GIS 场景的实时渲染基础。

Volumetric Clouds

把云层作为真实空间体积参与场景表达

Tellux 的体积云沿用物理光照和大气合成流程,云体会随相机高度、太阳方向和曝光设置呈现连续的层次变化。 从近地平线的厚重云墙到高空俯视的柔和云海,它都能和地形、天空、后处理保持统一的空间关系。