Skip to content
GADDQPublic

About

A modern cross-platform GUI framework based on ImGui and GLFW, featuring Material Design 3 by default.

Resources

Stars

2 stars

Watchers

1 watching

Forks

Repository files navigation

CMaterial

C++20 CMake License

Platform Platform Platform

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.


Simple

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.

High Performance

Fully powered by native C++ 20. It launches instantly on double-click, features a minimal memory footprint, and is extremely performance-friendly.

Ultra Small

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.

Modern

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).

Highly Customizable

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.

Hybrid Mode

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.

99.9% Pure Upper-Layer Construction

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.


Libraries

  • 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.

Third-Party Toolchain

(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.

Special Thanks

  • nth233 : The IME fix solution was obtained after I reviewed his blog. Many thanks for his selfless sharing!

About

A modern cross-platform GUI framework based on ImGui and GLFW, featuring Material Design 3 by default.

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages