9
Non-Photorealistic Real-Time Rendering of Characteristic Faces Thomas Luft Oliver Deussen Department of Computer and Information Science University of Constance, Germany {luft, deussen}@inf.uni-konstanz.de Abstract We propose a system for real-time sketching of human faces. On the basis of a three-dimensional description of a face model, characteristic line strokes are extracted and represented in an artistic way. In order to enrich the results with details that cannot be determined analytically from the model, surface and anchor strokes are supplemented inter- actively and are maintained during animation. Because of the real-time ability of our rendering pipeline the system is suitable for interactive facial animation. Thus, interesting areas of application within the range of the virtual avatars are possible. 1 Introduction Non-photorealistic computer graphics was established during the past few years as an independent research area. Currently there are various algorithms that are concerned with the off-line rendering of images and that simulate artis- tic results. Since the creation of an animation sequence that appears hand-drawn is a very complex developing process for an artist who has to draw every single frame by hand, for us an interesting area is the rendering of non-photorealistic animations and especially real-time graphics. Aiming at a more efficient real-time rendering, this work deals particularly with the representation of face details that cannot be extracted from the geometry due to detail-limited modelling, but that are an important part of characteristic face drawings. Therefore we provide two types of lines: surface strokes that are applied as complete lines onto the object surface, and anchor strokes that are designated by anchor points on the object surface and then continued by control points positioned in 3D-space. Thus, characteris- tic details, such as eyes, hair, folds, and accessories can be represented in our face drawings (cf. figure 1). For the creation of sketchy line drawings, which are strongly stylized, complex software routines are necessary. Figure 1. An example of a female head created by our system. We present a set of algorithms and optimizations that allow the real-time rendering of scenes with moderate size. The suitability of the approach is demonstrated by a set of sam- ple drawings. Highly detailed line drawings of faces provide interest- ing perspectives for several areas of application. Especially

Non-Photorealistic Real-Time Rendering of Characteristic Facesgraphics.uni-konstanz.de/publikationen/Luft2004Non... · for sketching hair were inspired by the graphtal strokes in-troduced

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Non-Photorealistic Real-Time Rendering of Characteristic Facesgraphics.uni-konstanz.de/publikationen/Luft2004Non... · for sketching hair were inspired by the graphtal strokes in-troduced

Non-Photorealistic Real-Time Rendering of Characteristic Faces

Thomas Luft Oliver Deussen

Department of Computer and Information ScienceUniversity of Constance, Germany{luft, deussen}@inf.uni-konstanz.de

Abstract

We propose a system for real-time sketching of humanfaces. On the basis of a three-dimensional description ofa face model, characteristic line strokes are extracted andrepresented in an artistic way. In order to enrich the resultswith details that cannot be determined analytically from themodel, surface and anchor strokes are supplemented inter-actively and are maintained during animation. Because ofthe real-time ability of our rendering pipeline the system issuitable for interactive facial animation. Thus, interestingareas of application within the range of the virtual avatarsare possible.

1 Introduction

Non-photorealistic computer graphics was establishedduring the past few years as an independent research area.Currently there are various algorithms that are concernedwith the off-line rendering of images and that simulate artis-tic results. Since the creation of an animation sequence thatappears hand-drawn is a very complex developing processfor an artist who has to draw every single frame by hand, forus an interesting area is the rendering of non-photorealisticanimations and especially real-time graphics.

Aiming at a more efficient real-time rendering, this workdeals particularly with the representation of face details thatcannot be extracted from the geometry due to detail-limitedmodelling, but that are an important part of characteristicface drawings. Therefore we provide two types of lines:surface strokesthat are applied as complete lines onto theobject surface, andanchor strokesthat are designated byanchor points on the object surface and then continued bycontrol points positioned in 3D-space. Thus, characteris-tic details, such as eyes, hair, folds, and accessories can berepresented in our face drawings (cf. figure 1).

For the creation of sketchy line drawings, which arestrongly stylized, complex software routines are necessary.

Figure 1. An example of a female head createdby our system.

We present a set of algorithms and optimizations that allowthe real-time rendering of scenes with moderate size. Thesuitability of the approach is demonstrated by a set of sam-ple drawings.

Highly detailed line drawings of faces provide interest-ing perspectives for several areas of application. Especially

Page 2: Non-Photorealistic Real-Time Rendering of Characteristic Facesgraphics.uni-konstanz.de/publikationen/Luft2004Non... · for sketching hair were inspired by the graphtal strokes in-troduced

the real-time ability allows the creation of interactive faceanimation and therefore, it can be applied in chat or mes-sage systems or for the automatic generation of bearing lan-guage. Also within the range of learning software for chil-dren this form of representation is preferable, since at thisage the acceptance of avatars depends strongly on their vi-sual appearance.

2 Related Work

The creation of line drawings on basis of a 3D descrip-tion of geometry was treated by many authors in the lastyears. Methodically image space and object space methodscan be differentiated.

Image space methods can easily be computed in real-time with modern graphics hardware using pixel shadersand multi-pass rendering [16] or procedural geometry gen-eration [19]. These procedures create simple line drawingswithout line stylization apart from line width and opacityvariations. The reason for these limitations is the hiddensurface removal on the hardware side, which principallyworks also for the culling of hidden lines, however partlyoverwrites strongly stylized lines.

For the analytic line rendering in object space various ap-proaches were introduced that supply high-quality results,e.g. [10, 20, 24]. In [15] an object space method is pre-sented that was optimized for the real-time rendering ofscenes of moderate complexity. Also hybrid combinationsof an analytic computation of the lines and a hidden lineremoval in image space were implemented for real-timerendering [11, 17]. In [4] the production of hand-drawn-looking animated faces is shown. However, their work islimited to two-dimensional data.

In this work we also use a hybrid approach for line ren-dering. In order to achieve a characteristic face representa-tion, our approach is enhanced by the options of adding de-tails interactively using surface strokes and anchor strokes.We introduce methods for their construction, application,and their integration into the hidden line removal algorithm.

2.1 Line Drawings of Faces

As for other objects, a very characteristic line type for aface is its silhouette line. For each frame, the computationmust be executed indepently, since these lines are viewpointdependent. In [15] a method is described that uses the localcoherency of silhouettes for small viewpoint changes, andwith which a better performance than using a brute forceapproach can be achieved. The ”srf-method” introduced byGooch [7] is a stable and usefull method for the silhouettecomputation of triangulated nurbs surfaces. The procedurecan also be used for faces, since faces consist of typicallysmooth surfaces. Another approach by DeCarlo [5] extends

Figure 2. Drawing of a male head using silhou-ette strokes combined with supplemented de-tail strokes (male A).

the silhouettes of an object by so called suggestive contours.This type of lines is located at the zero set of the radialcurvature of a surface and become silhouettes when viewedfrom a nearby viewpoint.

In addition to silhouettes there are so called ”featurelines” needed to convey the special expressions of a face.Examples of feature lines are creases and boundaries thatrepresent geometrical and topological discontinuity of thetriangular mesh. Boundaries typically represent a part ofthe silhouette. Thus, it is important to draw this kind ofline. Ridges and valleys are based on maximum and mini-mum curvatures in principal directions of the object surface.Cap and pit edges are based on concave and convex regionsof the mesh and are used in the rendering system of Sousa[23]. However, finding feature lines geometrically on basisof the mesh slope or other operators often leads to unwantedresults and too many or too less lines.

Our system uses the ”srf-method” [7] for the silhouettecomputation. For producing characteristic and lively facedrawings, as is desirable for facial animation, automaticallygenerated lines are not sufficient, as mentioned above. Onthe one hand it is desirable to emphasize special details ofa face that are not contained in the geometry data; however,

Page 3: Non-Photorealistic Real-Time Rendering of Characteristic Facesgraphics.uni-konstanz.de/publikationen/Luft2004Non... · for sketching hair were inspired by the graphtal strokes in-troduced

on the other hand the real-time ability limits the modellingcomplexity for a face. As an example, complex hair shouldnot be contained in the geometry data but can be sketchedwith a few strokes.

In the photorealistic representation, details that were notmodelled are replicated by means of textures. To pro-vide comparable results for non-photorealistic rendering,our system uses two types of lines: surface strokes and an-chor strokes. These types of lines allow imitating details,like eyes, folds, hair or even glasses and other accessory,without these details having to be modelled beforehand (cf.figure 2). The surface strokes were inspired by Kalnins et al.[13] who introduced decal strokes which allow the user todraw onto the surface directly. Anchor strokes that are usedfor sketching hair were inspired by the graphtal strokes in-troduced by Kowalski et al. [14]. Contrary to our system,these strokes are not based on individual lines, but on polyg-onal primitives.

3 NPR Pipeline

To render and animate a complex face in real-time wehave developed a non-photorealistic rendering pipeline. Itconsists of a preprocessing step that allows the efficientsearch of silhouettes. Here, the possible deformation of themodel for facial animations is taken into consideration. Inthe next step, the computation of silhouettes as well as sur-face and anchor strokes is performed; a hidden line removalalgorithm determines visible parts of the lines, and finallythe produced lines are rendered in an artistic way.

3.1 Preprocessing

During the preprocessing step a data structure is ap-plied that supports the efficient search of silhouettes in ob-ject space and the computation of the added detail strokes.Therefore, information about the topology of the triangularmesh such as adjacent triangles or surface normals needsto be stored. As a result of the object plasticity some re-strictions arise with regard to using algorithms that wouldotherwise allow a more efficient silhouette searching, e.g.the gauss map [2, 7] or the normal-cone hierarchy [22].

Another task is to provide consistent surface normalswhen deforming the model during an animation. Thus,our system computes triangle and vertex normals on-the-fly.The vertex normals are calculated as a sum of all adjacenttriangle normals. We recognized that best results for the sil-houette computation are achieved if the vertex and trianglenormals are not normalized.

The determination of boundary lines is also executedduring the preprocessing step, because these lines are boundto the geometrical topology of the object and so they areview-independent. Only a list of concatenated control

points is stored and rendered during the runtime using theactual coordinates of the mesh vertices.

3.2 Silhouette Computation

As mentioned above, our system uses here the srf-method of Gooch [7]. This procedure creates a piecewiselinear silhouette approximation of a triangulated smoothsurface. The silhouette edges are linearly interpolated be-tween the mesh vertices using the dot product of the vertexnormals and the view vector at the vertices. The algorithmcreates either silhouette rings or partial silhouettes, begin-ning and ending at a boundary edge. Thereby artefacts areavoided, which occur with the computation of silhouettesbased on triangle edges [11, 17].

During the silhouette determination a set of silhouetteedges is produced. The search and the concatenation ofthese silhouette edges is performed under consideration ofthe triangular mesh topology. Thus, long connected par-tial silhouettes and silhouette rings can be found in an effi-cient way. In addition, the connection of silhouette edges ofdifferent objects and/or disconnected triangles is avoided,as it could happen by regarding only the image plane [17].Finally, the control points are thinned out by summarizingthose points whose Euclidean distance fall below a certainthreshold value.

3.3 Hidden Line Removal

For the hidden line removal we use a depth buffer ap-proach as presented in [11]. The depth buffer is sampledalong the extracted lines and then the values are comparedwith those of the extracted lines. As a result, informationabout covered line portions are received. In order to avoidcovering artefacts due to significant quantization errors ofthe depth map near the silhouettes, the 8-neighbourhood ofa pixel is taken into consideration as proposed in [11].

In extension of this approach, we introduce two thresh-old values that indicate the shortest visible and invisiblesegments. If the length of a visible line segment falls be-low the first threshold it is treated as invisible and it is notdrawn. Furthermore, short invisible segments below thesecond threshold are turned visible. As a result artefactsas the appearance of very small lines can be avoided. How-ever, using a high threshold value, unintended covering mayoccur. For example, a row of actual short segments wouldbe summarized and treated as one long covered segment.

