glad VS imgui

Compare glad vs imgui and see what are their differences.

glad

Multi-Language Vulkan/GL/GLES/EGL/GLX/WGL Loader-Generator based on the official specs. (by Dav1dde)

imgui

Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies (by ocornut)
Our great sponsors
  • Nanos - Run Linux Software Faster and Safer than Linux with Unikernels
  • Scout APM - A developer's best friend. Try free for 14-days
  • SaaSHub - Software Alternatives and Reviews
glad imgui
17 148
2,287 33,270
- -
3.8 9.5
25 days ago 5 days ago
Python C++
GNU General Public License v3.0 or later MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

glad

Posts with mentions or reviews of glad. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-11-20.
  • opengl bindings
    2 projects | reddit.com/r/rust | 20 Nov 2021
    There is a glad rework (glad2) which also has a generator for Rust: https://github.com/Dav1dde/glad/tree/glad2 (note the glad2 branch). There is also a quick glfw + glad example.
  • Using DirectX in C
    1 project | reddit.com/r/GraphicsProgramming | 15 Nov 2021
    GLAD is typically recommended over GLEW these days. The site just generates a pair of .c/.h files which you include in your project.
  • how to compile opengl file on linux?
    1 project | reddit.com/r/cpp_questions | 8 Aug 2021
  • Hey, I want start
    6 projects | reddit.com/r/gameenginedevs | 1 Aug 2021
    I would suggest using GLFW and Glad with C++ and use LearnOpenGL as a refrence
  • How do you use OpenGL without glew or any other libraries?
    5 projects | reddit.com/r/opengl | 28 Jun 2021
    With all that being said, I don't actually recommend that you do this. GLAD for example lets you select what you want to load specifically and will generate a single glad.c and glad.h pair which is very lightweight (it will also include the required Khronos headers that you'll need). If you really want you can poke around and modify these files later, but I see no reason why you wouldn't want to use it.
  • How do I get OpenGL working in a c++ vscode project?
    6 projects | reddit.com/r/opengl | 3 Jun 2021
    I only remember how for mingw64, but its probably a similar process. 1 - Compile glfw in cmake, build it with vstudio (this makes two .h files if im not wrong). 2 - use this to get a glad.h file: https://glad.dav1d.de/ 3 - Put all the .h files in your project folder (or in the mingw include folder) 4 - You need to link some libraries in the tasks.json file (if you dont have one search it up) Here's the ones I have linked:
  • GLAD generator seems to be down
    2 projects | reddit.com/r/opengl | 2 May 2021
    It seems like they have moved to https. Using https://glad.dav1d.de/ works for me. After generating it also points to the http version of the site. Replacing http with https worked for me and I can download the zip file.
    2 projects | reddit.com/r/opengl | 2 May 2021
    Just recently I needed GLAD also and I noticed it too was "down" (i could reach the site but not download anything). I attempted to use glad2 but either missing something or too tired and had some issues with it. The solution was to just download the source and follow the instructions on Github to run the python tool command line to generate the config I wanted. If you get stuck here is an example of the command I used.
  • Advanced 2d topics
    4 projects | reddit.com/r/opengl | 30 Mar 2021
    GLAD (https://glad.dav1d.de/) is a very good OpenGL function/extension library.
  • C++ OpenGL full setup on Arch Linux
    3 projects | reddit.com/r/archlinux | 11 Mar 2021
    glad folder is downloaded form here which has include and src folder which I have not touched. I just created CMakeLists.txt file in that directory. https://glad.dav1d.de/

imgui

Posts with mentions or reviews of imgui. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-11-30.
  • I want to create a desktop app using OpenGL. Is it a good idea?
    1 project | reddit.com/r/opengl | 4 Dec 2021
    There's ImGuiif you really want to use opengl for a gui, but like others have said it's still not a great idea.
  • C++ dev having trouble finding what ui toolkit to use for pet project
    5 projects | reddit.com/r/linuxmasterrace | 30 Nov 2021
    ### [IMGUI](https://github.com/ocornut/imgui)
  • What to use to develop GUIs in C++?
    4 projects | reddit.com/r/cpp_questions | 18 Nov 2021
  • No idea how to begin making projects. I can't find any resources online no matter how much I look. This is my last attempt to get help.
    2 projects | reddit.com/r/cpp_questions | 10 Nov 2021
    There are plenty of other GUI libraries out there, and the most common and ubiquitous ones all have extensive documentation, tutorials, or at least examples. Something like Dear ImGui kind of expects you to know GUI programming already, they cater to a more advanced GUI developer.
  • [Hobby] The Reshade team is looking for more programmers
    3 projects | reddit.com/r/INAT | 7 Nov 2021
    Besides 3D programming work you are also welcome to improve upon tools like our installer, or help with the UX design of Reshade. We use Dear ImGui. The documentation could probably also need more work.
  • I Dread Writing Embedded GUIs
    3 projects | news.ycombinator.com | 5 Nov 2021
    Off topic -> but on topic of the original post. Do you know if https://github.com/ocornut/imgui is available for embedded? It might be too much but it for a reasonably capable system it's better than web or some high powered UI like Qt.
  • LXQt 1.0.0
    9 projects | news.ycombinator.com | 5 Nov 2021
    > I loved the fact Qt had it's own standard library, I know some c++ purists won't like that and the qmake , but we need to understand how many platforms Qt targeted and that the col new C++ features were not there on all this platforms when Qt4 was created

    Indeed so! Qt is living today with the fact that it was built and designed long before C++11 was really a thing (where C++11 is the baseline of modern C++ and I would argue that even C++17 should be considered the baseline). The design decisions of Qt are directly against modern C++ design. I think that's ultimately the core of the problem: that modern Qt is orthogonal, not complementary, to modern C++.

    Range-for loop? Oops, accidentally detached and deep-copied into a temporary.

    Move objects? Just, no.

    unique_ptr? Nah, QScopedPointer. Also still not moveable. make_unique? Nah, reset(new...) and ignore the modern advice that you shouldn't use `new`

    Qt still takes naked pointers and decides willy-nilly whether to take ownership. It still has examples everywhere for using naked new without even mentioning the context of a smart pointer. It has the concept of "you used new, but the parent actually owns it, unless the parent is null" which is just a time bomb for anyone new to the framework let alone the language.

    No, there's no way I would recommend Qt to someone who isn't experienced. Since I wouldn't recommend it then it's no wonder to me why Qt isn't used so much. It has little to do with C++ and a lot more to do with the design decisions of Qt itself.

    > IMO the reason Qt is not used as much is because it uses C++

    Arguably. Also arguably is because Qt brings along a lot of unnecessary baggage. You mentioned using Qt requires using qmake (which definitely counts as arcane, if not archaic); cmake does a pretty good job of wrapping qmake but doesn't eliminate it. And all of that is because of Qt's non-standard magical signals & slots system which is really just a more error-prone semi-async system when compared to any other eventing system.

    Using Qt efficiently strongly needs Qt Creator which isn't nearly as good as Visual Studio or VS Code and not as feature-rich as CLion or other intellij-based IDEs I've used -- but at least it performans way better than CLion or intellij trash.

    Qt's license changing in 5.15 has also become a significant penalty to non-commercial use. This fact alone means there's no way I'd use Qt in a new project, even a commercial one.

    Modern Qt developers also have to become javascript developers since Qt's UI is heavily driving towards QML. That's an unfortunate direction and also inhibits adoption of Qt IMO. Why write an application in C++ if you need to learn javascript anyway? There are better feature-rich javascript frameworks with better community adoption and better price points.

    > what would you use today if you need to make an application for someone, something simple like some buttons, menus and it does a bit of work maybe with some files or the internet), the goal is to be fast and have very few bugs that you will have to support by fixing them

    For GUI, Dear Imgui [0].

    For network, Asio [1].

    For files, plain standard streams. They're not fast but if your files are your bottleneck then I'd consider memory-mapped files.

    [0]: https://github.com/ocornut/imgui

    [1]: https://www.boost.org/doc/libs/1_77_0/doc/html/boost_asio/re...

  • Low-polygon icospheres with lighting using the Phong shader model
    1 project | reddit.com/r/opengl | 4 Nov 2021
    ImGui has a docking branch.
  • Using GLFW and other libraries just confuses me.
    1 project | reddit.com/r/gamedev | 2 Nov 2021
    Have you tried using a dear imgui template for your tech stack? example_glfw_opengl3 should get you running.
  • What would you say is a good GUI library for a beginner (someone who's never dabbled in GUI programming before, but has several years of experience with C++)?
    6 projects | reddit.com/r/cpp_questions | 22 Oct 2021

What are some alternatives?

When comparing glad and imgui you can also consider the following projects:

nuklear - A single-header ANSI C immediate mode cross-platform GUI library

NanoGUI - Minimalistic GUI library for OpenGL

wxWidgets - Cross-Platform GUI Library - Report issues here: https://trac.wxwidgets.org/

CEGUI

nana - a modern C++ GUI library

GTK+ - Read-only mirror of https://gitlab.gnome.org/GNOME/gtk

FLTK - FLTK - Fast Light Tool Kit - https://github.com/fltk/fltk - cross platform GUI development

GLFW - A multi-platform library for OpenGL, OpenGL ES, Vulkan, window and input

MyGUI - Fast, flexible and simple GUI.

libui - Simple and portable (but not inflexible) GUI library in C that uses the native GUI technologies of each platform it supports.

webview - Tiny cross-platform webview library for C/C++/Golang. Uses WebKit (Gtk/Cocoa) and Edge (Windows)

glew-cmake - GLEW(https://github.com/nigels-com/glew, source updated nightly) with Cmake and pre-generated sources