sudoevolve/EUI-NEO
FreeEUI-NEO is a cross-platform, high-performance, low-overhead C++17 UI framework built on OpenGL and GLFW,
FreeFree tier
About sudoevolve/EUI-NEO
EUI-NEO is a cross-platform, high-performance, low-overhead C++17 UI framework that supports GLFW and SDL2 window backends with OpenGL and Vulkan render backends. It features static linking of dependencies, HarfBuzz text shaping, and includes example applications such as gallery, card_slider, and eui_demo. The framework is built with CMake and requires a C++17 compiler and OpenGL development files; Vulkan SDK is optional. All core dependencies (GLFW, FreeType, HarfBuzz, libpng, zlib, etc.) are vendored for easy offline builds.
Key Features
Cross-platform support (Linux, macOS, Windows)
High-performance and low-overhead design
C++17 implementation
GLFW and SDL2 window backends
OpenGL and Vulkan render backends
Static linking of dependencies for easy deployment
HarfBuzz text shaping enabled by default
Vendored dependencies (FreeType, HarfBuzz, libpng, zlib, glad, GLFW)
Multiple example applications: gallery, card_slider, eui_demo
Build directory suffixes for backend selection (build, build-sdl2, build-vk, build-sdl2-vk)
Pros & Cons
Pros
- High performance and low overhead compared to many UI frameworks
- Truly cross-platform with multiple window and render backends
- Static linking reduces runtime dependencies and simplifies distribution
- Open source (MIT license) with no licensing costs
- Supports both OpenGL and Vulkan for modern graphics
- HarfBuzz text shaping provides high-quality text rendering
Cons
- Requires C++17 compiler and OpenGL development files (Vulkan optional)
- Steep learning curve for developers unfamiliar with C++ UI frameworks
- Documentation is limited to the GitHub README
- Small community and relatively few third-party resources
Best For
Building cross-platform desktop GUI applicationsPrototyping user interfaces with C++17Developing high-performance rendering applicationsEmbedding a lightweight UI framework in existing C++ projects
FAQ
What platforms are supported?
EUI-NEO supports Linux, macOS, and Windows.
What are the system requirements?
CMake 3.14+, a C++17 compiler, and OpenGL development files. The Vulkan SDK is optional for the Vulkan render backend.
Does EUI-NEO support Vulkan?
Yes, Vulkan is supported as an optional render backend. Use a build directory ending in '-vk' to enable it.
How do I build the project?
Use CMake with the appropriate build directory suffix: 'build' for GLFW+OpenGL, 'build-sdl2' for SDL2+OpenGL, 'build-vk' for GLFW+Vulkan, 'build-sdl2-vk' for SDL2+Vulkan. Example: cmake -S . -B build && cmake --build build.
Can I use SDL2 instead of GLFW?
Yes, SDL2 is an optional window backend. Add 'sdl2' to the build directory name or set -DEUI_WINDOW_BACKEND=sdl2.
Is EUI-NEO free?
Yes, EUI-NEO is open source and free to use, modify, and distribute under the terms of the MIT license.