Another problem occurs as the result of significant dif-ferences between the approximated silhouette and the orig-inal triangular mesh. As described above, the silhou-ette edges are interpolated within their associated triangles.There are some silhouette edges that lie on triangles facingaway from the viewer. These triangles are causing covering

Page 4: Non-Photorealistic Real-Time Rendering of Characteristic Facesgraphics.uni-konstanz.de/publikationen/Luft2004Non... · for sketching hair were inspired by the graphtal strokes in-troduced

Figure 3. Properly distortion of surface strokes when deforming the underlying 3D model (male B).

artefacts, since their depth values are above those of the ad-jacent front faces. These artefacts are avoided by a sufficientfine triangulation or by a adaptive subdivision in regions ofthe silhouette.

Currently the hidden line removal is the bottle neck ofthe system, since reading back the depth buffer is a limitingfactor for the frame rate. Nevertheless, frame rates above30 fps can be produced on our reference system using aGeforceFX 5800 graphics board and a depth buffer resolu-tion of 512 × 512 pixels (cf. table 1). A software routinefor the rendering of the depth buffer may achieve a betterperformance on computer systems with other graphics hard-ware. This always depends on the topology and complexityof the mesh.

3.4 Line Generator

Finally the visible line sections are rendered by a linegenerator that was particularly designed for creating artisticstrokes. The line path is described by the control pointsof the silhouette edges and approximated using cubic B-Splines. Each line possesses a certain opacity and widththat can be changed continuously or stochastically along thepath. Furthermore, a texture can be applied to emphasizethe appearance of a particular drawing tool. The reproduc-tion of the artistic line style is performed via the combina-tion of different, mathematically described effects. This al-lows a higher degree of freedom and modelling abilitiy thanapproaches on the basis of example strokes given by theuser [6, 9]. Each effect gives specific attributes to changethe line style. For example, the effectfragmentcreates sev-eral scattert duplicates of the line path, so that the sketchyappearance of the silhouette in figure 3 can be achieved. An-other effectinaccuracyused for almost every line style cre-ates stochastic jittering of the line path, opacity, and width.

For all stochastic influences, a Perlin noise function isused [18]. Thus, the conditions for a frame-to-frame coher-

ent representation are achieved and the effects are fully con-trollable. The frame-to-frame coherence plays a substantialrole when viewing animated line drawings. To keep and/orto produce frame-to-frame coherent animations is not trivialespecially for stylized line drawings. In [3, 12] algorithmsare introduced maintaining the temporal and arc-length co-herence of silhouettes. This is especially difficult due totopological changes of the silhouettes when animating themodel or changing the viewpoint. Currently our systemmaintains temporal coherence for silhouettes only by thedeterminism of the used algorithms, while surface and an-chor strokes are typically frame-to-frame coherent due totheir static definition.

The line generator uses OpenGL quad strips for render-ing stylized strokes that are generated along the underlyingpath. The opacity of the lines is achieved using an OpenGLblending function. In order to avoid blending artefacts atstrong curvatures, each line has a constant depth value, anda blending function is used that only blends pixels with dif-ferent depth values. According to the painter’s algorithmthe depth values of each line are increased by a small frac-tion.

4 Surface Strokes

Providing lines on the object surface allows the repre-sentation of various details of the object that are hard andtediuous to achieve by geometric modelling. Our system al-lows the user to directly draw lines on the faces similarly to[13] while preventing distortion artefacts that appear whenusing textures [8] in combination with perspective projec-tion. Furthermore, in our approach the produced lines areresolution independent.

The control points of our lines are described by barycen-tric coordinates within the associated triangles. Only duringthe rendering, the Cartesian coordinates of the points arecomputed. The advantage of this method is that the points

