A lot of games programmers sooner or later begin to learn how a graphics engine works and discover how to implement their own version.
My engine, developed in 2016; includes the following elements: Creation of Geometry (Cube), Different lights (Spotlights, Directional Light and Point Light), Shadows, Add textures, Post-process, Nodes, Integrate created models, etc.