Download presentation
Presentation is loading. Please wait.
Published byAshley Wade Modified over 9 years ago
1
I3D 20081 Fast Non-Linear Projections using Graphics Hardware Jean-Dominique Gascuel, Nicolas Holzschuch, Gabriel Fournier, Bernard Péroche I3D 2008
2
2 Non-linear projections: What & Why ? [lensmateonline.com] [wiki.panotools.org, Ben Kreunen]
3
I3D 20083 Motivations [Kautz et al., 2004] Cosine sphere for local shadows [Heidrich & Seidel,1998] Introduced Parabola envmaps [Osman et al., 2006] Dual parabola shadowmaps
4
I3D 20084 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
I3D 20085 Our contributions Targeted to a specific class of non-linear projections –Single center of projection –Convex, C 1, 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
I3D 20086 Plan Introduction Case studies –Sphere projection –Parabola projection –Other projections Rendering Pipeline Triangle Based Bounding Quad Based Bounding Demo & Results Conclusion
7
I3D 20087 Sphere projection 1/5
8
I3D 20088 Sphere projection 2/5
9
I3D 20089 Sphere projection 3/5
10
I3D 200810 Sphere projection 4/5
11
I3D 200811 Sphere projection 5/5
12
I3D 200812 Triangles made of known ellipses Looking at the 2D screen:
13
I3D 200813 Plan Introduction Case studies –Sphere projection –Parabola projection –Other projections Rendering Pipeline Triangle Based Bounding Quad Based Bounding Demo & Results Conclusion
14
I3D 200814 Parabola projection 1/3
15
I3D 200815 Parabola projection 2/3
16
I3D 200816 Parabola projection 3/3
17
I3D 200817 Parabola: 3D line 2D circle 1/2
18
I3D 200818 Triangles made of arcs 2/2
19
I3D 200819 Plan Introduction Case studies –Sphere projection –Parabola projection –Other projections Rendering Pipeline Triangle Based Bounding Quad Based Bounding Demo & Results Conclusion
20
I3D 200820 Other projections… Fisheyes arcs with: single minimum in normal direction, possible maximum at extremities.
21
I3D 200821 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
I3D 200822 Plan Introduction Case studies Rendering Pipeline Triangle Based Bounding Quad Based Bounding Demo & Results Conclusion
23
I3D 200823 Rendering strategy
24
I3D 200824 FS: Ray-casting FS discards pixels outside original 3D triangle unproject: 2D fragment coordinates 3D ray direction ray/triangle intersection
25
I3D 200825 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, α, β). (C 0, C 1 -C 0, C 2 -C 0 )
26
I3D 200826 Plan Introduction Case studies Rendering Pipeline Triangle Based Bounding –Basic Triangle –Near plane Clipping –Concave Covering Triangle Quad Based Bounding Demo & Results Conclusion
27
I3D 200827 Bounding triangle 1/2
28
I3D 200828 Bounding Triangle 2/2
29
I3D 200829 Triangle Covering
30
I3D 200830 Plan Introduction Case studies Rendering Pipeline Triangle Based Bounding –Basic Triangle –Near plane Clipping –Concave Covering Triangle Quad Based Bounding Demo & Results Conclusion
31
I3D 200831 Bellow horizon
32
I3D 200832 Camera Plane Clipping 1/3
33
I3D 200833 Camera Plane Clipping 2/3
34
I3D 200834 Camera Plane Clipping 3/3
35
I3D 200835 Plan Introduction Case studies Rendering Pipeline Triangle Based Bounding –Basic Triangle –Near plane Clipping –Concave Covering Triangle Quad Based Bounding Demo & Results Conclusion
36
I3D 200836 Concave Covering Triangle 1/2
37
I3D 200837 Concave Covering Triangle 2/2 1 input triangle 1 to 4 bounding triangles
38
I3D 200838 Plan Introduction Case studies Rendering Pipeline Triangle Based Bounding Quad Based Bounding Demo & Results Conclusion
39
I3D 200839 Needed because 1.We don’t have easy tangents for Fisheyes projections 2.G80 geometry shader take worst case timing: 4 output triangles in some rare case x4 slowdown everywhere in GS…
40
I3D 200840 Oriented Bounding Box “Easy” for a single ellipse.
41
I3D 200841 Quad coverage scheme Merge extremal points into a single aaBB
42
I3D 200842 Parabola projection …Bent triangles are made of circles… Any axis will work. optimal axis aligned bounding box
43
I3D 200843 Generic bounding scheme
44
I3D 200844 Plan Introduction Case studies Rendering Pipeline Triangle Based Bounding Quad Based Bounding Demo & Results Conclusion
45
I3D 200845 Example scenes Lemmings
46
I3D 200846 Triangles 37% overdraw
47
I3D 200847 Aligned bbox 107% overdraw But FASTER on G80
48
I3D 200848 Test scene2/4 Cubemaps/hemicube
49
I3D 200849 Test scene3/4 Columns = Thin triangles, With large deformations
50
I3D 200850 Test scenes4/4 Sphere – 560K triangles « Real life »
51
I3D 200851 Inside the OpenGL pipeline Facades
52
I3D 200852 Cubemap vs. Parabola-map Color (ms) Depth (ms) Coverage (ms) 6 x 512x512 cubemaps 2x 512x512 parabola 2590 716 548 157 490 121 6 x 16x16 cubemaps 2 x 16x16 parabola 8.8 3.4 5.2 2.6 4.8 2.2 Better quality than cubemaps Heidrich, Laine, Osman Lower memory footprint Low triangle scenes: ~ x2 to x4 speedups (better on hi res)
53
I3D 200853 Hemicube vs non-linear projection Color (ms) Depth (ms) Coverage (ms) 5 × 512 × 512 hemicube 1 × 512 × 512 parabola 1 × 512 × 512 sphere map 1 × 512 × 512 Lambert 1500 375 433 396 375 79 71 80 320 61 67 5 × 16 × 16 hemicube 1 × 16 × 16 parabola 7.1 2.5 4.3 1.9 4.0 1.6 Low triangle scenes: ~ x2.5 to x5 speedups (better on hi res)
54
I3D 200854 Plan Introduction Case studies Rendering Pipeline Triangle Based Bounding Quad Based Bounding Demo & Results Conclusion
55
I3D 200855 Conclusion Implemented Non-linear projections on GPU –Specific class of projections, useful for many applications –Tight bounding shapes –Faster than cubemaps Projections: –Parabola: optimal BB fast overall computations –Sphere: sub-optimal BB, still fast –Other (Lambert/Fisheye): generic BB, lots of overdraw Full sources at http://artis.inrialpes.fr/Publications
56
I3D 200856 Future Directions Better quad bounding for Lambert & fisheye Should be ~ Sphere projection Improve GS bottleneck –Faster, not worst case based (NVidia’s job) –Multi pass triangle bounding Multiple layers rendering (all faces at once) Deferred shading Benchmark within a local/global lighting framework.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.