awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
wjakob avatar

wjakob/nanogui

0
View on GitHub↗
4,863 stars·612 forks·C++·23 views

Nanogui

nanogui is a native C++ toolkit for rendering interactive user interface components directly within an OpenGL graphics context. It functions as a cross-platform widget library and immediate-mode framework used to create windows, buttons, sliders, and input fields.

The toolkit provides specialized capabilities for building technical interfaces, including real-time parameter control panels and custom tooling for graphics-heavy software. It ensures visual consistency across different operating systems and screen resolutions through DPI-aware coordinate scaling.

The framework includes a constraint-based layout engine for automatic widget positioning and a composite-based hierarchy for organizing interface elements. User interactions are managed via stateful input processing and callback-driven event handling to map graphical inputs to application logic.

Features

  • OpenGL Canvas Rendering - Renders all 2D user interface components directly via GPU-accelerated OpenGL draw calls.
  • Graphics and OpenGL - Acts as a specialized library for integrating interactive windows and GUI elements into OpenGL environments.
  • OpenGL UI Tooling - Enables the creation of functional interfaces to manage state and trigger logic within OpenGL graphics projects.
  • Automatic Layout Engines - Features an automatic layout engine that positions and sizes elements based on defined constraints.
  • Composition Hierarchies - Provides a composite-based hierarchy for organizing UI elements in a parent-child tree structure.
  • Constraint Layout Engines - Includes a constraint-based layout engine to automatically calculate widget positions and dimensions.
  • Cross-Platform GUI Toolkits - Provides a cross-platform toolkit for rendering windows and widgets consistently across various operating systems.
  • Cross-Platform UI Frameworks - Provides a consistent set of widgets and windows that function across different operating systems.
  • Cross-Platform UI Toolkits - Ships a comprehensive set of reusable UI components and layout tools that work across multiple platforms.
  • Immediate Mode GUI Frameworks - Implements an immediate-mode paradigm for building variable controls and settings interfaces.
  • Real-Time Variable Controllers - Offers interactive panels with sliders and buttons for real-time manipulation of application variables.
  • Widget Interaction State Tracking - Tracks widget interaction status to distinguish between continuous movements and discrete clicks.
  • Event-Driven Callbacks - Implements an event-driven system where registered function pointers execute application logic in response to user interactions.
  • Interaction State Management - Provides mechanisms to synchronize user interaction events with UI visual updates through stateful callbacks.
  • DPI Scaling - Supports DPI-aware coordinate scaling to maintain consistent visual dimensions across different screen resolutions.
  • Interactive Widgets - Allows building interactive interfaces using a variety of built-in input types and windowing components.
  • Widget Event Callbacks - Supports registering callback functions that trigger specific application logic upon widget interaction.
  • Graphical User Interface - Minimalist widget library for OpenGL applications.
  • Graphical User Interfaces - Minimalist cross-platform widget library for OpenGL.

Star history

Star history chart for wjakob/nanoguiStar history chart for wjakob/nanogui

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Projects sharing features with Nanogui

These projects share indexed features with Nanogui. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • fyne-io/fynefyne-io avatar

    fyne-io/fyne

    27,941View on GitHub↗

    Fyne is a cross-platform graphical user interface toolkit for the Go programming language. It provides a comprehensive framework for building native applications that run on desktop, mobile, and web environments from a single codebase. The toolkit centers on a canvas-based rendering engine and a device-independent layout engine, ensuring that visual elements maintain consistent dimensions and behavior across diverse operating systems and screen densities. The project distinguishes itself through a reactive data-binding system that automatically synchronizes application state with interface co

    Goandroidcross-platformfyne
    View on GitHub↗27,941
  • ajay-prabhakar/awesome-flutter-uiajay-prabhakar avatar

    ajay-prabhakar/awesome-flutter-ui

    1,179View on GitHub↗

    Awesome Flutter UI is a collection of design patterns and layout templates designed to accelerate the development of mobile application interfaces. It functions as a cross-platform UI kit, providing a library of pre-built components that allow developers to construct standard mobile screens and user flows using a unified codebase. The project distinguishes itself by offering ready-made templates for common mobile application requirements, including authentication, profile management, and media streaming. It also includes specialized patterns for mobile onboarding, enabling the creation of int

    Dartadobe-xdandroidawesome-list
    View on GitHub↗1,179
  • lc-soft/lcuilc-soft avatar

    lc-soft/LCUI

    4,300View on GitHub↗

    LCUI is a component-based, cross-platform UI toolkit for building desktop applications using C, TypeScript, and JSX. It provides a declarative UI compiler that transforms JSX and TypeScript markup into native C code, enabling developers to construct interfaces without a browser runtime. The library includes a CSS styling engine that applies standard CSS rules to layout and style native desktop components, and supports component composition with state management and event binding. The toolkit distinguishes itself by combining web development patterns with native desktop rendering, allowing dev

    Cccross-platform-guigui-framework
    View on GitHub↗4,300
  • cycfi/elementscycfi avatar

    cycfi/elements

    3,702View on GitHub↗

    Elements is a C++ GUI library and component-based UI framework used for building desktop user interfaces. It features a retained-mode layout engine that manages the positioning, sizing, and layering of elements within a window. The framework functions as a cross-platform window manager, handling application event loops and embedding graphical views into native platform windows. It allows for the creation of custom widgets by composing basic primitive elements and alignment wrappers. The system supports responsive layout organization through the use of tiles, grids, and flows. It also provide

    C++c-plus-pluscppcpp17
    View on GitHub↗3,702
Compare all 30 related projects→

Frequently asked questions

What does wjakob/nanogui do?

nanogui is a native C++ toolkit for rendering interactive user interface components directly within an OpenGL graphics context. It functions as a cross-platform widget library and immediate-mode framework used to create windows, buttons, sliders, and input fields.

What are the main features of wjakob/nanogui?

The main features of wjakob/nanogui are: OpenGL Canvas Rendering, Graphics and OpenGL, OpenGL UI Tooling, Automatic Layout Engines, Composition Hierarchies, Constraint Layout Engines, Cross-Platform GUI Toolkits, Cross-Platform UI Frameworks.

Which projects share features with wjakob/nanogui?

Projects with overlapping indexed features include: fyne-io/fyne — Fyne is a cross-platform graphical user interface toolkit for the Go programming language. It provides a comprehensive… ajay-prabhakar/awesome-flutter-ui — Awesome Flutter UI is a collection of design patterns and layout templates designed to accelerate the development of… lc-soft/lcui — LCUI is a component-based, cross-platform UI toolkit for building desktop applications using C, TypeScript, and JSX.… cycfi/elements — Elements is a C++ GUI library and component-based UI framework used for building desktop user interfaces. It features… ocornut/imgui — This project is an immediate-mode graphical user interface library designed for rapid development of tools and… linebender/druid — Druid is a native user interface toolkit and 2D graphics engine for the Rust programming language. It functions as a…