haihongyuan.com
海量文库 文档专家
全站搜索:
您现在的位置:首页 > 幼儿教育 > 幼儿读物幼儿读物

喜羊羊

发布时间:2013-11-30 16:02:22  

NPR Today

?“Stylized Rendering Techniques for Scalable Real-Time 3D Animation”, Adam Lake, Carl Marshall, Mark Harris and Marc Blackstein, NPAR 2001

?"Computer-Generated Pen-and-Ink Illustration of Trees", Oliver Deussen and Thomas Strothotte, SIGGRAPH 2000?"Sketchy Drawings", Marc Nienhaus and Jurgen Dollner, AfriGraph 2004

03/30/05? 2005 University of Wisconsin

Stylized Rendering

Techniques for Scalable Real-Time 3D Animation

Paper Overview

Leo Chao

03/30/03? 2005 University of Wisconsin

Paper Information

?Published

–NPAR 2001

?(Non-Photorealistic Animation and Rendering)

–Authors

?

?

?

?Adam LakeCarl MarshallMark HarrisMarc Blackstein

?Graphics Algorithms and 3D Technologies Group

–Intel Architecture Labs

?UNC –Chapel Hill

03/30/03? 2005 University of Wisconsin

Paper Information

?Prior Work

–No novel techniques, adapts from prior works to hardware

?Motion Lines

–Maic Masuch. “Speedlines: Depicting Motion in Motionless Pictures.”ACM SIGGRAPH 99 Technical sketch.

–Siu Chi Hsu and Irene H. H. Lee. "Drawing and Animation using Skeletal Strokes". In Proceedings of ACM SIGGRAPH 94, pages 109-118. 1994.?Silhouette Edges

–Lee Markosian, Michael Kowalski, Samuel Trychi, Lubomir Bourdev, Daniel Goldstein, and John Hughes. Real-Time Nonphotorealistic Rendering. In Proceedings of ACM SIGGRAPH 97, pages 113-122. 1997.

?Cartoon Shading

–Philippe Decaudin. Rendu de scenes 3D imitant le style dessin anime. Rapport 03/30/03? 2005 University of Wisconsinde Recherche 2919, Institut National de Recherche en Informatique et en

Contributions

?Hardware Implementation of NPR Techniques

–Stylistic Shading

?Cartoon Shading

?Pencil Sketch Shading

–Stylistic Inking

?Silhouette Edge Detection

?Stylized Silhouette Rendering

–Motion Lines

03/30/03? 2005 University of Wisconsin

Stylistic Shading

?Fundamentals

–Preprocess colour textures

–Render as normal

–Except:

?Modify lighting/shading calculations

?May require texture coordinate processing?“Painter”–Modified Shading Step–Cartoon Shading

–Pencil Sketch Shading

03/30/03? 2005 University of Wisconsin

Stylistic Shading

?Cartoon Shading

–Reducing detail aids comprehension–No Smooth Shading

?Color Reduction

?Hard Transitions

?Variants Simple

03/30/03? 2005 University of Wisconsin

Stylistic Shading

03/30/03? 2005 University of Wisconsin

Stylistic Shading

ALGORITHM Cartoon Shade

Preprocess:

1.Calculate the illuminated diffuse color for each material:

Ci?ag?am?al?am?dl?dm

2. Calculate the shadowed diffuse color:

Cs?ag?am?al?am

3. For each material, create a texture with two colors-u=1 is coloured Ci-u=0 is coloured CsCi Vertex Color

al Light Ambient

am Material Ambient

03/30/03? 2005 University of WisconsinCs Shadow Diffuse Colordl Light Diffusedm Material Diffuse

ag Coefficient of Global Ambient Lighting

Stylistic Shading

ALGORITHM Cartoon Shade

Runtime:

1.Calculate the one-dimensional texture coordinate at each vertexMax{L?n,0}

2. Render the model using a standard graphics API -Lighting disabled

-Enable texture mappingL normalized light vector

03/30/03? 2005 University of Wisconsinn unit surface normal

Stylistic Shading?Pencil Sketch Shading

–Extends cartoon shading to 2D textures

–Extends cartoon shading to multiple textures–Multiple textures to represent light density–Associate texture coordinates

?Project texture from the viewport onto the model03/30/03? 2005 University of Wisconsin

Stylistic Shading

03/30/03? 2005 University of Wisconsin

Stylistic Inking

?Fundamentals

–Identify “important”edges?Silhouette

?Border

?Crease

–Modify drawing of these edges?“Inker”–Modified Line Drawing–Visually important edge detection–Stylized edge drawing

03/30/03? 2005 University of Wisconsin

Stylized Inking

?Visually important edge detection–Silhouettes

?Front-Face and Back-Face share an edge–Borders

?Edge shared by two materials

?Unshared polygon edge

–Creases

?Large dihedral angle between polygons03/30/03? 2005 University of Wisconsin

Stylized Inking

03/30/03? 2005 University of Wisconsin

Stylized Inking

