I'm Abdullah, a recently graduated computer science student with a passion for programming in various domains, especially graphics and games.
This is a game engine I've written using C with the SDL2 library alongisde the lua API to allow for scripting in lua. The engine allows for initializing a window and defining update and draw functions inside a lua script which are called every frame. Moreover, the engine provides utility functions to the lua script such as a function to load textures from image files, one to draw a sprite, one to check and resolve collisison using swept AABB techniques, and even more such as playing audio, music, and setting timers to use for game events.
This is a 3D renderer I've written in C with the SDL2 library that can draw simple textured obj files. The renderer does correct perspective projection and clipping of triangles to allow for all possible viewing angles. The camera can be controlled with simple FPS-like controls. Triangle rasterization is done using barycentric coordinates and the whole matrix and vector library is written from scratch.
This is a raytracer I've written in C++ which supports multithreading to efficiently draw out complex scenes with various light sources and reflective objects. The scenes are described in lua files.