CPE471: Final Project


Recently, I completed a game called KAI in Unreal Engine 4. The game was set underwater, and used graphics concepts like atmospheric fog and caustics in order to achieve the feeling of an ocean environment. For my final project, I chose to explore a different perspective of underwater environments by implementing an underwater scene in OpenGL.




Models in the project are placed randomly around the map. There are models for kelp, rocks, and bubbles. The map also contains a single shipwreck. Bubbles rise at a random rate.


The original kelp texture, red pixels were discarded to apply to the model.



A shot of the models on the map.



Caustics were applied by cycling through 30 frames of water textures and sending the correct texture to the fragment shader.


An example of the caustics from above, as well as a frame of the original texture used.



Fog was also applied to simulate a feeling of depth and distance. Models in the back are faded into the background blue color.
The lower the model is on the map, the darker the blended blue.


A shot of the atmospheric fog.



A screenshot of the final project.





References


Caustics: adapted in part from gametutorials.com
Fog referenced from ThinMatrix on Youtube

Models from Free3D.com:
Ship
Rock

Kelp model from OpenGameArt.org.