Back to my little project, anyway...
Well, I've worked out how I'm going to make my voxel terrain. The user will be able to place a huge number of small cubes. Then he will be able to perform polygonization on these voxels, making a mesh which spans the lot of them. I'm going to be using an algorithm similar to marching cubes, but changing it slightly to allow for pointy bits. I actually got something like marching cubes working, but it was horribly blobby, which might be fine for hills and stuff, but for sharp rocks etc. it will cause problems.
So the way my formula is working is thus: First of all each voxel detects on which other faces it is being touched by other voxels. Next, according to a set of rules, a mesh is made, smoothing the voxels into a mesh, by joining up the half-way points of the edges (not too dissimilar to marching cubes). Then, the polycount can be decreased, by forcing the mesh to make continuous lines rather than rapidly changing ones.
I probably didn't explain that too well. Oh well. I'll be back next week, hopefully with a working algorithm!