I already mentioned in one of the earlier posts that Neutron engine will have a real-time global illumination solution so here it is! The algorithm is based on ’surfels’ - point lights with area and it requires DirectX 10/11 features to run (geometry shader and stream out). The following video shows a scene which is lit dynamically, notice the bounce of green on walls and the test sphere as it moves around. The video was captured on Intel Core 2 Quad Q9300 and NVidia 8800 GTX which is really a low spec machine for the next gen engine like this. This basically wraps up the work on rendering pipeline, the next step is the tech demo which will show the engine’s full potential.
Some people (myself included) did not know that it’s possible to use DirectX 11 on DirectX 10 hardware. Looks like Microsoft finally got something right Anyway, after making this discovery it was quite tempting to test those new features so here we are - Neutron engine now runs on DirectX 11 API! The transition from DirectX 10 to DirectX 11 was quite easy, again I have to praise Microsoft for not changing the API completely. The only downside is lack of debugging tools for new API, NVidia has none and Microsoft’s Pix has very limited functionality. Despite this ‘little’ obstacle the upgrade was successful and now we have the new and improved ocean rendering using compute shader. The new approach provides better control over wave amplitude, choppiness, wind influence etc. Transition from deep to shallow water is now based on water depth so it gives more realistic look. Finally, here is a short video showing new ocean at sunrise with some volumetric clouds in distance.