It seems to be the case that, the closer to a deadline, the more work I manage to produce. It's not a pressure thing, I just seem to manage to produce more work as the deadline approaches.
This is problematic when trying to write up on what I've produced when I keep on producing. Still, what I have produced has certainly sexed up my application.
The first thing I managed to do was implement a skybox to fill out the dull darkness. Had I been able to do implement some of the technologies earlier on, and had more time to implement more pretty shit, I would have had procedurally positioned solar systems, which is similar to how the skybox images were created.
The second thing I managed was to implement more complex lighting, based on the vertex normal. The issue I had with this was I didn't know where the neighbouring vertices are. But I then realised I could "guess".
I basically create two more vertex positions perpendicular to the original vertex, and work out their positions on the planet. From this I can calculate the normal for the main vertex.
While this creates much more realistic terrain, basing it on the vertex normal (as opposed to in the pixel shader) creates some artefacts, including emphasising the patch seams
I simply haven't the time to fix these issues; if I calculated the normal based on pixel position, the vertex position wouldn't hinder the shading. However, to do this, I'd need to pass in the cube's world matrix. This would be maddening to do for every pixel, instead I'd have to use a constant buffer. However, to do this I'd need to allocate aligned memory.
While my land looks better than the totally flat appearance when rendered with spherical normals, it's now more noticeably unearth-like, it looks really rounded.
So I decided to try out different fractal terrain techniques to try and find a better terrain.
The first was a heterogeneous multifractal. This made the terrain more jagged inland, and smoothed out to the end. However, it needed to be lowered as the coast was too smooth. similarly, the mountains are too jagged.
The next was a ridged multifractal (the same as used for creating the nebulas in the skybox). This made more mountain-like structures, however, the land looks more like sand dunes than rock and the coast line doesn't look correct.
I decided instead to use the original fBm but with some form of ridges. They're not quite mountains, as they run at the same height, but they do look like mountain ranges and less like sand dunes.
I'm not 100% happy with it, however I really need to crack on with my dissertation. Although not before I implement better clipping techniques!
For I can't really do my results section when my application doesn't run as well as it should do.