Language: C++ with OpenGL
Tasks: Engine architecture, 3D rendering
I developed my first custom game engine in C++ using OpenGL. After having worked on the engine part-time for a few months, it was used in a 3D student project called Orb.
The engine supported a variety of features such as game objects with a parent-child transform structure, components, and home-made runtime type introspection & serialization.
The rendering engine supports 3D models through OBJ and MTL files, implementing diffuse, specular and emission mapping for its phong based lighting system. The lighting system also includes real-time, baked and mixed shadows for the directional lighting.
The gif below shows each of these systems tested on the Crytek Sponza scene, together with the Spark particle engine which I integrated into the engine.
The video below shows a demo video of the game developed in this engine.