Page 5: Non-Photorealistic Real-Time Rendering of Characteristic Facesgraphics.uni-konstanz.de/publikationen/Luft2004Non... · for sketching hair were inspired by the graphtal strokes in-troduced

(a) generated geometry for occlusion

(b) final image with halo effect

Figure 4. Using procedural geometry for oc-clusion and halo effect of glasses that wereconstructed with anchor strokes.

are properly moved during a deformation of the geometryand thus, the surface strokes are automatically deformed aswell (cf. figure 3).

To compute the image space coordinates of the controlpoints we use the already projected 2D coordinates of themesh vertices. Thereby, the additional perspective projec-tion of all barycentric surface points is avoided. Addition-ally, the actual depth value is determined for the hidden lineremoval, which is performed with the same algorithm that isused for the silhouettes and boundaries. With a small depthoffset, the lines are shifted outward of the surface during thedepth test. Thus, further covering artefacts are decreased.

There are several alternatives for the production of sur-face strokes. In our system an editor is integrated, whichallows interactive drawing with a mouse or a pen onto theobject surface. Another possibility is the extraction of edgesfrom the original textures of the object using filters, e.g.[21]. The mapping of the texture coordinates onto the objectsurface can then be executed in the preprocessing step.

5 Anchor Strokes

The second additional type of strokes that is very impor-tant for our faces are anchor strokes. The underlying draw-ing pathes use only one surface point (the anchor) which isalso described by barycentric coordinates within the associ-

(a) an example torus with fur. (b) worst case: All anchorstrokes in the front are drawnfirst (28.5 fps).

(c) a compromise: Anchorstrokes that have a stochasti-cally distributed arrangement(28.5 fps).

(d) anchor strokes that aresorted by depth (18.5 fps).

Figure 5. Anchor strokes are rendered usinga compromise between sorting effort and vi-sual quality.

ated triangle. Further control points are defined by vectorsrelatively to the corresponding anchor point. This way linescan be described freely in space, but are anchored on thesurface of the object. An advantage of this approach is aproper movement of the anchor strokes and their orienta-tion when the object is being deformed. In our system theyare used for hair, beard, and pendants.

The hidden line removal introduced for silhouettes andboundaries can also be used. However, the hidden line re-moval for anchor strokes is an asynchron one. That meansthat anchor strokes can be occluded by other objects butthey can’t occlude other lines since they can’t be renderedinto the depth buffer. In order to achieve occlusion and linehalos [1] when covering other lines, a procedural geometrycreation along the anchor strokes is integrated into the depthbuffer before the hidden line removal is performed (cf. fig-ure 4). Thus, the generated geometry covers lines that arepositioned behind. The geometry is a simple quad strip par-allel to the projection plane. Again, a small depth offset isused to avoid covering artefacts with the associated anchorline.

In order to achieve a correct blending of the semitrans-parent strokes, it is important to sort the lines by their depthvalues according to the painters algorithm. To increase per-formance triangles with associated anchor points are sum-marized. These triangles are then sorted using an averagedepth value. Due to the similarity and the potentially high

Page 6: Non-Photorealistic Real-Time Rendering of Characteristic Facesgraphics.uni-konstanz.de/publikationen/Luft2004Non... · for sketching hair were inspired by the graphtal strokes in-troduced

(a) details are drawn onto the drawing planes (b) drawing planes are hidden and not rendered into the depth buffer

Figure 6. Using invisible drawing planes to create accessory.

number of lines (in case of hairs) the effort of sorting canbe omitted in many cases without having remarkable visualdisadvantages. Therefore we use a stochastically distributedarrangement of our lines (cf. figure 5).

The creation of anchor strokes can be performed eitherby a generic function that simply creates a stochastic distri-bution of lines with a specific length or by a modelling toolthat provides a function for the creation of these types ofobjects. This is especially necessary for complex line setssuch as hair.

6 Modelling

As described above there are several ways to create sur-face and anchor strokes using interactive techniques or pro-fessional modelling tools. This section describes two tech-niques for the application of detail strokes and the mod-elling of our nonphotorealistic faces.

