FruGL is a light-weight rendering interface derived from OpenGL. The goal of FruGL is to provide a platform for research in rendering systems. The library is simple enough to be implemented and maintained within a research environment, but retains large-scale architectural characteristics which are critical in real-world libraries but often lost in research systems. In particular, the interface is purely immediate mode, supports strict ordering, and supports single-buffered rendering (with no frame semantics).

In addition to the basic interface, we have designed a set of parallel API extensions for coordinating multiple simultaneous user threads rendering into the same scene.

We have also developed a tracing library which allows the capture and playback of streams of FruGL calls, for the purposes of trace-driven simulation.