Description & Why?
- The engine is designed support both 2D and 3D rendering through OpenGL, with a responsive and modern looking editor interface. It’s cross platform, running on both Windows and Linux. I try to rely as less as possible on platform-specific code. Currently, the engine supports serialization, basic rendering and asset management.
- The main purpose of this engine is to teach myself about game engine architecture and take a look at how they work under the hood.
Screenshots
Main features
- Works on windows and linux
- Editor:
- A responsive UI made with dear ImGui
- Like with any modern application, you can dock and arrange windows to your liking
- The scene hierarchy panel integrates seamlessly with the ECS
- Drag and drop features
- Graphics:
- OpenGL based rendering
- 2D and 3D renderer
- Material system
- ECS:
- Custom ECS (Entity Component System) framework
- Cache friendly implementation
- Serialization:
- The entire state of the application is written to disk in yaml format
- Projects, Scenes and Asset metadata can be loaded again to store the progress
Technical details
- Build system:
- Premake5 is used to generate project files on windows and linux
- Libraries used: