Inigo Quilez   ::     ::  
My first experience with voxel engines was in 2000 with a small renderer I made in MsDos. Unfortunatelly I didn't take any screenshot at that time. Rendering was done based on raytracing by using a kind of Bresenham 3D line drawing algorithm to traverse the volume in brute force way, similar to what we use this days in Shadertoy, but pulling the voxel data from a big 3D array instead of creating it on the fly procedurally. Back then the resolution was limited to 128x128x128 because all voxel space was kept on memory, and only 160x120 rays per frame were cast, with a 2x2 color interpolation.

Later, I did a quick test (1 hour of coding) to apply the same idea in the GPU (pixel shaders 3.0). A simple voxel was setup with a few primitives (at 128^3 resolution again), and a brute force raymarching algorithm applied again. Result, 60 fps at 640x480 with no interpolation at all. The image below shows the result of the test. The volume contains only one single blue sphere, but cause I set the wraping mode to "repeat" (GL_REPEAT), then the volume gets virtually infinite, and that's why you see several copies of the scene.





An obvius improvement is to store the distance to the closest point per voxel, instead of just the inside/outside information. But that's more related to the "rendering with distance fields" technique.