I haven’t been able to update the site for a few weeks, partly because I haven’t got any one feature finished to show you, and partly because I have simply got so much to do. So here is an update on what I am currently working on:
This has been my main focus for the last 2-3 weeks. I have been trying to generate the height and normals on the GPU using Improved Perlin Noise, and it is kind of working. I can produce the heightmap information for each terrain patch by passing in the four corners of the patch in world space, but I still have some issues with alligning the patches so there are no seams. The normal map generation on the GPU should pose no problems (I can already generate a normal map from the given heightmap – but I expect there will be similiar issues with seams). The diffuse map will be generated from the height and slope information, and will be generated once per patch.
After changing the way that the geometry is rendered, the scattering no longer worked. After an hour I managed to changed the atmosphere scattering and get it working again, but for the terrain scattering it is taking awhile longer, and it still isn’t working as of this post. Before it stopped working I added some code which was posted on the forum by Thexa4 which improved the lighting and stopped terrain turning black when the geometry was ‘higher’ than the camera, so thanks for that!
Low / High end GPUs:
For most of the components I have been doing a Low and Hi effect file, because a lot of effects which I am using require shader model 3.0. I would like to set the minimum shader model to 2.0, with the option of changing the settings in game, so I have been writing quite a few effects.
Project Spring Clean:
I changed the structure of the solution map a few weeks ago, and seperated most of the components into their own projects. The way the solution used to be made it hard to get a good overview. Now I have split up most of the main components which produce a variety of .dll files, can can be reference and then used by the engine. For example the scene graph, the planet renderer, the UI etc. are all now within their own projects (and work indepently of each other through). I am not sure if this is the best way to organise and structure the projects, but I will do for the time being until I learn of something better.
Britonia Logo and Blender3D:
Britonia Design Document: