Project

Plane Voxel Lab

An experimental C++ / OpenGL lab for investigating voxel terrain representation, surface construction, rendering, spatial systems, and approaches to editable terrain.

View source on GitHub ↗

About the Project

Plane Voxel Lab grew out of an idea for a 3D building and crafting game. I wanted a world that could be edited in discrete units, but whose terrain didn't look like a collection of cubes.

After several refactors in a standalone game project, I decided the saner option was to break the terrain work off into its own lab, where I could develop each approach as an independent experiment. XZ Columnar Terrain is one such experiment. This gave me room to explore different ideas, understand their tradeoffs, and carry useful results forward into future projects.

Current Direction

The XZ Columnar Terrain experiment is more or less complete, but it left me with an idea I want to explore further: defining the domain of a surface piece before constructing its geometry.

In the columnar experiment, I partitioned the two-dimensional domain of a heightmap into square footprints, then constructed an individual terrain piece within each one. This gave the pieces predictable boundaries and consistent coverage, even though the planar geometry introduced some undesirable artifacts.

The next question is whether that idea can be generalized to arbitrary three-dimensional surfaces. Although a density field takes three spatial coordinates as input, its isosurface is locally two-dimensional. That suggests it may be possible to construct terrain pieces using local two-dimensional domains oriented to the surface, rather than relying on a single global XZ projection.

There are some significant problems to solve, particularly how to arrange these domains so they cover the surface without unwanted gaps or overlaps, and how to handle transitions between different orientations. I also want to preserve the separation between surface geometry and the underlying voxel structure responsible for ownership and editing.

For now, time-willing, that's the direction I intend to pursue: partitioning an arbitrary continuous surface into individually constructible pieces, with the goal of producing terrain that retains its natural shape while remaining visibly discrete.

Technical Areas

Articles

XZ Columnar Terrain

An experiment in constructing a sealed, voxel-owned terrain surface from heightmap-derived planar patches and vertical side fragments.

Read article →