nanogui 1.0.0

Port of nanogui to dlang.

To use this package, run the following command in your project's root directory:

Manual usage
Put the following dependency into your project's dependences section:

What is it? .github/workflows/main.yml


Release 1.0.0 is a regular release and is not a major one. The only reason to make this release was transition to dsemver. It means that versions like 0.x.x are not possible so this release was numbered 1.0.0. The release contains experimental widgets List and TreeView but they are under development, also arsd backed has been dropped.

D port of nanogui

The port is incomplete - not all widgets are ported, but all ported widgets are fully usable.

There is difference with origin. For example:

  • instead of const references passing by value is used
  • as a color and vector implementation gfm.math is used (in origin eigen used as a vector implementation and own implementation of color type)
  • no locking on glfw, instead two backends are available - arsd.simpledisplay (no external dependencies) and SDL2 (depends on SDL2 library obviously), SDL backend is more developed than arsd one (due to lack of time). Other backend like glfw, sfml etc can be easily added, nanogui is agnostic to underlying layer.

Install dependencies

On Ubuntu and debian based Linux run this command to install system dependencies:

sudo apt-get install libfontconfig1-dev

Cloning source

git clone


Directory examples contains a package, providing example for sdl backends. To run example cd example/sdl and run dub command. For example:

cd examples/sdl


Screenshot is a bit old and do not show some widgets for example GLCanvas Screenshot

  • drug007
gfm7:opengl, gfm7:sdl2, arsd-official:nanovega, auxil, gfm:math
1.0.0 2021-Apr-12
0.4.0 2020-Mar-18
0.3.1 2020-Mar-06
0.3.0 2020-Jan-08
0.2.1 2019-Jul-14
Show all 27 versions
Download Stats:
  • 0 downloads today

  • 0 downloads this week

  • 1 downloads this month

  • 75 downloads total

Short URL: