glitz

Glitz is an OpenGL image compositing library. Glitz provides Porter/Duff compositing of images and implicit mask generation for geometric primitives including trapezoids, triangles, and rectangles.

The semantics of glitz are designed to precisely match the specification of the X Render extension. Glitz does not only implement X Render features like component alpha and image transformations, but also support for additional features like convolution filters and color gradients, which are not currently part of the X Render specification.

The performance and capabilities of glitz are much dependent on graphics hardware. Glitz does not in any way handle software fall-backs when graphics hardware is insufficient. However, glitz will report if any requested operation cannot be carried out by graphics hardware, hence making a higher level software layer responsible for appropriate actions.

Glitz can be used as a stand-alone layer above OpenGL but is also designed to act as a backend for cairo, providing it with OpenGL accelerated output.

Source Repository Access

# Anonymous access:
$ git clone git://git.freedesktop.org/git/glitz
# Developer access:
$ git clone ssh+git://git.freedesktop.org/git/glitz

The glitzinfo and rendertest modules might also be of interest:

$ cvs -d:pserver:anoncvs@cvs.freedesktop.org:/cvs/cairo login
CVS password: <hit return>
$ cvs -d:pserver:anoncvs@cvs.freedesktop.org:/cvs/cairo co glitzinfo
$ cvs -d:pserver:anoncvs@cvs.freedesktop.org:/cvs/cairo co rendertest

Download

Development snapshots of glitz are available for download here.

Examples

Several test/demo applications are available.

Screenshots

  • ?rendertest <-- (No link?)

Documentation

The USENIX'04 freenix track paper.

-- Main.DavidReveman - 20 Jul 2004