ALGORITHM SED

Preprocess:

1.Create edge-list structure with Edge Type flags

a.Create a unique edge list using a hash table. b.Edge Hash Function: sum the two vertex indices

c.Border Flag

-Edges with only one neighboring face-Two neighboring faces with different materials

d.Set crease flags

-Non-deformable geometry

-Dihedral angle of two faces > threshold03/30/03? 2005 University of Wisconsin

Stylized InkingALGORITHM SEDRuntime:

1.For deformable meshes:

a.Calculate face normals

b.Detect crease edges from face normalsc.Set Crease Edge flags

2. Detect silhouette edges

a.

03/30/03? 2005 University of Wisconsin

Stylized Inking

?Stylized “Important”Lines–Emphasis on these lines–Option 1: Straight Line?Fast/Easy

–Option 2: Texture Maps?“Artistic”Style

?Curvature driven “strokes”?Involves a graph driven search?This is a HACK

03/30/03? 2005 University of Wisconsin

Stylized Inking

03/30/03? 2005 University of Wisconsin

Motion Lines?Gives the appearance of motion?For fast moving objects

?Simple algorithm

?Not much overhead

–One circular buffer to maintain position data03/30/03? 2005 University of Wisconsin

Performance

?Claim: Maintain Real-Time Speeds–30 fps, in 2001

?Tests:

–Integrated with a level of detail scheme–Altered model complexity to maintain FPS03/30/03? 2005 University of Wisconsin

Performance

03/30/03? 2005 University of Wisconsin

Future Work

?Inker

–Better “artistic”lines

?Painter

–Pencil sketch “doesn’t look right”–Follow surface gradient perhaps?Incorporate other NPR techniques–Those used by artists

–Doesn’t say which would amenable03/30/03? 2005 University of Wisconsin

Questions?

?ques·tion

n.(kw s ch n)

–An expression of inquiry that invites or calls for a reply.

?heck·le (h k l)

tr.v.

–To try to embarrass and annoy (someone

speaking or performing in public) by questions, gibes, or objections

03/30/03? 2005 University of Wisconsin

03/30/05? 2005 University of Wisconsin

03/30/03“Computer-Generated Pen-and-Ink Illustration of Trees”(SIGGRAPH 2000)Oliver DeussenThomas Strothotte? 2005 University of Wisconsin

Motivation

?The paper presents a method for creating pen-and-ink-like illustrations from detailed geometric models.

?Motivated by the need for illustrative representations of plant life in architectural and landscape renderings.

?

We want to be able to produce images similar to this:

03/30/03? 2005 University of Wisconsin

Related Work

?“Cartoon Tree” –Alvay Ray Smith

–Use small disks to represent bunches of leaves?Reeves and Blau

–Use structured particle system to represent realistic trees.?Kowalski et al.

–Two step process

1.Render shaded primitives that approximate foliage

2.Overlay graftals on rendered image using Salisbury’s line drawing method

03/30/03? 2005 University of Wisconsin

Related Work Examples

?Smith’s “cartoon tree”:?

Reeves “particle forest”:?

Kowalski’s Graftal Trees:

03/30/03? 2005 University of Wisconsin

Traditional Illustration of Trees

?

?The Skeleton is drawn up to the second level of branching.Foliage is broken up into three parts:

1.The directly lit canopy –represented by outlines and scarce inner

detail

2.The half shadow –greater detail provides an overall darker grey

level

3.The shaded area –achieved by thicker lines or drawing leaves in

black

Artists will general use a combination of these to draw the leaves. Rarely do they use all three.

03/30/03? 2005 University of Wisconsin?

Drawing the Skeleton

?The tree skeleton is represented by generalized

cylinders.

?Analytical Silhouette Algorithms

–Markosian et al.

–Rakar and Cohen

–Depth Differences

?The skeleton is shaded with crosshatch marks. Marks could be placed using the algorithm outlined by Salisbury et al. –The authors actually use a variant of Floyd-Steinberg diffusion that places strokes when the accumulated grey value is above a threshold.

03/30/03? 2005 University of Wisconsin

Drawing the Foliage

?The xfrog modeling system can generate models with 200,000 leaves on a tree. We want to pair this down to 10,000 or so.

?Leaves are represented abstractly by particles: a location and an orientation vector.

?The goal is to illustrate groups of with a set of strokes.

?Idea: Render particles as primitives and use depth buffer information to determine which leaves are spatially close and outline them.03/30/03? 2005 University of Wisconsin

Depth Differences

?Initially, each particle is rendered with a view-facing primitive, such as a disk.

?Basic Algorithm:

–For each pixel compute the maximum positive difference between it and its neighbors

?If the distance is above the given threshold, mark as an edge.

03/30/03? 2005 University of Wisconsin

Depth Differences Continued…

?The threshold and primitive size can be varied to achieve different effects:

Primitive size: 0.15

Threshold: 1000Primitive size: 0.70Threshold: 2000

?The threshold can be varied using

other buffers, achieving greater detail

