GLFW VS imgui

Compare GLFW vs imgui and see what are their differences.

GLFW

A multi-platform library for OpenGL, OpenGL ES, Vulkan, window and input (by glfw)

imgui

Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies (by ocornut)
Our great sponsors
  • SonarQube - C++ Analysis thatโ€™s powerful, fast, and secure
  • Nanos - Run Linux Software Faster and Safer than Linux with Unikernels
  • Scout APM - A developer's best friend. Try free for 14-days
GLFW imgui
28 139
8,214 32,522
2.3% -
8.8 9.6
1 day ago 2 days ago
C C++
zlib License 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.

GLFW

Posts with mentions or reviews of GLFW. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-09-13.
  • [Handmade Network] How to write better (game) libraries
    Even if someone wants to use VS2008 for game development, it only took me a Google search to find https://github.com/glfw/glfw/blob/master/deps/vs2008/stdint.h which doesn't have any dependencies and a very permissive licence.
  • how do i include glfw in my code to make a window?
    reddit.com/r/vscode | 2021-08-31
  • LibOS โ€“ Cross-platform OS features in C++
    reddit.com/r/cpp | 2021-08-23
    You seem to have had a similar impetus as I had 20 years ago when I created GLFW (though with a slightly different focus).
  • Is there a way to get japanese text input in raylib?
    reddit.com/r/raylib | 2021-08-23
    Thanks for the detailed explanation. I'm afraid I didn't considered that use case for raylib and it would require some investigation to implement it... but raylib uses internally GLFW for desktop platforms and I've seen there is a related issue: https://github.com/glfw/glfw/issues/41 About IME support by the browser, it should be investigated. Feel free to open an issue on raylib GitHub for further investigation!
  • Massive trouble with GLFW header inclusion. Can someone help?
    Looking at the actual code of the .h file, it looks pretty empty, and like it needs some extra files perhaps. For instance, functions are just filled with comments with some random explanations, so they are basically 1 line, which probably does nothing. Here you can take a look yourself on github.
  • Hey, I want start
    I would suggest using GLFW and Glad with C++ and use LearnOpenGL as a refrence
  • Compiling in MacOS M1 Chip (arm64)
    reddit.com/r/raylib | 2021-07-22
    Now I read the logs and it seems the issue is with GLFW. I've found this: https://github.com/glfw/glfw/issues/1805
  • Opengl(glfw) gears on termux x11 NO ROOT!!
    reddit.com/r/termux | 2021-07-19
    Clone the glfw repositiory - git clone https://github.com/glfw/glfw.git
  • 3D Visualization with C++
    Use https://www.glfw.org/ to get a window with an OpenGL context.
  • A better way of running Minecraft Without XWayland. Because I REALLY had nothing better to do with my life.
    https://github.com/glfw/glfw/pull/1725 (which is where I got some patches from) says there wasn't much upstream interest on merging the patches. But https://github.com/glfw/glfw/pull/1711 (the fix for the freezing issue) might be a good candidate for merging, though I don't know how GLFW people work, so I cannot comment on if it is properly upstreamable or not.

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-10-22.
  • 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++)?
  • Creating first C++ program for beginner
    If you want to make a gui program using C++, you could try using DearIMGUI. https://github.com/ocornut/imgui
  • Eli5 How are video game main menu/settings screen/inventory screens programmed?
    There are many options but I believe the most popular paradigm is to use immediate mode UIs, like Dear ImGui, and hook them into the rendering engine itself (i.e. translating the UI draw calls to DirectX / Vulkan), with custom textures/fonts/etc. to make the UI feel 'native' to the game.
  • In search of a simple GUI library for C/C++
  • So I did my first Chip-8 interpreter with a fancy GUI
    reddit.com/r/EmuDev | 2021-10-15
  • GUI lib learning material?
    reddit.com/r/opengl | 2021-10-14
    E.g., ImGUI (amongst others), source is on git.
  • I can't make up my mind what C++ GUI framework to use. It needs to be very fast in updating the constant data stream I am displaying.
    reddit.com/r/cpp | 2021-10-12
    Have you looked at ImGui?
  • Is it worth to learn C instead of C++ in 2021 / 2022
    As for GUI frameworks, ImGui is worth checking out, but that's C++ as well.
  • Working on some UI to make debugging my Game Boy emulator a bit easier
    reddit.com/r/EmuDev | 2021-10-10
    The look is mostly thanks to the UI library, but thanks! I'm using Dear ImGui with SDL2.
  • Making a game with a mouse-based interface : engine/library suggestions
    reddit.com/r/gamedev | 2021-10-02
    I've been enjoying working with Dear ImGui recently. It might not be exactly what you're looking for but it does all the things you want and it's really simple to use.

What are some alternatives?

When comparing GLFW 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

bgfx - Cross-platform, graphics API agnostic, "Bring Your Own Engine/Framework" style rendering library.

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

SDL - Simple Directmedia Layer

Skia - Skia is a complete 2D graphic library for drawing Text, Geometries, and Images.

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.