This page is a short user manual. The first few chapters explain the concepts, which is followed by some examples.

You can find the documentation generated from the source code here.

Coordinate system

Coordinate System

fig: Coordinate System

Our coordinate system is right handed; with the x-axis pointing to the right, the y-axis moving away from us and the z-axis pointing up. Rotation has a right handed grip, which means that if you look from the origin of a vector the rotation is clock wise around this vector.

The left-near-bottom corner of voxel space is its origin. If you designed your object with its center in the origin, you will need to translate this object to vit inside voxel space.


The voxel space has 8 layers, each CSG object can belong to one or more of these layers. Each layer has a specific meaning:

Voxel value

Because memory is at a premium for voxel space a single voxel occupies 32 bits. These 32 bits have different meanings in different contexts.

1nnnnnnn nnnnnnnn nnnnnnnn nnnnnnnn
This is a non-leaf node in the oct-tree.
  • n = node number
01llllll llllllll llllllll llllllll
This is a leaf node in the oct-tree.
  • l = The 30 layers
00000000 00000000 00000000 00000000
This value is used internally to mean that not all childs have the same value.