So I never update. I'll try to do better, not that anyone actually reads this. So my new new plan (always thinking) is this new fancy shmancy journal section (i.e. blog). I'm finally starting to do some personal work so I'll just document what I'm doing, how I'm doing it (high level) and how I'm progressing.

So here's what I'm doing now....
I've started work on Procedural Planet Generation (see links at bottom). I'm very interested in using the natural (computer graphics natural) shape of triangles as a subdivision surface. Instead of using a binary triangle tree I split each triangle into 4 equally sized children which creates 3 new points by splitting the edges of the parent triangles. There's a lot of little things that happen very magically when points 1, 2 and 3 match up to edge 1, 2 and 3 and also match up to the child triangles 1, 2 and 3.

I've been struggling getting the basic architecture setup. Like usual I ran straight for to the optimizations. I got the system working with one vertex buffer and one index buffer, though subdividing the triangles was a little slow. I ran myself into a corner when there were some bugs that caused edges to get disjointed and other issues and I wasn't able to debug because I was stuck in with the specific form of rendering.

One important lesson to be learned is to start small. Don't do anything fancy. Get the very very very basics working before doing anything even remotely close to optimizations. I'm current restarting (for the third time). This time I will make sure to keep things simple and logically seperated. I will do things in a way that make development easier. My biggest concern is being able to easily add debug rendering so I can see what's going on when the time comes to tesselate the mesh based on the distance from the camera.

When I get something more solid working I'll post some screenshots.

Other's pages about procudural planets:
Gamasutra articles