Initializing WebGPU…
WASD – move  |  Z/X – altitude  |  Q/E – rotate  |  Scroll – zoom

Development Log

Technical posts about the vange-rs rendering engine.

Voxel Tracing

Nov 8, 2022 — Accelerating ray-terrain intersection with a voxel octree.

WGSL

Aug 25, 2021 — Porting shaders to WGSL and removing the C dependency.

Bar Painting

Aug 29, 2020 — A "true" 3D rendering method for the Vangers terrain.

Hybrid Shadows

Aug 4, 2020 — Shadow mapping for the voxel terrain engine.

GPU Collisions

Dec 19, 2019 — Moving the collision model to the GPU.

Collision Model

Dec 17, 2019 — How Vangers handles vehicle-terrain collisions.

Data Formats

Dec 12, 2019 — Reverse-engineering the original Vangers data files.

View full blog →

About Vangers

Vangers (1998) is a legendary open-world racing/RPG game by K-D Lab. It features a unique voxel-based terrain engine and a surreal post-apocalyptic world.

vange-rs is a Rust reimplementation of the Vangers rendering engine with modern hardware-accelerated graphics via wgpu (WebGPU/Vulkan/Metal/DX12).

Features

Multiple terrain rendering strategies: ray-traced, voxel-accelerated, sliced, painted, and scattered. Full physics simulation ported from the original game. Cross-platform: Windows, macOS, Linux, and now Web.

Requirements

The web demo uses a procedural test level and needs no external data. The desktop version requires the original Vangers game data (available on Steam or GOG).

Links

GitHub Repository
Original Vangers (open source)

Technology

Rust + wgpu 29 + winit 0.30 + egui 0.34 + glam 0.29
WebGPU for browser, Vulkan/Metal/DX12 for desktop
WGSL shaders, compute-based voxel baking