constructive solid geometry (csg) using signed distance functions (sdf), but instead of hard-coding the distance function in shader, uses uniform float array to hold scene description, which gets "interpreted" in the shader. therefore shapes can be added/removed/edited interactively in realtime without recompiling shader. also supports downloading a 3D mesh of the scene (voxels computed in shader + optional marching cubes). distance calculations and ray marching code based on Inigo Quilez's work.