The main goal of computer graphics, since the very beginning of its history, was to create as realistic looking images as possible, that is, to simulate the workings of a traditional photographic camera. Artistic techniques however tend to abstract detail to communicate emotions, experiences and ideas to the observer. Non-photorealistic or stylized rendering is inspired by artistic styles found in drawings, paintings, cartoons and technical illustrations.
There is a growing interest in newer, stylized rendering styles, especially in games. However, modifying an application's graphics and engine to support new styles, even if it is open source, is a hard and time-consuming task. Therefore a general method to alter any application's rendering style non-invasively would be beneficial.
In this thesis I attempt to create a framework that intercepts the stream of OpenGL calls made by an application, reconstructs a meaningful representation of the scene geometry from it and also provides access to the frame buffer of the target. Different non-photorealistic renderers will then be explored that use this data to alter the application's graphics. The viability of the black-box approach, performance of the framework and test results will also be discussed.