Maic Masuch,
Stefan Schlechtweg,
Bert Schönwälder
Department of Simulation and Graphics
Otto-von-Guericke-University of Magdeburg
Universitätsplatz 2, 39106 Magdeburg, Germany
eMail: {masuch|stefans|bert}@isg.cs.uni-magdeburg.de
Keywords:non-photorealistic rendering, non-photorealistic animation, computer-generated line-drawings, abstract images
In order to enrich the means of (computer) graphical expression we are developing methods for rendering non-photorealistic images using a "sketchy style". Since we wish also to depict abstract information in an image we concentrate on line-drawings. They themselves are an abstract medium and so it is easy to code abstract information.
When creating non-photorealistic images on a computer it soon comes to mind to combine subsequent pictures into an animation that also benefits from abstraction and simplification. Due to the temporal nature of moving pictures the viewer always has less time to decode the presented information. Thus it is of utmost importance not to distract the viewer's attention with unnecessary detail.
In general, an animation system consists of two main parts:
Our system daLi!, an application of these concepts, is described in Sections 4 and 5.
All these approaches, however, mainly concentrate on creating single images. Of course there are animation systems like Softimage's TOONZ or TIC-TAC-TOON [FBCGT95] that uses computer-aided vector-based sketching and painting techniques. But as these systems are simulating the traditional paper-based production process, they are restricted to two dimensions. As in classical animation, the third dimension is indicated by the use of transparent layers, i.e. a foreground layer for the main character and several background layers. This, to a certain extent, creates the illusion of three dimensions [ThoJoh81]. The only system for rendering 3D animations in a painterly style is proposed by Meier [Meier96]. Here colored particles that stick to the 3D model are used to simulate a hand-crafted look.
Once given the input data, it is processed in a way similar to a standard rendering pipeline. Since we use polygonal models, this common approach can be chosen. This means that the geometry is transformed and projected and the hidden surface removal is performed.
For the process of hidden line (and surface) removal we use an extension of an algorithm developed by Sechrest and Greenberg in 1981 [SechGre81]. This 3D sweep-line approach uses coherence information between neighboring faces in an object, thus it is very efficient. A disadvantage, however, is that this algorithm can only handle non-penetrating models and not all models can be modified to this demand. We extended this algorithm to meet the special requirements encountered when creating line-drawings. For example it is important to know for each line whether it disappears under a face. Also it is desirable to categorize the lines into those forming the contour of an object and those depicting the internal structure. This additional information makes it possible to choose an appropriate presentation style.
The output for each object consists of a list of its currently visible faces and lines, with each line carrying certain attributes about its type (contour, smoothing, etc.). Since a clearly drawn contour is of great importance for the depiction of an object, the single contour lines are combined into a set of control vertices which can be interpolated by parametric curves.
Besides the lines generated from direct calculations on the model's edges, hatching lines can be created using 3D surface information.
The lines are finally drawn using line styles. These styles describe for each line the
|
|
|
|
| Figure 1: A cube drawn with different line styles | |
The description of the path depicting an edge results from the rendering process and is given attributes which contain information about the brightness of the line resulting from lighting calculations. The style is given by the user and may indicate, for instance, material properties. For drawing the lines, each path is combined with the corresponding style resulting in a curve with possibly changing width and brightness over the length. These curves are sent to the output module, creating a vector oriented representation of the rendered frame. As this representation is resolution independent, we do not have to care about aliasing problems, these are relegated to the output device. This output device converts the image into the desired output format as described in Section 6.
During the creation process of the animation, particular attention must be paid to the appearance of the lines. Since they are drawn using line styles - and these styles may vary randomly - the frame-to-frame consistency of subsequent images is slightly disturbed. This "pulsing" or "waving" of lines gives the animation a hand-crafted appearance. The coherence between frames depends on the chosen line style. If a "wild" style has been selected for the representation of an object (this means the curve has a certain degree of freedom to differ from the line segment it represents) the object's contour and inner lines show a wide range of variation. Choosing a calm style with only very small permitted deviations leads to a smooth representation. It is intended to extend the parametrization of line styles in order to control the randomness of the form and appearance of displayed lines.

Because it is unnecessary to develop yet another modelling system, we simply use 3D Studio to set up an animation. 3D Studio is a high-end animation system for personal computers provided by Autodesk. Besides its native file format 3DS, it can import other formats (e.g. DXF) and therefore provides an open interface to other modelling systems. After setting up the scene - constructing all objects, setting up cameras and lightsources - the motion paths and object transformations are modelled in the 3D Studio keyframer. Finally a 3DS file is written. This data (referred to in figure 2 as keyframe data) can be read and interpreted by a 3DS parser, which is part of the animation engine. The animation engine can therefore be seen as a filter that provides the render engine with the necessary animation data combined with the additional information. This information consists of the number of frames and settings concerning the line styles. The scene is rendered and an analytical description (technically speaking: a collection of lines) is passed back to the animation engine, which paints the vector oriented frame representation on an abstract image. After that a special output device writes subsequent frames into a predefined directory. Currently daLi! supports PostScript as resolution independent output format and TIFF, BMP, GIF and AnimatedGIF as resolution dependent output formats. Finally, the series of images can be combined into an animation using standard MPEG or Quicktime encoders.
|
|
|
|
| Figure 3: Jumping dolphins: Three frames taken from an animation | |
One can think of a scene as a collection of objects. These objects may have common and distinctive features. It is possible to model common features only once and allow them to be inherited by child objects. So, for instance, every scene object - no matter if it is a 3D geometry object, a camera or a lightsource - can be moved. Consequently this movement can be inherited by child objects. Thus the mechanisms implemented in the animation engine can be applied to every object in the scene.
Once having agreed on a common interface and protocol, daLi! can be extended very easily just by developing new object-specific code for a certain action. An application for this might be the extension of daLi! to a multi-style animation system which creates line drawn animations as well as painterly or more realistic looking animations.
The use of object-oriented techniques offers a lot of advantages especially in the graphics field. Although the rendering time is a critical factor when using such an environment, we discovered that the advantages of an object-oriented development far outweigh the disadvantages. The rendering time strongly benefits from the implementation of the very efficient Sechrest/Greenberg} algorithm.
The images at the end give an example of an animation created with daLi!. They show some frames out of a small 200 frame animation inspired by the logo of daLi!.
After coping with the more technically structured problems mentioned above, we aim to develop new techniques for the representation of many objects, e.g. leaves of a tree or clouds. In the past artists have developed some powerful techniques to depict these kinds of objects, e.g. painting a tree, with some characteristic strokes rather than painting every single leaf.
Finally, we think it can be promising to experiment with changes of object importance (visualized by the use of different line-drawing techniques) over time.
With the inclusion of abstraction techniques it is possible to create animations which can visualize a lot more than those rendered photorealistically.
|
|
|
|
|
|
| Figure 4: Six frames from an animated logo. | |
[HsuLee94] S.C. Hsu, I.H.H. Lee: "Drawing and Animation Using Skeletal Strokes". Proceedings of SIGGRAPH'94, (Orlando, Florida, July 24-29). In: Computer Graphics, Vol.: 28, No.: 4, 1994, pp. 109-118.
[Leister94] W. Leister: "Computer Generated Copper-plates". In: Computer Graphics Forum, Vol. 13, No. 1, 1994, pp. 69-77.
[LanScho95] J. Lansdown, S. Schofield: "Expressive Rendering: A Review of Nonphotorealistic Techniques". In: IEEE Computer Graphics and Applications, Vol.: 15, No.: 3, May 1995, pp. 29-37.
[Meier96] B. Meier: "Painterly Rendering for Animation" Proceedings of SIGGRAPH'96, (New Orleans, Louisiana, August 04-09). In: Computer Graphics, Vol.: 30, No.: 4, 1996, pp. 477-484.
[SechGre81] S. Sechrest, D. Greenberg: "A Visible Polygon Reconstruction Algorithm" Proceedings of SIGGRAPH'81, (Dallas, Texas, August 03-07). In: Computer Graphics, Annual Conference Series, 1996, pp. 17-27.
[ThoJon81] F. Thomas, A. Johnston. The Illusion of Life: Disney Animation. Hyperion, 1981.
[WinSal94] G. Winkenbach, H. Salesin: "Computer generated Pen-and-Ink-Illustration". Proceedings of SIGGRAPH'94, (Orlando, Florida, July 24-29). In: Computer Graphics, Vol.: 28, No.: 4, 1994, pp. 91-100.
[WatWat93] A. Watt, M. Watt: Advanced Animation and Rendering Techniques. Addison Wesley, 1992.