1 / 54

Fast Non-Linear Projections using Graphics Hardware

Fast Non-Linear Projections using Graphics Hardware. Jean-Dominique Gascuel, Nicolas Holzschuch, Gabriel Fournier, Bernard Péroche I3D 2008. Non-linear projections: What & Why ?. [wiki.panotools.org, Ben Kreunen]. [lensmateonline.com]. [Kautz et al., 2004] Cosine sphere for local shadows.

beth
Download Presentation

Fast Non-Linear Projections using Graphics Hardware

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. Fast Non-Linear Projections using Graphics Hardware Jean-Dominique Gascuel, Nicolas Holzschuch, Gabriel Fournier, Bernard Péroche I3D 2008

  2. Non-linear projections: What & Why ? [wiki.panotools.org, Ben Kreunen] [lensmateonline.com]

  3. [Kautz et al., 2004] Cosine sphere for local shadows [Osman et al., 2006] Dual parabola shadowmaps Motivations [Heidrich & Seidel,1998]Introduced Parabola envmaps

  4. Previous work [Kautz 2004] CPU rasterization Close papers: [Fournier 2005] Indirect illumination [Loyd 2006] Logarithmic shadow maps [Hou 2006] Multi perspective reflections [Liu 2007] Non linear beam tracing GPU based, same rendering pipeline & FS

  5. Our contributions Targeted to a specific class of non-linear projections • Single center of projection • Convex, C1, and invertible • Each triangle maps to one simple shape. • Simple equations for projected edges. • Fast  ~x2 to x4 times faster than cubemaps or hemicubes. • Everything is done on the GPU

  6. Plan • Introduction • Case studies • Sphere projection • Parabola projection • Other projections • Rendering Pipeline • Triangle Based Bounding • Quad Based Bounding • Demo & Results • Conclusion

  7. Sphere projection 1/5

  8. Sphere projection 2/5

  9. Sphere projection 3/5

  10. Sphere projection 4/5

  11. Sphere projection 5/5

  12. Triangles made of known ellipses Looking at the2D screen:

  13. Plan • Introduction • Case studies • Sphere projection • Parabola projection • Other projections • Rendering Pipeline • Triangle Based Bounding • Quad Based Bounding • Demo & Results • Conclusion

  14. Parabola projection 1/3

  15. Parabola projection 2/3

  16. Parabola projection 3/3

  17. Parabola: 3D line  2D circle 1/2

  18. Triangles made of arcs2/2

  19. Plan • Introduction • Case studies • Sphere projection • Parabola projection • Other projections • Rendering Pipeline • Triangle Based Bounding • Quad Based Bounding • Demo & Results • Conclusion

  20. Other projections… Fisheyes arcs with: • single minimum in normal direction, • possible maximumat extremities.

  21. Application-driven choice • Sphere lighting solid angle x cos • Parabola envmaps less distortions • Lambert ambient occlusion  equal area • Fish eye 2 Ideal photographic fish-eye

  22. Plan • Introduction • Case studies • Rendering Pipeline • Triangle Based Bounding • Quad Based Bounding • Demo & Results • Conclusion

  23. Rendering strategy

  24. FS: Ray-casting FS discards pixels outside original 3D triangle • unproject: 2D fragment coordinates  3D ray direction • ray/triangle intersection

  25. FS: Interpolations Mimic linear interpolation inside the 3D triangle  Non-linear interpolation in 2D screen For all vertex varying attributes: normals, colors, texture coordinates, etc. Ray-intersect gives barycentric coordinates α, β  dot product: (1, α, β) . (C0, C1-C0, C2-C0)

  26. Plan • Introduction • Case studies • Rendering Pipeline • Triangle Based Bounding • Basic Triangle • Near plane Clipping • Concave Covering Triangle • Quad Based Bounding • Demo & Results • Conclusion

  27. Bounding triangle 1/2

  28. Bounding Triangle 2/2

  29. Triangle Covering

  30. Plan • Introduction • Case studies • Rendering Pipeline • Triangle Based Bounding • Basic Triangle • Near plane Clipping • Concave Covering Triangle • Quad Based Bounding • Demo & Results • Conclusion

  31. Camera Plane Clipping 1/3

  32. Camera Plane Clipping 2/3

  33. Camera Plane Clipping 3/3

  34. Plan • Introduction • Case studies • Rendering Pipeline • Triangle Based Bounding • Basic Triangle • Near plane Clipping • Concave Covering Triangle • Quad Based Bounding • Demo & Results • Conclusion

  35. Concave Covering Triangle 1/2

  36. Concave Covering Triangle 2/2 1 input triangle  1 to 4 bounding triangles

  37. Plan • Introduction • Case studies • Rendering Pipeline • Triangle Based Bounding • Quad Based Bounding • Demo & Results • Conclusion

  38. Needed because • We don’t have easy tangents for Fisheyes projections • G80 geometry shader take worst case timing:4 output triangles in some rare case  x4 slowdown everywhere in GS…

  39. Oriented Bounding Box “Easy” for a single ellipse.

  40. Quad coverage scheme Merge extremal points into a single aaBB

  41. Parabola projection …Bent triangles are made of circles… • Any axis will work.  optimal axis aligned bounding box

  42. Plan • Introduction • Case studies • Rendering Pipeline • Triangle Based Bounding • Quad Based Bounding • Demo & Results • Conclusion

  43. Example scenes Lemmings

  44. Triangles 37% overdraw

  45. Aligned bbox 107% overdraw But FASTER on G80

  46. Test scene 2/4 Cubemaps/hemicube

  47. Test scene 3/4 Columns = Thin triangles, With large deformations

  48. Test scenes 4/4 Sphere – 560K triangles « Real life »

  49. Facades Inside the OpenGL pipeline

  50. Better quality than cubemaps Heidrich, Laine, Osman Lower memory footprint Low triangle scenes:~ x2 to x4 speedups (better on hi res) Cubemap vs. Parabola-map

More Related