Comparable to bitmap textures in a photorealistic rep-resentation, ”line textures” for non-photorealistic renderingare provided. These ”textures” consist only of a numberof predefined line paths. During preprocessing these de-scriptions of lines are mapped onto the surface using con-ventional texture coordinates. During rendering our linegenerator produces stylized surface strokes at the basis ofthe projected line paths. These ”line textures” are a suit-able method for representing surfaces with a homogeneousstructure without having to draw each individual line. Thistechnique is applicable to both surface and anchor strokes

and can be easily applied for beard and hair. Additionally,with these textures we could provide a repository of com-plete details such as eyebrows or eyes. Thus, the reusabiltyof non-photorealistic components is given. Similar to pho-torealistic rendering, we are able to implement light andview dependency of these lines to provide special effectsfor the visualization.

Another application of surface and anchor strokes is theuse of so called invisible drawing planes. This techniqueallows us to enhance the original scene by auxiliary objectsthat are carriers of detail strokes. For each carrier object thevisibility and the occultation is adjustable and thus, the in-fluence of these objects on the hidden line removal is fullycontrollable. If an object is visible, the silhouette of thisobject is drawn. If an object is covering, it is rendered intothe depth buffer before performing the hidden line removalalgorithm. Thus there are three meaningful combinations:an object is visible and covers other objects, an object isvisible but does not cover anything or an object is invisi-ble, but covers other objects. For example, this techniqueallows the user to create lines that are positioned freely inspace, but are still anchored on an arbitrary object. This in-visible carrier object is not rendered into the depth buffer,since occlusion of other strokes must be avoided (cf. fig-ure 6). Another example pertaining to accessories is shownin figure 7. Here the carrier objects for the blossoms areinvisible, but still cover other strokes. As a result the semi-transparent blossoms are visualized without color faults thatwould otherwise be caused by the darker strokes of the hair.

Page 7: Non-Photorealistic Real-Time Rendering of Characteristic Facesgraphics.uni-konstanz.de/publikationen/Luft2004Non... · for sketching hair were inspired by the graphtal strokes in-troduced

(a) carrier objects used for the anchor strokes

(b) carrier objects turned invisible, but still covering other strokes, e.g.the hair

Figure 7. Using carrier objects and anchorstrokes to create the blossoms of our femalemodel.

7 Performance

