The underwater project was for part of the Games Programming and AI module, which I did in the second semester at Hull. This was my first foray into the world of shaders and heavy graphics in general. We did touch upon some of the concepts in our Graphics module last semester, but in the way of "do this once then just reuse the code".
The brief was simple but inclined to leave you faint headed if you read more than a few sentences at a time, so thusly gradually revealing it prevented me from going into shock as my body tried to protect itself.
We had to simulate an underwater scene, complete with:
- Animated fish etc.
- Underwater caustics
- Various species of coral - ideally modeled using relief mapping
- An underwater volcano, currently and inconviently in the act of erupting
- Floating seaweed and various debris etc.
- A raytraced object. I'm not really sure how raytraced object get down under the ocean, but then I've never been down to check
- Modeled sea terrain. This should have probably come first in the list, but whatever
- Underwater bubbles, being generated by something, or miraculously coming alive in mid...water...
- Any other effects that would contribute to the overall feeling of being underwater
The Finished Version
The first thing I did was watch the extras for Finding Nemo where they talk about how they make people believe that things are underwater. Their findings were roughly five things:
- Constant movement as everything is affected by the ocean's sway and swell
- Debris, dust and silt etc. floating around, as ocean water is rammed with the stuff
- Colour and definition are lost the further into the distance an object is. Reds and greens go first
- The underwater caustics, or light coming through the ocean surface from the sun, dancing on everything
- Something else, I think it was an abundance of sealife, but I've lost the dvd and anyway I didn't use it
I got pretty much everything done as specified in the spec, though my coral are cubes, and my bubbles have all deserted, leaving a solitary survivor to mourn their loss. For some strange reason, when I worked on my laptop at home, my version of RenderMonkey put a red line around the borders of all the textures, so if the pictures or movies look odd, it's because of that. If anyone knows of how to get rid of this, I'd appreciate knowing, as it's slightly annoying.
I'm really happy with the animation of my whale and shark as it looks really cool and is really smooth and lifelike. Actually most of the animation in the project looks pretty cool.
I have of course uploaded images of the underwater scene, as well as some movies showing everything in action. If you want to chance the RenderMonkey project file on your computer (3.42Mb), then you're more than welcome, although I'm not 100% sure if it'll work properly or not, as I've seen it having problems on some computers. The zip also includes all the textures and support material you'll need. Read the ReadMe file as there's something weird going on with the ocean caustics in the background. You can also download the super report (1.7Mb) in even superer Word format, though I've zipped it up so your computer doesn't get sick as it realizes that it's downloading something like that.