Real-time simulation of cloth completely done on GPU was one of the first features in the engine which I implemented years ago. Up untill now I did not have any interesting (cool) ways to present this feature, but during the demo preparations I came up with the idea of using cloth to simulate ship flags and sails. I had to add some additional functionality to be able to anchor cloth on different sides, but the final result was well worth the effort! As usual, HD video uploaded to YouTube …
I still haven’t ironed out the details for the final demo but underwater scene(s) will be part of it for sure. This is one posible underwater scene demonstrating terrain editing using texture arrays, caustics, alpha masked materials casting shadows and instanced particle systems. It comes with a slight delay since I encountered an interesting problem while recording the video. Actually what happened is that I completely forgot the fact that render thread runs much slower while video capture is on but particle thread still runs at 60fps making all the fish swim super fast! This required slight adjustment in thread’s delta time calculation after which everything was back in sync. Now I can concentrate on finishing some other systems required for final demo (portal system etc). Don’t forget that you can watch this video in HD!
Couple of days ago friend of mine sent me this link http://www.uni-koblenz.de/~ritschel/ containing some really interesting articles and ideas on how to improve scene rendering quality. One of the articles proposes an interesting improvement to standard SSAO (screen space ambient occlusion) to add more realism to the scene. They call it SSDO (screen space dynamic occlusion) and the basic idea is to modify SSAO to use global normals for each pixel and bounce light around. Once I saw how simple the idea is I could not resist implementing it in Neutron Engine. So, now we have SSDO which gives us way better indirect lighting in the scene. Keep in mind that SSDO is slower than SSAO since it needs to fetch screen colors and normals for each pixel on screen and perform extra computation but final indirect illumination is much much better than the one provied by standard SSAO. Here are some screen shots so you can be the judge.
I have something cool to show today, I just finished work on adding support for objects floating on the water. There is nothing fancy about it the only tricky part is to stay in sync with the water simulation which is running on GPU. This way objects on water move in different fashion as wind or waves change giving viewer quite realistic impression. Faking reality is all that’s required anyway Here is the short video I just uploaded on YouTube.
This is one of the last features I wanted to finish on rendering side before moving on and making a demo. Distant clouds are very simple effect but they add a lot to the realism of the whole scene. Shader is quite flexible, it allows user to change attenuation, alpha saturation, amount of sky/sun color used and it takes sun position into account to make clouds brighter in areas which are closer to the sun. Here is one screen shot at dusk.