16Normal-mapped Nailboards Precompute extended billboard texturesSeveral puff orientations for varietyEach particle is assigned one variationNormal Depth Color Opacity
17Preprocessing 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.
18Outlines Edges of puff are deep and black Black Nailboard Depth Shaded ColorViewerActual BillboardDepth
19Depth and Outline PassAdd d from the texture to the depth at the pixel and the depth buffer test automatically produces correct intersections.
20OutlinesEdges of puff are deep and blackViewer1 NailboardImage
21Outlines Edges of puff are deep and black Depth test suppresses excessive internal contoursNo internal contourViewer2 NailboardsImage
22Outlines Edges of puff are deep and black Depth test suppresses excessive internal contoursLarge depth discrepancy restores external contoursExternal contour distinguishing cloudsViewer3 NailboardsImage
23OutlinesUse 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.
24Cel Shading Ambient: Gradient as function of y Diffuse:Arbitrary function, q(N · L)Pack both into a 2D texture, like X-ToonyN · LLambertian Selle Two-Tone Three-Toneq =Example
27Cel-Shading PassGet N, C and alpha from the textures.
28Cel-Shading PassWith 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:yN · L
29Shadow Volumes Compute the silhouette of the caster Extrude this to form a polyhedron bounding the volume of shadowed spaceShadows are intersection between the volume and the scene
30Billboard Shadows Caster is perpendicular to viewer and light Volume is a rectangular prismFour sides are parallel to the view vectorOnly 3 polygons to be rendered: one billboard and two shadow faces
31Nailboard ShadowsApply the depth displacement to the shadow volume as well as the billboardShadow volume visualization
50Depth Differences Image space outlining method [Saito and Takahasi] Benefits:Rendering time independent of the sceneHandles intersecting surfacesDrawbacks:Can stall graphics pipelineAssumes one style for the entire scene