Warning
Actively under development! Documentation, screenshots, and examples are NOT yet available.
A modern cross-platform GUI framework based on ImGui and GLFW, featuring Material Design 3 by default.
Easy to use, yet powerful enough. The development experience is so logical and intuitive that it feels like second nature, while effortlessly handling incredibly complex workloads.
Fully powered by native C++ 20. It launches instantly on double-click, features a minimal memory footprint, and is extremely performance-friendly.
Outputs a single executable file by default via static linking—no need to bundle any dynamic libraries (DLLs/SOs). Built with the leanest possible dependencies, and Release binaries are compressed with UPX to achieve the absolute minimum footprint.
A meticulously built top-level architecture designed for modern GUI software development. Out of the box, it fixes and natively supports IME (Input Method Editor).
Design your own components however you wish using OpenGL 3.3 Core and ImGui APIs, then use them just like native ImGui widgets. It is stupidly easy and fast to build complex and beautiful UIs. Additionally, a visual UI editor is on the roadmap.
Neither Immediate Mode nor Retained Mode—but both. CMaterial leverages Retained Mode at the UI Layer for the structural integrity of a mature framework, while empowering the Component Layer with Immediate Mode for unrestricted control over how every pixel is rendered.
In CMaterial, 99.9% of the functionality is implemented entirely at the upper layer, without modifying a single line of code from dependent libraries. In most cases, you can update the dependent libraries on your own, enjoying all upstream updates without spending time re-porting the framework.
- ImGui : A bloat-free Graphical User interface for C++ with minimal dependencies.
- GLAD : A multi-Language Vulkan/GL/GLES/EGL/GLX/WGL loader-generator based on the official specifications.
- GLFW : A lightweight, cross-platform API for creating windows, contexts, handling input and events.
- tweeny : An inbetweening library designed for the creation of complex animations and beautiful interactive software.
- stb_image : A highly renowned single-file public domain library for loading images in C/C++.
- mimalloc : A compact general purpose allocator with excellent performance.
(These tools are strictly for the development and build processes)
- CLion : The recommended cross-platform C/C++ IDE for this project.
- UPX : The Ultimate Packer for eXecutables. Used strictly for compressing Release binaries.
- CMake : A powerful, industry-standard software build system.
- MSVC : Microsoft Visual C++ Compiler, used for Windows builds.
- GCC : The GNU Compiler Collection, used for Linux builds.