nanovg
imgui
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.
nanovg
-
minimax — minimalist 3D game engine in Clojure
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
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?
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
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
> 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?
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
-
[ANN] Monomer, a GUI library for Haskell
What is your take on the underlying library NanoVG stating
-
What is your own favorite C project?
In terms of other people's projects: stb, microui, and nanovg come to mind
-
Creating a Custom QUI Toolkit from Scratch
My library uses nanovg, a canvas API on top of OpenGL, written in C and stb_truetype for font rasterization.
imgui
-
GUI frameworks for an SDL-based roguelike?
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.
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
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
Dear ImGui does have an ImDrawList API which can scratch the creative programming itch very well.
-
Best courses for learning graphics programming?
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
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
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
-
[Cpp] Une assez grande liste de bibliothèques graphiques C ++
Cher ImGui
-
GUI libraries or frameworks?
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
CEGUI
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
nuklear
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