Serialization
The user is able to save the scene in his computer. By doing this, the scene is not lost so the user can continue his work at another time.
Importer
The user can import new models and they will be saved in our own format. This results in a better performance of the engine.
Game Objects
The engine has a GameObject hierarchy system, that will make it easier for the user to handle and modify everything he wants.
Resource Manager
To improve performance and to lower the memory used, each mesh will only be loaded once, even if it's used many times.
Components
All the properties of each GameObject are stored in its components, which can be modified in the inspector window.
UI
The engine uses the ImGui library to create the entire UI. This includes menus, hierarchy window, inspector window, buttons and texts.
Quadtree
The engine uses a quadtree to speed up both mouse picking and the drawing process. This is possible thanks to the camera culling that can be applied with the quadtree.