Aquarium Simulation
By: Hilary Schulz
Description
Always wonder what it's like to be a fish? With my graphics final project, you are now able to! This aquarium simulation allows you to toggle the view from inside and outside a randomly generated fish tank. Inspect the tank from all angles with different key presses and mouse movements while also changing the lighting of the tank from day to night time.
Features
- Ability to move the camera in all directions using WASD keys.
- Ability to toggle views from inside and outside the fish tank.
- Randomly generated seaweed and coral locations within the tank.
- Hierarchical modeling and animation of fish.
- Ability to toggle day and night time.
- Blinn-Phong implementation of blue lighting in the tank.
- Dynamic texture coordinate changes for tank walls to create real life water movement using a sinusoid equation. (See references)
- Bloom shader implementation using one pass Gaussian blur when tank is in night mode. (See references)
- Ability to toggle between different fish tank floor textures.
- Alpha mapping and dynamic sinusoid equations applied to seaweed and coral textures using high poly obj planes.
- Bounds for camera's ability to travel inside or outside of the fish tank.
Controls
- 'E' & 'R': x direction light movement
- 'T' & 'Y': y direction light movement
- 'V': toggle inside/outside tank
- 'B': change tank floor textures
- 'L': toggle day/night
- 'W': move forward
- 'A': move left
- 'S': move backwards
- 'D': move right
Images
Textures
References
-
Ripple Effect
- technique for ripple texture mapping used on tank walls
-
Bloom Shader
- technique for bloom shader used on tank floor
Texture Sources
I do not own any of these textures, they were only used for this project.
Download
aquarium.zip