https://github.com/sysprog21/raycaster
Wolfenstein 3D-style raycasting implementation
https://github.com/sysprog21/raycaster
Last synced: about 1 year ago
JSON representation
Wolfenstein 3D-style raycasting implementation
- Host: GitHub
- URL: https://github.com/sysprog21/raycaster
- Owner: sysprog21
- License: mit
- Created: 2020-10-13T05:25:02.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2022-12-26T15:13:10.000Z (over 3 years ago)
- Last Synced: 2025-05-08T23:54:02.690Z (about 1 year ago)
- Language: C
- Homepage:
- Size: 96.7 KB
- Stars: 46
- Watchers: 4
- Forks: 43
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# raycaster
An efficient and lean implementation of the [ray casting](https://en.wikipedia.org/wiki/Ray_casting) algorithm.
## Features
- no operating-system required
- no floating-point operations
- no division operations
- UART keyboard input
- 8 x 8-bit multiplications per vertical line
- precalculated trigonometric and perspective tables
## Prerequisites
This work is built with [ARM GCC](https://developer.arm.com/Tools%20and%20Software/GNU%20Toolchain) and run with [QEMU](https://www.qemu.org/).
* macOS: `brew tap ArmMbed/homebrew-formulae && brew install arm-none-eabi-gcc qemu`
* Ubuntu Linux / Debian: `sudo apt install gcc-arm-none-eabi qemu-system-arm`
* Arch Linux: `sudo pacman -S arm-none-eabi-gcc arm-none-eabi-newlib qemu`
## License
`raycaster` is released under the MIT License.
Use of this source code is governed by a MIT license that can be found in the LICENSE file.