Nuklear: A cross-platform GUI library in C

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • nuklear

    A single-header ANSI C immediate mode cross-platform GUI library (by Immediate-Mode-UI)

  • femtovg

    Antialiased 2D vector drawing library written in Rust

  • This is only tangentially related but if you are looking for a 2d rendering api for Rust, peep femtovg https://github.com/femtovg/femtovg

    Quite a few people have been using it to build their own GUI. Add some layout, windowing and event handling and you have yourself a GUI.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • Vrmac

    Vrmac Graphics, a cross-platform graphics library for .NET. Supports 3D, 2D, and accelerated video playback. Works on Windows 10 and Raspberry Pi4.

  • I once did something similar in C++, C# and HLSL: https://github.com/Const-me/Vrmac

    With more focus on GPU integration, and output quality. Unfortunately, these priorities resulted in more than an order of magnitude of code complexity, compared to Nuklear.

    For instance, nice but fast anti-aliasing is hard. 16x hardware MSAA is often OK in terms of quality, but too slow on platforms like Raspberry Pi.

  • NanoGUI

    Minimalistic GUI library for OpenGL

  • Wondering if this was inspired by Wenzel Jakob's nanogui [0] by any chance. (cz that's what I wanted to do, rewrite nanogui in C, so I don't have to rely on a C++ compiler).

    [0] https://github.com/wjakob/nanogui

  • sokol

    minimal cross-platform standalone C headers

  • The library itself doesn't depend on anything, instead it delegates the "platform integration" (rendering and input) to outside code.

    The examples somehow need to connect to the underlying operating system, and that's why they depend on GLFW as intermediate layer, but this could also be SDL, or - shameless plug - the sokol headers (https://github.com/floooh/sokol), or (more commonly) a game engine like Unity, Unreal Engine, or your own.

  • sokol-samples

    Sample code for https://github.com/floooh/sokol

  • It's an STB-style single-file library, which means the implementation is in a separate ifdef-block from the interface declarations, this allows to compile the implemenentation in a separate source file (which can be a C file), and be used in different source files (which can be C++ files).

    For example (using stb_image.h):

    https://github.com/floooh/sokol-samples/blob/master/libs/stb...

  • stb

    stb single-file public domain libraries for C/C++

  • For the general reasons. https://github.com/nothings/stb#why-single-file-headers

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  • imgui

    Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies

  • Dear ImGui did that: https://github.com/ocornut/imgui/tree/master/backends, https://github.com/ocornut/imgui/tree/master/examples You can probably borrow some of these code and fit with Nuklear.

    For these imgui toolkit, it is just a few lines of code if you know what you are doing. For the library authors, it is quite a bit of work to maintain different environments and CIs to test all these backends though.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Textual Web: TUIs for the Web

    9 projects | news.ycombinator.com | 7 Sep 2023
  • ImGui or text rendering libraries

    7 projects | /r/C_Programming | 6 Apr 2023
  • Steps to setup cimgui on windows 10.

    1 project | /r/dearimgui | 10 Jan 2023
  • Is Raylib optimal for this project?

    2 projects | /r/raylib | 19 Dec 2022
  • Create a Window in C/Where to Begin

    1 project | /r/C_Programming | 9 Oct 2022