https://github.com/bl33h/deepdiveodysseyraycasting
The code simulates 3D perspective with a "Under the Sea Pirates Treasure Hunt" theme using raycasting.
https://github.com/bl33h/deepdiveodysseyraycasting
3d-graphics cmake cmakelists cpp glm graphics-programming header make raycaster raycasting render sdl2
Last synced: 3 months ago
JSON representation
The code simulates 3D perspective with a "Under the Sea Pirates Treasure Hunt" theme using raycasting.
- Host: GitHub
- URL: https://github.com/bl33h/deepdiveodysseyraycasting
- Owner: bl33h
- License: mit
- Created: 2023-11-18T00:31:08.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-11-20T05:41:17.000Z (over 1 year ago)
- Last Synced: 2025-01-21T15:15:29.258Z (5 months ago)
- Topics: 3d-graphics, cmake, cmakelists, cpp, glm, graphics-programming, header, make, raycaster, raycasting, render, sdl2
- Language: C++
- Homepage:
- Size: 46 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# deepDiveOdysseyRaycasting
The code represents a raycasting graphics application with a Finding Pirate's Treasure Under the Sea theme. It creates a 3D perspective effect by simulating rays of light and their interactions with a map.
![]()
Files •
Features •
How To Use## Files
- main.cpp: The main application file handling game logic, input, and rendering.
- raycaster.h: Header file containing the definition of the Raycaster class for handling raycasting.
- colors.h: Header file defining the Color struct for managing colors.
- constants.h: Header file with constant values used in the application.
- levels.h: Header file defining the Level struct and a vector of levels.
- resourceManager.h: Header file for the ResourceManager class responsible for loading and managing resources.
## Features
The main features of the graphics application include:- Raycasting to create a 3D perspective effect.
- Loading and rendering levels from text files.
- Collision detection and handling.
- Menu system for level selection.
- Sound effects for player movement (bubbles) and victory (super mario bros win).## How To Use
To clone and run this application, you'll need [WSL (Windows Subsystem for Linux)](https://learn.microsoft.com/en-us/windows/wsl/install) and the following tools installed on it: [Git](https://git-scm.com), [C++ compiler](https://www.fdi.ucm.es/profesor/luis/fp/devtools/mingw.html), [CMake](https://cmake.org/download/), [Make](https://linuxhint.com/install-make-ubuntu/), [glm](https://sourceforge.net/projects/glm.mirror/), [tbb](https://www.intel.com/content/www/us/en/developer/tools/oneapi/onetbb.html), and [SDL2](https://www.oreilly.com/library/view/rust-programming-by/9781788390637/386c15eb-41b2-41b4-bd65-154a750a58d8.xhtml). From your command line:
```bash
# Clone this repository
$ git clone https://github.com/bl33h/deepDiveOdysseyRaycasting# Open the project
$ cd deepDiveOdysseyRaycasting# Give execution permissions
$ chmod +x configure.sh
$ chmod +x build.sh
$ chmod +x run.sh# Run the app
$ ./run.sh