Our great sponsors
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.
minimax — minimalist 3D game engine in Clojure
5 projects | reddit.com/r/Clojure | 26 Feb 2023
The "engine" is built on top of amazing https://www.lwjgl.org/ and https://github.com/bkaradzic/bgfx/, and UI system is baked by https://github.com/memononen/nanovg and https://github.com/facebook/yoga
W4 Games formed to strengthen Godot ecosystem
3 projects | news.ycombinator.com | 9 Aug 2022
NanoVG is the closest thing I came across when I had a similar quesiton: https://github.com/memononen/NanoVG
unfortunately it doesn't seem like it's getting steady updates now unlike the last time I checked. But I imagine it's pretty mature at this point. There also seem to be ports in Metal/DX11 if you didn't want to be stuck in OpenGL.
Why are there so little Skia recources?
3 projects | reddit.com/r/GraphicsProgramming | 6 Aug 2022
Also there's NanoVG if you really want a vector api in C, but don't need anti-aliased clipping.
Advice for the next dozen Rust GUIs
14 projects | news.ycombinator.com | 15 Jul 2022
Getting sufficient antialiasing quality for 2D graphics is difficult on GPUs. https://github.com/memononen/nanovg accomplishes this with GL2/GLES2 level hardware for most of the stuff one would want to render as part of a GUI. My project https://github.com/styluslabs/nanovgXC supports rendering arbitrary paths with exact coverage antialiasing, but requires GLES3.1 or GL4 level hardware for reasonable performance.
Ask HN: Modern Alternatives to C
5 projects | news.ycombinator.com | 30 Apr 2022
> to learn the 'nuts and bolts' of rendering
These nuts and bolts are very different between CPU and GPU. CPU-based libraries are painting pixels in bitmaps in system memory. Most GPU-based libraries are uploading indexed triangle meshes, and rendering them with weird shaders.
Worse, there're no good open source implementations of GPU-based ones. Microsoft ships an implementation as a part of OS (Direct2D) but it's not open source. Linux simply doesn't have an equivalent.
At least for initial versions, consider C interop with this https://github.com/memononen/nanovg It cuts a few corners (no cleartype for text, CPU overhead for repeated rendering of same static paths) but it's still good overall, simple, and easy to use.
> My only concern with C# is the cross compatibility
Works well on Linux, Windows and OSX, including ARM CPUs. Not sure about Android and iOS, never tested.
My largest concern with C# would be performance. Technically the language allows to code in any style, but most guides and examples are using OO-heavy one.
Any good video tutorials on making a OS with a GUI?
5 projects | reddit.com/r/osdev | 10 Dec 2021
In fact, if using a modern graphics pipeline with shaders, you will actually have to learn how to draw a single rectangle to your screen, and then use that knowledge to draw (anti-aliased) lines, rectangles, arcs, circles, ellipses, etc. too. For instance, have a look at https://www.cairographics.org/ https://github.com/vurtun/nuklear https://github.com/memononen/nanovg and https://github.com/nical/lyon. There are probably also tutorials on how to draw vectorized graphics using OpenGL, Vulkan, etc.
So you want to write a GUI framework
13 projects | news.ycombinator.com | 11 Aug 2021
[ANN] Monomer, a GUI library for Haskell
11 projects | reddit.com/r/haskell | 9 Aug 2021
What is your take on the underlying library NanoVG stating
What is your own favorite C project?
14 projects | reddit.com/r/C_Programming | 5 Aug 2021
In terms of other people's projects: stb, microui, and nanovg come to mind
Creating a Custom QUI Toolkit from Scratch
2 projects | reddit.com/r/C_Programming | 6 Jul 2021
My library uses nanovg, a canvas API on top of OpenGL, written in C and stb_truetype for font rasterization.
GUI frameworks for an SDL-based roguelike?
4 projects | reddit.com/r/roguelikedev | 26 Mar 2023
I'm not familiar with it myself, but Dear ImGui comes up a lot in this situation due to it being able to integrate with SDL and other platforms.4 projects | reddit.com/r/roguelikedev | 26 Mar 2023
We use a lot of software used by big companies. :) Git and C++ come to mind. But as far I see on their software list there are one or two roguelikes. Also, bgfx uses ImGUI under the hood, so it is a good place to see how it can look or even use it instead of just ImGUI.
2D Fluid simulation
2 projects | reddit.com/r/csharp | 18 Mar 2023
The gui is actually imgui. I've used the .net bindings from ImGui.NET (integrated in the rendering pipeline with Silk.NET.OpenGL.Extensions.ImGui).
Need help choosing the tech stack for making very basic 2d game
2 projects | reddit.com/r/cpp_questions | 11 Mar 2023
Dear ImGui does have an ImDrawList API which can scratch the creative programming itch very well.
Best courses for learning graphics programming?
4 projects | reddit.com/r/GraphicsProgramming | 9 Mar 2023
Use https://github.com/jkuhlmann/cgltf to parse the files. https://github.com/ocornut/imgui for your UI. Maybe https://www.libsdl.org/ just to set up a window, handle mouse clicks and initialize the GL context in that window.
Leveraging Rust and the GPU to render user interfaces at 120 FPS
15 projects | news.ycombinator.com | 9 Mar 2023
ImGui is mainly used for debug rendering, but if you browse the screenshot threads, there quite a few 'end user applications' among them:
Newbie questions about how to start
2 projects | reddit.com/r/VoxelGameDev | 21 Feb 2023
To go multiplatform with OpenGL / Vulkan (harder for a beginner) you can use a simple window library like GLFW and Dear ImGui for UI. I use these for Avoyd, along with a few other libraries.
Real world application projects
2 projects | reddit.com/r/cpp | 16 Feb 2023
[Cpp] Une assez grande liste de bibliothèques graphiques C ++
22 projects | reddit.com/r/enfrancais | 14 Feb 2023
GUI libraries or frameworks?
3 projects | reddit.com/r/Cplusplus | 14 Feb 2023
A few examples: Dear ImGui, SFML, FLTK. Probably even Tk could be used.
What are some alternatives?
nuklear - A single-header ANSI C immediate mode cross-platform GUI library
NanoGUI - Minimalistic GUI library for OpenGL
wxWidgets - Cross-Platform 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
egui - egui: an easy-to-use immediate mode GUI in Rust that runs on both web and native
nana - a modern C++ GUI library
webview - Tiny cross-platform webview library for C/C++/Golang. Uses WebKit (Gtk/Cocoa) and Edge (Windows)
Skia - Skia is a complete 2D graphic library for drawing Text, Geometries, and Images.
raylib - A simple and easy-to-use library to enjoy videogames programming