An educational modern-C++ 3D game engine with deferred PBR, physics, audio, and a runtime editor.
MxEngine is an open-source 3D game engine written in modern C++. It provides a comprehensive set of tools for rendering, physics, audio, and scripting, enabling developers to create interactive 3D applications and games. The engine focuses on educational value, allowing users to learn graphics programming and game development through a fully-featured codebase.
Game developers, graphics programmers, and students interested in learning 3D engine architecture and modern C++ game development.
Developers choose MxEngine for its educational approach, full source code access, and integrated features like deferred PBR, physics, and a runtime editor—all within a single, modern C++ codebase.
C++ open source 3D game engine
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
The entire engine is open-source and designed for learning, providing full access to modern C++ graphics programming and game engine architecture.
Implements deferred PBR with Cook-Torrance GGX, screen-space reflections, ambient occlusion, and cascade shadows, offering a robust set of advanced visual effects.
Features an ImGui-based editor with docking, runtime C++ code compilation, and GLSL shader editing, enabling rapid iteration without full recompilation.
Loads over 50 3D object formats via Assimp and includes a generic serializer for scenes, simplifying asset management and scene persistence.
The creator admits having 'almost no time for proper documentation,' making onboarding and advanced usage challenging for new users.
Major releases frequently break existing API, requiring code rewrites and reducing backward compatibility for ongoing projects.
Currently only supports OpenGL on x64 Windows/Linux, with Vulkan backend still in development, restricting cross-platform and modern graphics development.