Skip to content

Wolfenstein 3D-style raycasting implementation

License

Notifications You must be signed in to change notification settings

sysprog21/raycaster

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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.