500 likes | 529 Views
Real-Time Rendering of Cartoon Smoke and Clouds. Morgan McGuire Andi Fein Paulo Ferreira. Gundam. Motivation. Real-time cartoon rendering for: NPR Video Games Production Animation Preview Visualization Simulation and Training
E N D
Real-Time Rendering of Cartoon Smoke and Clouds Morgan McGuireAndi Fein Paulo Ferreira
Motivation Real-time cartoon rendering for: • NPR Video Games • Production Animation Preview • Visualization • Simulation and Training These often contain smoke, fluids, and other amorphous shapes…
Outlines Cel Shading Self-Shadowing Captain Marvel, June 1947 Marvel Comics 1947
Heart of Empire Published by Dark Horse Comics 1999
Simulation • Particle system • Forces: — Buoyancy — Wind — Drag — Gravity — Vortices — Turbulence • Size = smoke density • ODE physics engine at 30 Hz — Compressible: 100,000 particles — Incompressible: 1,000 particles
Simulation • Use Particles from the game “Avalanche”
Simulation • Instead of smoke and clouds, cartoon effect applied on the avalanche of the game
Rendering steps • Precomputed Nailboards • Outlines • Cel Shading • Shadows
Elements of Style Steps Outlines Shading Self-Shadowing
Normal-mapped Nailboards • Precompute extended billboard textures • Several puff orientations for variety • Each particle is assigned one variation Normal Depth Color Opacity
Preprocessing step: Nailboard • Create two textures to store data such as: unit camera-space surface normal N, signed camera space depth d, diffuse color C, and coverage mask alpha.
Black Shaded Nailboard Depth Outlines • Edges of puff are deep and black Color Viewer Actual Billboard Depth
Depth and Outline Pass • Add d from the texture to the depth at the pixel and the depth buffer test automatically produces correct intersections.
Outlines • Edges of puff are deep and black Viewer 1 Nailboard Image
No internal contour Outlines • Edges of puff are deep and black • Depth test suppresses excessive internal contours Viewer 2 Nailboards Image
External contour distinguishing clouds Outlines • Edges of puff are deep and black • Depth test suppresses excessive internal contours • Large depth discrepancy restores external contours Viewer 3 Nailboards Image
Outlines • Use the alpha-shapes, which are slightly larger than the normal shapes, to create the outline, a flange of dark pixels slightly behind the billboard. • The outline of these flange pixels is opaque because alpha is one, colored black because the C is black, and farther from the camera than the particle itself because d is zero.
Cel Shading • Ambient: Gradient as function of y • Diffuse:Arbitrary function, q(N·L) • Pack both into a 2D texture, like X-Toon y N·L Lambertian Selle04 Two-Tone Three-Tone q = Example
Explosion B & W Ambient q =
Explosion Color Ambient q =
Cel-Shading Pass • Get N, C and alpha from the textures.
Cel-Shading Pass • With ambient light color Ka, light color Kl, camera-space direction L to the light source, and diffuse color C from the texture map, the pixel at (x, y) is colored by a pixel shader using the following equation: y N·L
Shadow Volumes • Compute the silhouette of the caster • Extrude this to form a polyhedron bounding the volume of shadowed space • Shadows are intersection between the volume and the scene
Volume is a rectangular prism • Four sides are parallel to the view vector • Only 3 polygons to be rendered: one billboard and two shadow faces Billboard Shadows • Caster is perpendicular to viewer and light
Nailboard Shadows • Apply the depth displacement to the shadow volume as well as the billboard Shadow volume visualization
Lichtenstein Estate of Roy Lichtenstein 1963 Estate of Roy Lichtenstein 1963 Algorithm Artist
Comparison Published by Dark Horse Comics 1999 Algorithm Artist
50,000 particles 50,000 Particles on GeForce6800
Depth Differences • Image space outlining method [Saito and Takahasi] • Benefits: • Rendering time independent of the scene • Handles intersecting surfaces • Drawbacks: • Can stall graphics pipeline • Assumes one style for the entire scene