/cRayCast

A simple raycasting algorithm using c language

Primary LanguageCMIT LicenseMIT

About:

cRay is a raycasting game engine written in C language that uses the Digital Differential Analysis aka the "DDA" algorithm.

Overview:

Screenshot from 2023-09-12 00-17-14

Dependencies:

The MLX42 is a minimal graphical library that depends on OpenGL and glfw library.

  • For distribution based on Debian
➜ sudo apt update
➜ sudo apt install build-essential libx11-dev libglfw3-dev libglfw3 xorg-dev

➜ # for Wayldan display server you will need extra packeges
➜ sudo apt install libwayland-dev libxkbcommon-dev wayland-protocols extra-cmake-modules libglfw3-wayland

Setup:

~ git clone https://github.com/https://github.com/kaboussi/cRay
➜  ~ cd cRay/MLX42
➜  ~ cmake -B build
➜  ~ cmake --build build -j4

Compile and run:

  • Using Cmake
~ cmake -B cmake-build-debug
➜  ~ cd cmake-build-debug
➜  ~ make -C cmake-build-debug
➜  ~ ./cmake-build-debug/cRay assets/maps/map.cub
  • Using Makfile
~ make
➜  ~ ./cRay assets/maps/map.cub

Resources: