Skip to content

About

First person raycaster in C++ using raylib. Made as a learning project while switching from C# to C++

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Raycasting Engine

One of my attempts at programming something like this. There are plenty of raycaster implementations out there on github.. but so here is my version of a simple one in practicing. Let's say it's an attempt to move from C# to C++ for games.

So this is a first person rendering engine in the style of Wolfenstein 3D. The world is stored as a 2D grid of 32 by 32 cells but on screen it looks 3D thanks to the raycasting technique. Things can be tweaked and adjusted if needed.

Screenshots

image image

Features

Textured walls floor and ceiling with multiple texture variants. Panoramic sky that rotates with the camera.

Objects in the world as billboard sprites mushrooms trees torches. More can be added later.

Point lighting from torches with smooth falloff. Precomputed light map that takes open sky into account. Atmospheric fog that hides distant objects. Wall collisions with sliding along them. Adjustable render quality for balancing speed and detail.

Controls

WASD movement. Mouse to look around. Shift to sprint.

Building

Requires C++23 and raylib.

References

Used YouTube tutorials and this project as a reference https://github.com/gonmf/raycaster

About

First person raycaster in C++ using raylib. Made as a learning project while switching from C# to C++

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages