OpenGL 3 3D Game Engine

This is my latest 3D game engine which I'm currently developing for a university module. It's made using C++, ImGui, OpenGL 3, GLSL, GLFW, GLM, Assimp, and FreeImage.

The engine currently includes several Scene Objects, such as cubes, terrain, directional lights, spot lights, and point lights. With plans to add skyboxes, other primatives, and imported 3D models soon.

For the GUI, I wanted to make it pretty similar to Unity, as I find their's to be simple and easy to understand. To create the GUI, I used the very popular library ImGui, both because it's used by many game studios and because I have prior experience using it. More specifically, I used the Docking branch of ImGui, which gives me the ability to dock windows to parts of the screen, much like in Unity. This allows for greater customisation by the user, granting the ability to change the workspace to how they like it.

I plan to add saveable scenes to the engine, which would take it from currently being a cool demo, to being a useful tool that can be used to make actual games.

The Objects window.

Objects Window.

The Object Context popup.

Object Context Popup.

The Add Object popup.

Add Object Popup.

The World Settings window.

World Settings Window.

The Inspector window, showing the settings of a Spot Light.

Inspector Window.

The Windows menu.

Windows Menu.

A full preview of the engine.

Engine Preview.