Pugl is a minimal portable API for OpenGL GUIs which supports embedding and is suitable for use in plugins, but can also be used for programs. It works on X11, Mac OS X, and Windows.

Pugl is vaguely similar to GLUT, but with some significant distinctions:

  • Minimal in scope, providing only what is necessary to draw and receive keyboard and mouse input.
  • No reliance on static data whatsoever, so the API can be used in plugins or multiple independent parts of a program.
  • Single implementation, which is small, liberally licensed Free / Open Source Software, and suitable for direct inclusion in programs if avoiding a library dependency is desired.
  • Support for embedding in other windows, so Pugl code can draw to a widget inside a larger GUI.
  • More complete support for keyboard input, including additional “special” keys, modifiers, and support for detecting individual modifier key presses.


Pugl is currently only available from git. Currently, it is recommended that you include Pugl (which is very small) in the source tree of your project. Please let me know about any projects using Pugl.


Financial support for Pugl development is appreciated:

2 thoughts on “Pugl

  1. Pingback: Portable OpenGL Plugin UIs | drobilla.net

  2. Pingback: OpenAV: Fabla 2.0 – 9 days in! | OpenAV

Leave a Reply

Your email address will not be published. Required fields are marked *