All Projects → heremaps → Quantized Mesh Viewer

heremaps / Quantized Mesh Viewer

Licence: mit
Render custom quantized mesh tiles in Cesium.js and debug individual tiles using THREE.js renderer.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Quantized Mesh Viewer

Delatin
A fast JavaScript terrain mesh generation tool based on Delaunay triangulation
Stars: ✭ 207 (+59.23%)
Mutual labels:  3d, terrain
Vue Gl
Vue.js components rendering 3D WebGL graphics reactively with three.js
Stars: ✭ 434 (+233.85%)
Mutual labels:  3d, three-js
Model Viewer
Easily display interactive 3D models on the web and in AR!
Stars: ✭ 3,751 (+2785.38%)
Mutual labels:  3d, three-js
Glas
WebGL in WebAssembly with AssemblyScript
Stars: ✭ 278 (+113.85%)
Mutual labels:  3d, three-js
Trois
✨ ThreeJS + VueJS 3 + ViteJS ⚡
Stars: ✭ 648 (+398.46%)
Mutual labels:  3d, three-js
Threejs Sandbox
Set of experiments and extensions to THREE.js.
Stars: ✭ 163 (+25.38%)
Mutual labels:  3d, three-js
Stuntrally
The main repository containing Stunt Rally sources and game data. A 3D racing game based on VDrift and OGRE with track editor.
Stars: ✭ 314 (+141.54%)
Mutual labels:  3d, terrain
Mundus
A 3D world/level editor built with Java, Kotlin & libGDX.
Stars: ✭ 164 (+26.15%)
Mutual labels:  3d, terrain
Webworldwind
The NASA WorldWind Javascript SDK (WebWW) includes the library and examples for creating geo-browser web applications and for embedding a 3D globe in HTML5 web pages.
Stars: ✭ 628 (+383.08%)
Mutual labels:  3d, terrain
Worldwindjava
The NASA WorldWind Java SDK (WWJ) is for building cross-platform 3D geospatial desktop applications in Java.
Stars: ✭ 526 (+304.62%)
Mutual labels:  3d, terrain
Roygbiv
A 3D engine for the Web
Stars: ✭ 499 (+283.85%)
Mutual labels:  3d, three-js
Explorer
WorldWindExplorer: A 3D virtual globe geo-browser app framework based on WorldWindJS, Bootstrap and KnockoutJS. Includes 3D globe and 2D map projections, imagery, terrain, markers, plus solar and celestial data.
Stars: ✭ 59 (-54.62%)
Mutual labels:  3d, terrain
Veloren
[Mirror] An open world, open source voxel RPG inspired by Dwarf Fortress and Cube World
Stars: ✭ 868 (+567.69%)
Mutual labels:  3d, terrain
Vanta
Animated 3D backgrounds for your website
Stars: ✭ 1,162 (+793.85%)
Mutual labels:  3d, three-js
Verse
Network protocol for real-time sharing between graphical applications
Stars: ✭ 121 (-6.92%)
Mutual labels:  3d
Tinyrenderer
A brief computer graphics / rendering course
Stars: ✭ 11,776 (+8958.46%)
Mutual labels:  3d
Tiny Renderer
A tiny sotfware 3D renderer in 100 lines of Python
Stars: ✭ 120 (-7.69%)
Mutual labels:  3d
Zflutter
Flat, round, designer-friendly pseudo-3D engine for Flutter
Stars: ✭ 121 (-6.92%)
Mutual labels:  3d
Gplayengine
Cross-platform C++ 2D / 3D game engine.
Stars: ✭ 129 (-0.77%)
Mutual labels:  3d
Pvtut
Procedural Virtual Texture with Unity Terrain
Stars: ✭ 125 (-3.85%)
Mutual labels:  terrain

Quantized Mesh Viewer

Render custom quantized mesh tiles in Cesium and debug individual tiles using THREE.js renderer.

For generation quantized-mesh tiles from raster you can use the heremaps/tin-terrain tool.

Note: This is experimental code, expect changes.

Run

npm i
npm start

At http://localhost:8080 you'll see a Cesium map with example terrain tiles.

Cesium map with rendered terrain tiles

To debug individual tile go to http://localhost:8080/tile.html.

Individual terrain tile rendered using THREE.js

On the right panel change the path to the tile and adjust debug parameters.

You can also start the app in a Docker container.

docker build -t qm-viewer .
docker run -t -i --name qm-viewer -p 8080:8080 -v $(pwd):/usr/src/app qm-viewer

Custom Tiles

By default application renders example tiles from ./example-tiles folder. To serve files from different location customize SurfaceProvider parameters in the ./src/map/index.js.

Application serves statics from its whole root directory so you can put folder with custom tiles next to the ./example-tiles folder.

Configuring SurfaceProvider

new SurfaceProvider(options)

Options:

  • getUrl: (x: Number, y: Number, level: Number) → String
    Required
    Constructs URL to fetch a tile using provided grid coordinates.
  • tilingScheme: Cesium.TilingScheme
    Optional
    Default — Cesium.WebMercatorTilingScheme
  • credit: [Cesium.Credit]
    Optional
    Credits for a tiles data

Notes

  • Cesium cannot render tiles for a specific zoom level unless you provide tiles for all parent level. The SurfaceProvider mocks missing tiles with a plane geometry.

Links

Contribute

See CONTRIBUTING.

License

Copyright © 2018 HERE Europe B.V.

See the LICENSE file in the root of this project for license details.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].