HijackGL: Reconstructing from Streams for Stylized Rendering

Alex Mohr and Michael Gleicher


This work shows that intercepting a low-level graphics library command stream and reconstructing a declarative representation is practical and useful, especially for exploring new rendering styles. We show not only how the basic mechanics of intercepting an OpenGL command stream lead to a non-invasive extension mechanism for graphics applications, but also how simply manipulating the stream severely limits the kinds of effects we can consider. We describe how our system efficiently reconstructs a declarative representation of the geometry implicit in the graphics library command stream. We present a set of application extensions built with this framework, including several stylized renderers. Extensions built using our system are capable of changing the rendering style of applications on the fly at interactive rates.