Our great sponsors
-
-
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.
-
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.
-
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).
-
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.
-
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...
-
For the general reasons. https://github.com/nothings/stb#why-single-file-headers
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
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.