rutabaga icon indicating copy to clipboard operation
rutabaga copied to clipboard

a toolkit for developing user interfaces with openGL

             __        __
 _______  __/ /_____ _/ /_  ____ _____ _____ _
/ ___/ / / / __/ __ `/ __ \/ __ `/ __ `/ __ `/

/ / / // / // // / // / // / // / // / // _,/_/_,/./_,/_, /_,/ /____/

rutabaga is an openGL widget toolkit in early stages of development. it is built against the openGL 3 core profile (i.e. no fixed function pipeline), licensed under the 2-clause BSD license, and implemented in almost-standard C99 (uses the non-standard ms-extensions for anonymous structs because C11 anonymous structs don't work for our purposes).

currently it provides the skeletal components: a basic scene graph, event dispatching, rudimentary run-time type information, FreeType font rendering, and indirect rendering for performance.

there is support for X11 (tested on Linux and FreeBSD), OSX via Cocoa, and win32/win64. the windows support is currently unable to deploy stand-alone apps due to some event loop shenanigans, but plug-in UIs (i.e. VST) work just fine.

build with:

  ./waf configure
  ./waf

run the examples from the build directory:

  ./build/examples/test
  ./build/examples/cabbage_patch

test is a basic layout test application that displays a bunch of knobs and buttons.

cabbage_patch is a patchbay for the JACK sound server and will only build if you have the JACK libraries and headers available.

documentation is currently non-existent and the API is very much in flux. if the phrase "fixed-function pipeline" doesn't make sense to you, this is probably not the right time to play with rutabaga.

questions, comments, and/or chili con carne recipies to [email protected].