A simple ray caster that tries to draw everything through the CPU even on modern displays by utilizing multithreading.
Since this program still has a long way to go this is the roadmap for now:
- implement ceiling and ground rendering
- implement sprite rendering
- dynamic lights
- static lights
- cpu only rendering with platform-agnostic compilation
this list will change in the future
Depends on the compilation target. For now the available targets are the following:
- SDL3 => needs SDL3
Without specifying a BACKEND the compilation will select from a list of targets and pick the first working solution:
$ make
$ ./ray_caster
When specified BACKEND will compile for that target directly if the necessary Dependencies are available:
$ BACKEND=sdl3 make
$ ./ray_caster
AI has been used in the development of this project. Precisely AI has been used for the following:
- understanding the math needed for the ray-casting algorithm
- monitoring the performance bottlenecks of the application
- Write the
Makefileneeded to compile the project