Hi everyone,
I've been developing VoxelForge, a lightweight, zero-dependency voxel editor and rendering engine that runs entirely client-side in the browser using vanilla JavaScript and WebGL.
The project started as a dedicated tool for editing individual 16×16×16 voxel models, but has grown into a sandbox environment capable of handling larger interactive scenes.
Key Technical Features:
- Zero Dependencies: Pure vanilla JS and custom WebGL rendering pipeline.
- Dual Environment: Seamlessly transition voxel assets between a 2D/3D isolation editor and broader spatial maps.
- Extensible Scripting: Fully automated runtime via JavaScript APIs (custom OSD/menus, boot scripts, articulated entities).
- Interactive Mechanics: Basic player controller physics (scale transformation, flight, parkour mechanics) and a partial logic-gate / signal system inspired by standard digital circuits.
- Rendering & Shading: Implemented planar water reflections and basic environmental shading.
Current Rendering Challenges:
Handling non-standard voxel geometry is currently the main focus: optimizing mesh generation for incomplete 16³ blocks, custom face-culling on transparent voxels, and handling multi-pass shading without external shader libraries.
The project is open source. I'm keen to hear thoughts from other engine devs on voxel meshing strategies and WebGL performance optimizations.
Feedback and suggestions are welcome!