A web-based terrain rendering engine, currently showcasing the French Alps.
10
stars
400
commits
OCaml
primary language
Aug 15, 2026
updated
Deployed Application: https://vouillon.github.io/mountains/
A Web-based terrain rendering application capable of visualizing landscapes from Digital Elevation Models (DEMs), currently covering the French Alps. It features atmospheric rendering, triplanar detail texturing, mobile device support, and a comprehensive data pipeline for processing CORINE Land Cover (CLC) data.

js_of_ocaml / wasm_of_ocaml, utilizing WebGL for high-performance rendering in any modern browser.?lat=…&lon=…&alpha=…&beta=…&zoom=…)Corine/extract_tiles.exe).decompress_tile.wat, decode_clc.wat), offloaded to a web worker pool.The codebase is organized into modular components:
src/lib (Core): Platform-agnostic core logic, math libraries (Matrix/Vector), IO abstractions, and terrain algorithms.src/web (Web Client): Primary browser-specific implementation using Brr, managing WebGL state, input, and networking.src/sdl (Native Client - Legacy): Desktop implementation using Tsdl and Tgles3 (legacy support).Corine (Tools): A suite of command-line tools for processing geospatial data, polygon validation, and generating tile assets.assets: Terrain detail textures in PNG and KTX2 compressed formats.data: DEM tiles, CLC tiles, points of interest.The project uses dune as the build system. OCaml is compiled to both JS and WASM via js_of_ocaml / wasm_of_ocaml.
Build all targets:
dune build
Web client specifically:
cd src/web && dune build
This project is licensed under the MIT License - see the LICENSE file for details.
400 commits
OCaml
81.4%
HTML
6.5%
GLSL
6.3%
WebAssembly
5.1%
A web-based terrain rendering engine, currently showcasing the French Alps.
10
stars
400
commits
OCaml
primary language
Aug 15, 2026
updated
Deployed Application: https://vouillon.github.io/mountains/
A Web-based terrain rendering application capable of visualizing landscapes from Digital Elevation Models (DEMs), currently covering the French Alps. It features atmospheric rendering, triplanar detail texturing, mobile device support, and a comprehensive data pipeline for processing CORINE Land Cover (CLC) data.

js_of_ocaml / wasm_of_ocaml, utilizing WebGL for high-performance rendering in any modern browser.?lat=…&lon=…&alpha=…&beta=…&zoom=…)Corine/extract_tiles.exe).decompress_tile.wat, decode_clc.wat), offloaded to a web worker pool.The codebase is organized into modular components:
src/lib (Core): Platform-agnostic core logic, math libraries (Matrix/Vector), IO abstractions, and terrain algorithms.src/web (Web Client): Primary browser-specific implementation using Brr, managing WebGL state, input, and networking.src/sdl (Native Client - Legacy): Desktop implementation using Tsdl and Tgles3 (legacy support).Corine (Tools): A suite of command-line tools for processing geospatial data, polygon validation, and generating tile assets.assets: Terrain detail textures in PNG and KTX2 compressed formats.data: DEM tiles, CLC tiles, points of interest.The project uses dune as the build system. OCaml is compiled to both JS and WASM via js_of_ocaml / wasm_of_ocaml.
Build all targets:
dune build
Web client specifically:
cd src/web && dune build
This project is licensed under the MIT License - see the LICENSE file for details.
400 commits
OCaml
81.4%
HTML
6.5%
GLSL
6.3%
WebAssembly
5.1%