overview | results | downloads | links


This website is about the thesis "Künstlerisches Rendering für Echtzeit-Applikationen" [engl. "Painterly Rendering for Realtime Applications"] which was written at the Hagenberg College of Information Technology in Austria. It describes a system that can be used to render 3D scenes in a painterly style. To demonstrate the system, I created a prototype which can be downloaded here. The prototype was implemented in a small framework that can be used for simple creation of additional rendering algorithms, and is available in binary form (for Win32) as well as with sourcecode.


Daniel Sperl
Engljähringer-Str. 19
A-4651 Stadl-Paura

Homepage: www.incognitek.com/redge

My GnuPG public key can be found here


In modern computer graphics, most research effort has been put into the creation of photorealistic images, which resemble the real world as much as possible. Nowadays, it is often impossible to distinguish between a real-world image and a digital creation. In contrast to this, the field of non-photorealistic computer graphics is comparatively young. One of its goals is to digitally reproduce the creative techniques of classic art forms.


A method for rendering animation in a painterly style, which was first presented in [Meier, B. J.: Painterly Rendering for Animation. In: Proceedings of SIGGRAPH 96, p. 477-484, 1996], is the basis of this thesis. While previous algorithms only worked for still frames, the new method successfully extends them to be applicable in animations. This is achieved mainly by two techniques: organizing brush strokes in particle systems, and the use of reference pictures to compute their properties. The result is a frame-to-frame coherence, which is a requirement of animation.

Modern 3D hardware should make it possible to achieve this effect in real-time applications. Proving this statement is the main goal of this thesis. The possibility to send instructions to the graphics card and compute them either per vertex or per pixel allows both the rendering of thousands of brush strokes per frame, and the correct application of their properties. Programming the graphics hardware is done with Cg, a high level shading language. Fast access to reference pictures is achieved by using OpenGL extensions that allow direct rendering to textures.

To validate that these techniques are fast enough, the first step is to develop a framework that allows fast creation and testing of rendering algorithms, including object loading and simple scene management. The painterly renderer is then implemented in this environment, supported by a graphical user interface to allow easy experimentation with the parameters. The results are very promising. Although not all aspects of the painterly algorithm described by Barbara J. Meier were included, the rendered images provide an idea of what is possible using this technique. With a few more optimization steps it should be possible to utilize the presented technique in complex environments.