A 3D graphics project created with OpenGL, featuring an interactive island scene with dynamic lighting, weather effects, and various 3D objects. This project was developed as part of a Computer Graphics course.
- Island - Textured terrain with sand textures
- Water - Animated water surface with adjustable transparency
- Sun & Moon - Dynamic day/night cycle with realistic movement
- Stars - 500 randomly positioned stars in the night sky
- Palm Trees - Multiple palm trees with bark and leaf textures
- Clouds - 10 animated clouds with varying speeds and directions
- Shark - Animated shark swimming in the water
- Fire & Smoke - Interactive fire effects with smoke animation
- Airplane - Detailed 3D airplane model with multiple components
- Sky - Spherical skybox with textured environment
- Dynamic Day/Night Cycle - Time progression with sun and moon movement
- Water Ripple Effect - Click on water to create expanding ripple circles
- Fire Interaction - Click on fire to trigger airplane appearance and smoke effects
- Camera Controls - First-person style camera with rotation and movement
- Projection Switching - Toggle between perspective and orthographic projections
- Adjustable Time Speed - Control the speed of the day/night cycle
- Water Transparency - Toggle water transparency for better visibility
- OpenGL 3.3 - Core profile rendering
- C++ - Programming language
- GLFW 3.3.8 - Window and input handling
- GLEW 2.2.0 - OpenGL extension loading
- GLM 0.9.9.800 - Mathematics library for graphics
- Assimp 3.0.0 - 3D model loading (OBJ files)
- stb_image - Image loading for textures
- Visual Studio 2019/2022 - Development environment
- Windows 10 or later
- Visual Studio 2019 or later with C++ support
- Graphics card with OpenGL 3.3 support
-
Open the Solution
- Open
Sablon/Sablon.slnin Visual Studio
- Open
-
Restore NuGet Packages
- Right-click on the solution in Solution Explorer
- Select "Restore NuGet Packages"
- Wait for packages to download (GLFW, GLEW, GLM, Assimp)
-
Build the Project
- Select configuration:
DebugorRelease - Select platform:
x64 - Build → Build Solution (or press
Ctrl+Shift+B)
- Select configuration:
-
Run the Application
- Press
F5to run in debug mode - Or navigate to
Sablon/x64/Debug/and runSablon.exe
- Press
Ensure that all resource files in the res/ folder are present and that the executable runs from the Sablon/ directory (where shader files are located).
- W / S - Move camera up / down
- A / D - Move camera left / right
- Arrow Keys - Rotate camera view
- ↑ / ↓ - Pitch (look up/down)
- ← / → - Yaw (look left/right)
- P - Switch to Perspective projection
- O - Switch to Orthographic projection
- 1 - Enable depth testing
- 2 - Disable depth testing
- 3 - Enable face culling
- 4 - Disable face culling
- B - Toggle water transparency
- + - Increase time speed
- - - Decrease time speed
- Left Click on Fire - Trigger airplane appearance and smoke effects
- Left Click on Water - Create expanding ripple effect at click location and all sharks will swim to the clicked location
- ESC - Exit application
Duško Pilipović
Project created for Computer Graphics course, 7th Semester.
This project is created for educational purposes.