We tested the performance of our system with a set offaces. The scenes were rendered on a Pentium 4 with 3GHzand a GeForceFX5800 graphics controller. In Table 1 thecomputation times of the rendering steps are compared. Weused three different models with up to 35000 triangles (#tri-angles). A depth buffer size of512 × 512 pixels is usedfor the performance test. Data preparing (prepare) includesthe calculation time of surface normals and the perspectiveprojection of mesh vertices.lineCompgives the computa-tion time for silhouettes, surface strokes and anchor strokes.#surfaceand#anchorgives the number of surface and an-chor strokes. The time for rendering and backreading thedepth buffer is shown bydepth. The hidden line removal(hlr) includes the sampling along the calculated lines andthe creation of interrupt information for the line generator.Finally, the visualization of the scene using the line gener-ator is measured (render). The number of OpenGL quadsthat are rendered in a scene is shown by#quads. fpsgives

the overall frames per second for the complete scene.

8 Conclusion and future work

We presented a system for the creation and renderingof characteristic drawings of faces with the appearance ofhand-drawn images. The system allows the real-time ren-dering and animation of face models with moderate com-plexity. In addition to silhouette lines, two specific kinds oflines are used: surface strokes and anchor strokes. These arenecessary for the non-photorealistic rendering of concretedetails such as hair, eyes, and folds of our three-dimensionalface models. Also it is much more complicated to modelthese details using the underlying mesh. Thus characteris-tic and highly detailed line drawings of faces can be pro-vided in real-time. We presented different approaches forthe production of these two types of lines and showed theirapplication.

Future works aim at optimizing the system, especiallywhen rendering anchor strokes. Currently there are stillsome efficiency problems such as with the rendering ofcomplex hair. Another problem is the correct dynamic rep-resentation of hair, which requires a complex physical simu-lation with collision detection, and which is inadequate forour application. A highly simplified approximation usinga sphere, a smaller number of hairs, and an omitting hair-to-hair interaction, can be applied in the field of real-timefacial animation.

The temporal frame-to-frame coherency works well withexception of the occlusion errors and non-deterministicchanges of the silhouette topology mentioned above. Here itis necessary to introduce particular algorithms that achievea temporal frame-to-frame coherence and to avoid the tem-poral occlusion artefacts.

Another issue in future work is the modelling for non-photorealistic rendering, the application of the introducedcarrier objects, and the detail strokes. These techniqueshave a profound influence on the visual appearance and thequality of the results that also include numerous applica-tions besides the rendering of faces. For example, anchorstrokes are used to create the sketched trees as shown infigure 8.

9 Acknowledgements

The female model was provided by Stefan Herz from theFilmakademie Ludwigsburg, the Male B model is courtesyof Marc Alexa (TU Darmstadt, Germany) and WolfgangMueller (PH Ludwigsburg, Germany).

Page 8: Non-Photorealistic Real-Time Rendering of Characteristic Facesgraphics.uni-konstanz.de/publikationen/Luft2004Non... · for sketching hair were inspired by the graphtal strokes in-troduced

Table 1. Computation times for the different steps of the rendering pipeline.

model #triangles #surface #anchor prepare lineComp depth hlr render #quads fps

male A 32085 712 1000 5.6ms 4.0ms 14.6ms 4.9ms 12.3ms 12487 24.2female 34964 874 4032 6.1ms 5.1ms 18.3ms 7.4ms 37.1ms 21981 13.5male B 6818 801 0 1.0ms 0.9ms 13.5ms 1.2ms 11.2ms 6498 36.1

References

[1] A. Appel, F. J. Rohlf, and A. J. Stein. The haloed line effectfor hidden line elimination. InComputer Graphics (Pro-ceedings of SIGGRAPH 79), volume 13, pages 151–157,Aug. 1979.

[2] F. Benichou and G. Elber. Output sensitive extraction ofsilhouettes from polygonal geometry. InPacific Graphics’99, Oct. 1999.

[3] L. Bourdev. Rendering nonphotorealistic strokes with tem-poral and arc-length coherence. Master’s thesis, Brown Uni-versity, 1998.

[4] I. Buck, A. Finkelstein, C. Jacobs, A. Klein, D. H. Salesin,J. Seims, R. Szeliski, and K. Toyama. Performance-drivenhand-drawn animation. InProceedings of the 1st interna-tional symposium on Non-photorealistic animation and ren-dering, pages 101–108. ACM Press, 2000.

[5] D. DeCarlo, A. Finkelstein, S. Rusinkiewicz, and A. San-tella. Suggestive contours for conveying shape.ACM Trans-actions on Graphics, 22(3):848–855, July 2003.

[6] W. T. Freeman, J. B. Tenenbaum, and E. Pasztor. Anexample-based approach to style translation for line draw-ings. Technical Report TR-99-11, MERL - A MitsubishiElectric Research Laboratory, 1999.

[7] B. Gooch, P.-P. J. Sloan, A. Gooch, P. S. Shirley, andR. Riesenfeld. Interactive technical illustration. In1999ACM Symposium on Interactive 3D Graphics, pages 31–38,Apr. 1999.

[8] P. Hanrahan and P. E. Haeberli. Direct wysiwyg painting andtexturing on 3d shapes. InComputer Graphics (Proceedingsof SIGGRAPH 90), volume 24, pages 215–223, Aug. 1990.

[9] A. Hertzmann, N. Oliver, B. Curless, and S. M. Seitz. Curveanalogies. InRendering Techniques 2002: 13th Eurograph-ics Workshop on Rendering, pages 233–246, June 2002.

[10] A. Hertzmann and D. Zorin. Illustrating smooth surfaces. InProceedings of ACM SIGGRAPH 2000, Computer Graph-ics Proceedings, Annual Conference Series, pages 517–526,July 2000.

[11] T. Isenberg, N. Halper, and T. Strothotte. Stylizing Silhou-ettes at Interactive Rates: From Silhouette Edges to Silhou-ette Strokes.Computer Graphics Forum (Proceedings of Eu-rographics), 21(3):249–258, Sept. 2002.

[12] R. D. Kalnins, P. L. Davidson, L. Markosian, and A. Finkel-stein. Coherent stylized silhouettes.ACM Transactions onGraphics, 22(3):856–861, July 2003.

[13] R. D. Kalnins, L. Markosian, B. J. Meier, M. A. Kowal-ski, J. C. Lee, P. L. Davidson, M. Webb, J. F. Hughes, andA. Finkelstein. Wysiwyg npr: drawing strokes directly on3d models. InProceedings of the 29th annual conference on

Computer graphics and interactive techniques, pages 755–762. ACM Press, 2002.

[14] M. A. Kowalski, L. Markosian, J. D. Northrup, L. Bourdev,R. Barzel, L. S. Holden, and J. Hughes. Art-based renderingof fur, grass, and trees. In A. Rockwood, editor,Siggraph1999, Computer Graphics Proceedings, pages 433–438, LosAngeles, 1999. Addison Wesley Longman.

[15] L. Markosian, M. A. Kowalski, S. J. Trychin, L. D. Bour-dev, D. Goldstein, and J. F. Hughes. Real-time nonpho-torealistic rendering. InProceedings of SIGGRAPH 97,Computer Graphics Proceedings, Annual Conference Se-ries, pages 415–420, Aug. 1997.

[16] J. L. Mitchell, C. Brennan, and D. Card. Real-time image-space outlining for non-photorealistic rendering. InPro-ceedings of SIGGRAPH 2002, Sketches and Applications,page 239, 2002.

[17] J. D. Northrup and L. Markosian. Artistic silhouettes: A hy-brid approach. InNPAR 2000 : First International Sympo-sium on Non Photorealistic Animation and Rendering, pages31–38, June 2000.

[18] K. Perlin. An image synthesizer. InComputer Graphics(Proceedings of SIGGRAPH 85), volume 19, pages 287–296, July 1985.

[19] R. Raskar. Hardware support for non-photorealisticrendering. In Proceedings of the ACM SIG-GRAPH/EUROGRAPHICS workshop on Graphicshardware, pages 41–47. ACM Press, 2001.

[20] C. Rossl and L. Kobbelt. Line-art rendering of 3d-models.In 8th Pacific Conference on Computer Graphics and Appli-cations, pages 87–96, Oct. 2000.

[21] M. A. Ruzon and C. Tomasi. Color edge detection with thecompass operator. InProceedings of the IEEE Conferenceon Computer Vision and Pattern Recognition, pages 160–166, June 1999.

[22] P. V. Sander, X. Gu, S. J. Gortler, H. Hoppe, and J. Snyder.Silhouette clipping. InProceedings of ACM SIGGRAPH2000, Computer Graphics Proceedings, Annual ConferenceSeries, pages 327–334, July 2000.

[23] M. Sousa and P. Prusinkiewicz. A few good lines: Sug-gestive drawing of 3d models.Computer Graphics Forum(Proc. of EuroGraphics ’03), 22(3):xx–xx, 2003.

[24] G. Winkenbach and D. H. Salesin. Rendering parametricsurfaces in pen and ink. InProceedings of SIGGRAPH 96,Computer Graphics Proceedings, Annual Conference Se-ries, pages 469–476, Aug. 1996.

Page 9: Non-Photorealistic Real-Time Rendering of Characteristic Facesgraphics.uni-konstanz.de/publikationen/Luft2004Non... · for sketching hair were inspired by the graphtal strokes in-troduced

Figure 8. Different views of the male and female head and another application of our anchor strokes.