Nuklear is a portable, header-only immediate mode graphical user interface library written in C. It is designed to function as a lightweight framework for creating interfaces that render directly to hardware, making it suitable for integration into custom graphics engines, embedded systems, and resource-constrained environments.
The library operates by generating abstract draw commands that are converted into vertex buffers, allowing for hardware-accelerated rendering through standard graphics APIs. By utilizing an immediate mode approach, the interface state is defined and updated within the application's render loop, ensuring high performance and responsiveness. The system is entirely platform-agnostic, decoupling input processing and window management from specific operating systems or windowing frameworks.
Users maintain full control over the library's lifecycle through manual memory management, where custom allocators or user-provided buffers can be employed to optimize resource usage. The framework includes comprehensive systems for interface layout management, visual styling through color tables or skinning, and font integration, providing the necessary tools to build consistent and functional graphical controls.