Skip to content

sysprog21/raycaster

Repository files navigation

raycaster

An efficient and lean implementation of the 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 and run with QEMU.

  • 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.