AntTweakBar

Overview

What is AntTweakBar

AntTweakBar is a small and easy-to-use C/C++ library that allows programmers to quickly add a light and intuitive graphical user interface into graphic applications based on OpenGL (compatibility and core profiles), DirectX 9, DirectX 10 or DirectX 11 to interactively tweak parameters on-screen.

C/C++ variables can be bound to graphical controls that allow users to modify them. Thus, variables exposed by programmers can be easily modified. They are displayed into the graphical application through one or more embedded windows called tweak bars.

The AntTweakBar library mainly targets graphical applications that need a quick way to tune parameters (even in fullscreen mode) and see the result in real-time like 3D demos, games, prototypes, inline editors, debug facilities of weightier graphical applications, etc.

Design and integration

The library is designed to minimize programmer's work while offering a fast, clean, intuitive and non-intrusive graphical interface. For instance, numerical values are automatically mapped to a RotoSlider control for rapid editing.

It is composed of few easy-to-learn functions. Common variables like booleans, integers, floats and enums can be directly mapped to a graphic control through pointers or callback functions. Additional editing information like min and max values can be provided. Keyboard shortcuts can also be associated to controls and a help window which summarizes these shortcuts can be displayed. Programmers are not required to design the graphical interface by providing coordinates or by using a visual UI editor. Controls are automatically organized following an optional given hierarchy. In most cases, only one line of code is needed to add a new variable to a tweak bar.

While the library itself is written in C++, its programming interface is a C interface, and then it can be directly integrated in any C++ or C program.

It has been designed with performance in mind. Embedded in a typical 3D application, its rendering time is almost insignificant. Bars can also be iconified to fully minimize their rendering time.

AntTweakBar works with GNU/Linux, Windows and OSX, and can be easily integrated with your own windowing system or with existing toolkits. Examples of integration with GLFW, SDL, GLUT, SFML and DirectX are provided.

License

AntTweakBar is free to use and redistribute. See license for details.

Download

Start with AntTweakBar