Watercity
Watercity is a test bed application for me to test out the functionality of HLSL (High Level Shader Language) or known as shading programming in XNA, in additional with this application I can test the UI of windowing system integrated with XNA application itself. So at the end you can create some kind of a tool for artist or simulation in which you can set the values effecting directly to your content in the game in real time.
In this scene, I extend the water shader from http://haxpor.org/post/11062014263/i-have-set-up-and-experimented-with-the-fog-system, and put it into another edge by adding the camera control and customization of water color, its height and reflection color, etc wrapping by UI system.
At first, this could be a problem as we need to go deep down into XNA’s game time loop and integrate that stuff with UI’s normal loop. Those things are different as UI’s loop is event based, but for XNA’s game loop, it’s actually the iterative loop.
I solved this kind of issue by mean of simplicity in which I draw the result graphic for each frame into texture buffer readying to be show via some space defined with windowing UI. So it’s kind of separate for XNA and UI. They work on their own resulting in less effort and no additional code needed to plug in to make it work. This is absolutely great !
Head over to http://imageshack.us/g/695/watercityfloorout02.jpg/ for full gallery.


Video in action