in areas that results in a shadowing

effect:

03/30/03? 2005 University of Wisconsin

Abstract Drawing Primitives

?More realistic leaves can be achieved by using the particles’ orientation vectors to interpolate between a set of polygons that

represent leaves from different views

03/30/03? 2005 University of Wisconsin

Level-of-Abstraction

?Two Approaches

1.Convert raw z-buffer values from non-linear, projected values to linear values

using formula below and vary threshold according to depth:

d: depth value between 0 and 1

d0: minimal depth value (e.g. 0)

d1: maximal depth value (e.g. 65535)

z0: depth value of near clipping plane

z1: depth value of far clipping plane

2.Take advantage of the non-linearity to automatically generate more abstract representations.

–Geometry farther away will be

pushed into fewer values in the z-

buffer.

A tree in the background will

represented by fewer strokes than

the same tree in the foreground.

? 2005 University of Wisconsin–03/30/03

Level of Abstraction Continued…

?The level-of-abstraction can be furthered by scaling the primitives so that the amount of screen space they occupy is independent of their depth.

r: scaling factor

d: desired screen space

s: actual screen space

No Scaling

03/30/03Scaled? 2005 University of Wisconsin

Software Implementation

1.Calculate depth differences and mark pixels above threshold.

?In the interactive mode this bitmap is directly used and blended with other geometry.

2.Generate shadows in software. Large number of isolated surfaces precludes hardware implementation.

3.Vectorize bitmap using least squares fitting or primitive identification method.

?Draw lines using spline interpolation

?Apply line styles

03/30/03? 2005 University of Wisconsin

Results

03/30/03? 2005 University of Wisconsin

Future Work

?Apply cross-hatch shading to the leaves

?Create a continuous level-of-detail algorithm that stays performance while getting rid of artifacts that come with discrete representations.?Apply new styles and color for cartoons.

?Questions?

03/30/03? 2005 University of Wisconsin

03/30/05? 2005 University of Wisconsin

Sketchy Drawings

Marc Niehaus Jürgen D?llnerUniversity of PotsdamUniversity of Potsdam03/30/05

? 2005 University of Wisconsin

Sketchy Drawings

?Sketchiness shows unfinished state

?

Useful for architectural and product design03/30/05? 2005 University of Wisconsin

Previous Work

?

?

?

?G-Buffers (Saito & Takahashi 1990)Edge enhancement (Nienhaus and D?llner 2003)Loose and Sketchyfilter (Curtis 1998)Artistic Strokes (Northrup & Markosian 2000)03/30/05? 2005 University of Wisconsin

Algorithm Overview?Obtain edge and shading data

?Perturb this data to get sketchy look

?Problem: It needs to be done in real time03/30/05? 2005 University of Wisconsin

G-Buffers

?

?

?

?

?

Need to access in real timeDepth/Color/Alpha/Stencil Buffer on graphics cardTextures Current hardware allows multiple texturesManipulate with fragment and pixel shaders03/30/05? 2005 University of Wisconsin

Edge Map

?Need to find edges for most NPR algorithms

?Store three types of edges

–Silhouette

–Crease

–Border

?See Edge Enhancement (Nienhaus & D?llner 2003)for more details

03/30/05? 2005 University of Wisconsin

Shade Map

?Render unlit 3D geometry to capture flat colors

?

Store results in screen aligned texture instead of color buffer03/30/05? 2005 University of Wisconsin

Adding Uncertainty

?

?

?

?

?Apply uncertainty function to edge and shade mapsStore function in texture Use Perlin function to get frame to frame consistencyMultiply uncertainty values with 2x2 matrix Use different matrix for edge and shade maps to get a more sketchy feel

03/30/05? 2005 University of Wisconsin

End Result

?Use shaders to combine results into texture?

Render texture on screen-aligned quad 03/30/05? 2005 University of Wisconsin

Style Variations?Render edges multiple times

?

Roughen edge and surface colors

03/30/05? 2005 University of Wisconsin

Issues

?Depth Information?Shower-Door Effect

03/30/05? 2005 University of Wisconsin

Updating Depth Info

?Depth info is lost when rendering 3D geometry to 2D textures?Solution: Render geometry into a depth map

?Render perturbed depth sprite

–use shaders to update depth buffer

?Need to account for both edge and shade map

–take min value and use this for depth

03/30/05? 2005 University of Wisconsin

Shower-Door Effect

?

?

?

?

?When model moves, edges tend to swim around Need to account for geometrical dataAlso want to keep uncertainty past geometry edgesSolution: Render geometry info into another G-BufferUse geometry as a parameter to the noise function03/30/05? 2005 University of Wisconsin

Process Summary

03/30/05? 2005 University of Wisconsin

上一篇:《识字7》PPT课件_
下一篇:葫芦娃
网站首页网站地图 站长统计
All rights reserved Powered by 海文库
copyright ©right 2010-2011。
文档资料库内容来自网络,如有侵犯请联系客服。zhit326@126.com