MxEngine is not a huge framework so multiple third-party libraries are used. Here is the full list of dependencies for lasast MxEngine release version:
- EASTL - EA standard library which is used in engine core as STL alternative
- stb - header-only one-file library to work with images, audio files and etc.
- GLEW - OpenGL C/C++ extension loading library
- GLFW - multi-platform library for OpenGL providing API for creating windows, receiving input and events
- GLM - header only C++ mathematics library for graphics software
- ImGui - Bloat-free Immediate Mode Graphical User interface for C++
- boost - large C++ library that you should already know about
- assimp - portable Open Source library to import various well-known 3D model formats
- fmt - formatting library for modern C++
- json - nlohmann's json library for modern C++
- miniaudio - header-only audio file loader collection
- OpenAL Soft - cross-platform, software implementation of the OpenAL 3D audio API
- Bullet3 - real-time collision detection and multi-physics simulation library
- portable file dialogs - cross-platform file dialog library
- ImGuizmo - object transform manipulator based on ImGui
- stduuid - A C++17 cross-platform single-header library implementation for universally unique identifiers
- RCC++ - cross-platform library for C++ runtime code compilation
- RTTR - runtime type reflection library for C++
Note that MxEngine may include more additional libraries in further releases. It also uses Boost library in its core, but does not expose it to user-code. Engine requires at least C++17-compatable compiler as it depends on some new STL features. All source files were successfully compiled and tested using MSVC through CMake on Windows and Linux