1 / 104

Shadow Silhouette Maps

Shadow Silhouette Maps. Eric Chan Massachusetts Institute of Technology. Game Plan. Motivation Algorithm Implementation Examples Comparison. Motivation. Why another shadow algorithm? Why not use perspective shadow maps?. Stamminger and Drettakis, SIGGRAPH 2002. Perspective Shadow Maps.

bkatherine
Télécharger la présentation

Shadow Silhouette Maps

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Shadow Silhouette Maps Eric Chan Massachusetts Institute of Technology

  2. Game Plan Motivation Algorithm Implementation Examples Comparison

  3. Motivation Why another shadow algorithm? Why not use perspective shadow maps? Stamminger and Drettakis, SIGGRAPH 2002

  4. Perspective Shadow Maps Addresses perspective aliasing Optimizes distribution of depth samples Difficulties: • Does not handle projection aliasing • Dueling frusta problem

  5. Dueling Frusta Problem

  6. Shadow Silhouette Maps • Research at Stanford University • P. Sen, M. Cammarano, and P. Hanrahan • Proceedings of SIGGRAPH 2003 • See course notes • Also available online

  7. Observation Shadow maps • undersampling can occur anywhere • artifacts visible only at shadow edges

  8. silhouette map depth map How To Fix Silhouettes? One solution: • use a better silhouette approximation

  9. Shadow Map (Review) light source blocker receiver

  10. Shadow Map (Review) depth map

  11. Shadow Map (Review) depth map

  12. Shadow Map (Review) depth map

  13. Depth Mesh depth mesh (sampling grid)

  14. Depth Mesh original grid (blue) dual grid (red) depth mesh + dual mesh

  15. Depth Mesh original grid (blue) dual grid (red) discrete silhouette boundary depth mesh + dual mesh

  16. Depth Mesh original grid (blue) dual grid (red) discrete silhouette boundary continuous silhouette boundary (green) depth mesh + dual mesh

  17. Depth Mesh original grid (blue) dual grid (red) discrete silhouette boundary continuous silhouette boundary (green) silhouette map pixels depth mesh + dual mesh

  18. Depth Mesh Deformation Move depth samples to lie on silhouette curve deformed depth mesh

  19. Depth Mesh Deformation adjusted depth samples deformed depth mesh

  20. Depth Mesh Deformation adjusted depth samples deformed depth mesh

  21. Better Approximation piecewise-linear approximation

  22. silhouette map Silhouette Map deformed depth map Decomposition of deformed depth map depth map

  23. What is a Silhouette Map? Many ways to think about it: • Edge representation • 2D image, same resolution as depth map • Offset from depth map by ½ pixel in x, y • Stores xy-coordinates of silhouette points • Stores only one silhouette point per texel • Piecewise-linear approximation

  24. Algorithm

  25. Algorithm Properties • Scalable • Treats perspective and projection aliasing • Supports dynamic scenes • Maps to graphics hardware

  26. Algorithm Overview Image-space algorithm

  27. Algorithm Overview Step 1 Create depth map

  28. Algorithm Overview Step 2 Create silhouette map

  29. Algorithm Overview Step 3 Render scene and shadows

  30. Algorithm Details • Focus now on concepts • Worry later about implementation ?

  31. Create Depth Map Same as in regular shadow maps

  32. Identify Silhouette Edges Find object-space silhouettes (light’s view)

  33. Create Silhouette Map • Rasterize silhouette edges (light’s view) • Find points that lie on silhouette edges • Store one such point per texel silhouette edges silhouette points

  34. Compute Silhouette Points Example: point of view of light silhouette edges

  35. Compute Silhouette Points silhouette map (dual grid)

  36. Compute Silhouette Points rasterization of silhouettes

  37. Compute Silhouette Points rasterization of silhouettes pick an edge

  38. Compute Silhouette Points rasterization of silhouettes rasterize edge conservatively: be sure to generate fragments for silhouette pixels

  39. Compute Silhouette Points rasterization of silhouettes for each fragment: pick a point on the edge

  40. Compute Silhouette Points rasterization of silhouettes silhouette points

  41. Compute Silhouette Points rasterization of silhouettes do the same for other edges

  42. Compute Silhouette Points rasterization of silhouettes completed silhouette map • subtle issues: • only one point per texel • new values overwrite old ones how to pick silhouette points?

  43. Picking Silhouette Points Pick a point on the line that lies inside the texel ?

  44. Silhouette Point Algorithm Case 1: vertex inside

  45. Silhouette Point Algorithm Case 1: vertex inside pick the vertex itself

  46. Silhouette Point Algorithm Case 1: Case 2: one intersection vertex inside test for intersection against two diagonals

  47. Silhouette Point Algorithm Case 1: Case 2: one intersection vertex inside pick the intersection point itself

  48. Silhouette Point Algorithm Case 1: Case 2: one intersection vertex inside Case 3: two intersections

  49. Silhouette Point Algorithm Case 1: Case 2: one intersection vertex inside Case 3: use midpoint two intersections

  50. Silhouette Point Algorithm Case 1: Case 2: one intersection vertex inside Case 3: Case 4: two intersections no intersections

More Related