Final Project - COMP 371 - Team 18
- Noor Hammodi
- Nicolas Towa Kamgne
- Gabrielle Guidote
- Jack Spiratos
- Augusto Mota Pinheiro
- Merouane Issad
The goal of this project is to create a graphics program using OpenGL to enable walking through a procedurally created virtual world. Our virtual world starts above sea level, and as the user moves, they are introduced to the depths of the ocean. There, one can see and navigate through sea life, including fish, sharks, seaweeds, rocks, caves, and more. This terrain is procedurally created.
- Procedural World Generation (Using marching cubes)
- Procedural Foliage Generation
- Random Foliage Placement
- Procedure Foliage Animation
- Procedural Fish Generation with Procedural Animation
- Fish AI for Navigation
- Volumetric Lighting
- Water Caustic Effect
- Procedural Ocean Surface
- Story Cutscene Featuring Original Assets
Make sure that you clone the repository with --recurse-submodules
to include the depended upon libraries.
- Generate project files with CMake
- Set the working directory to the root of the project
- Run the
underwater_bonanza
project!
WASD
: moves the cameraMouse
: looks aroundEsc
: quitsSpace
: restarts cutscene and generationTab
: skip cutscene and regenerateX
: unlocks freecam (over water scene only)
- Rendering using OpenGL
glfw
for Window Handling- Loading model using
assimp
stb_image
for Texture LoadingSFML
for Sound Playback- Learn OpenGL for Basic Concepts
- Caustic Textures Generated with Free Caustics Generator