Abstract
We present a novel framework for real-time multi-perspective rendering. While most existing approaches are based on ray-tracing, we present an alternative approach by emulating multi-perspective rasterization on the classical perspective graphics pipeline. To render a general multi-perspective camera, we first decompose the camera into piecewise linear primitive cameras called the general linear cameras or GLCs. We derive the closed-form projection equations for GLCs and show how to rasterize triangles onto GLCs via a two-pass rendering algorithm. In the first pass, we compute the GLC projection coefficients of each scene triangle using a vertex shader. The linear raster on the graphics hardware then interpolates these coefficients at each pixel. Finally, we use these interpolated coefficients to compute the projected pixel coordinates using a fragment shader. In the second pass, we move the pixels to their actual projected positions. To avoid holes, we treat neighboring pixels as triangles and re-render them onto the GLC image plane. We demonstrate our real-time multi-perspective rendering framework in a wide range of applications including synthesizing panoramic and omnidirectional views, rendering reflections on curved mirrors, and creating multi-perspective faux animations. Compared with the GPU-based ray tracing methods, our rasterization approach scales better with scene complexity and it can render scenes with a large number of triangles at interactive frame rates.
Similar content being viewed by others
Explore related subjects
Discover the latest articles and news from researchers in related subjects, suggested using machine learning.References
Adelson, E.H., Bergen, J.R.: The plenoptic function and the elements of early vision. In: Computational Models of Visual Processing, pp. 3–20 (1991)
Agrawala, M., Zorin, D., Munzner, T.: Artistic multiprojection rendering. In: Proceedings of the Eurographics Workshop on Rendering Techniques 2000, pp. 125–136 (2000)
Aseem, A., Agrawala, M., Cohen, M., Salesin, D., Szeliski, R.: Photographing long scenes with multi-viewpoint panoramas. In: SIGGRAPH ’06: ACM SIGGRAPH 2006 Papers, pp. 853–861 (2006)
Carr, N.A., Hall, J.D., Hart, J.C.: The ray engine. In: Proceedings of the ACM SIGGRAPH/EUROGRAPHICS Conference on Graphics Hardware (2002)
Diefenbach, P.J., Badler, N.I.: Multi-pass pipeline rendering: realism for dynamic environments. In: Proceedings of the Symposium on Interactive 3D Graphics, pp. 59–ff. (1997)
Durand, F.: An invitation to discuss computer depiction. In: NPAR ’02: Proceedings of the 2nd International Symposium on Non-photorealistic Animation and Rendering, pp. 111–124 (2002)
Gascuel, J.D., Holzschuch, N., Fournier, G., Péroche, B.: Fast non-linear projections using graphics hardware. In: SI3D ’08: Proceedings of the 2008 Symposium on Interactive 3D Graphics and Games, pp. 107–114 (2008)
Glassner, A.S.: Cubism and cameras: Free-form optics for computer graphics. Tech. Rep. MSR-TR-2000-05, January (2000)
Gupta, R., Hartley, R.I.: Linear pushbroom cameras. IEEE Trans. Pattern Anal. Mach. Intell. 19(9), 963–975 (1997)
Hanson, A.J., Wernert, E.A.: Image-based rendering with occlusions via cubist images. In: VIS ’98: Proceedings of the Conference on Visualization ’98, pp. 327–334 (1998)
Hou, X., Wei, L.Y., Shum, H.Y., Guo, B.: Real-time multi-perspective rendering on graphics hardware. In: SIGGRAPH ’06: ACM SIGGRAPH 2006 Sketches, p. 79 (2006)
Kitamura, Y., Konishi, T., Yamamoto, S., Kishino, F.: Interactive stereoscopic display for three or more users. In: SIGGRAPH ’01: Proceedings of the 28th Annual Conference on Computer Graphics and Interactive Techniques, pp. 231–240 (2001)
Levoy, M., Hanrahan, P.: Light field rendering. In: SIGGRAPH ’96: Proceedings of the 23rd Annual Conference on Computer Graphics and Interactive Techniques, pp. 31–42 (1996)
Lindholm, E., Kligard, M.J., Moreton, H.: A user-programmable vertex engine. In: SIGGRAPH ’01: Proceedings of the 28th Annual Conference on Computer Graphics and Interactive Techniques, pp. 149–158 (2001)
Mei, C., Popescu, V., Sacks, E.: The occlusion camera, In: Proc. of Eurographics 2005. Comput. Graph. Forum. 24(3), pp. 335–342 (Sept. 2005)
Ofek, E., Rappoport, A.: Interactive reflections on curved objects. In: SIGGRAPH ’98: the 25th Annual Conference on Computer Graphics and Interactive Techniques, pp. 333–342 (1998)
Peleg, S., Ben-ezra, M., Pritch, Y.: Omnistereo: Panoramic stereo imaging. IEEE Trans. Pattern Anal. Mach. Intell. 23, 279–290 (2001)
Popescu, V., Dauble, J., Mei, C., Sacks, E.: An efficient error-bounded general camera model. In: 3DPVT ’06: Proceedings of the Third International Symposium on 3D Data Processing, Visualization, and Transmission (3DPVT’06), pp. 121–128. IEEE Computer Society, Washington (2006). DOI: 10.1109/3DPVT.2006.26
Purcell, T.J., Donner, C., Cammarano, M., Jensen, H.W., Hanrahan, P.: Photon mapping on programmable graphics hardware. In: ACM SIGGRAPH 2005 Courses, p. 258 (2005)
Rademacher, P., Bishop, G.: Multiple-center-of-projection images. Comput. Graph. 32, 199–206 (1998) (Annual Conference Series)
Roman, A., Lensch, H.: Automatic multiperspective images. IEEE Trans. Pattern Anal. Mach. Intell. 25, 741–754 (2003)
Roman, A., Garg, G., Levoy, M.: Interactive design of multi-perspective images for visualizing urban landscapes. In: VIS ’04: Proceedings of the Conference on Visualization ’04, pp. 537–544. IEEE Computer Society, Washington (2004)
Seitz, S.M., Kim, J.: Multiperspective imaging. IEEE Comput. Graph. Appl. 23(6), 16–19 (2003)
Shum, H.Y., He, L.W.: Rendering with concentric mosaics. In: SIGGRAPH ’99: the 26th Annual Conference on Computer Graphics and Interactive Techniques, pp. 299–306 (1999)
Simon, A., Smith, R.C., Pawlicki, R.R.: Omnistereo for panoramic virtual environment display systems. In: VR ’04: Proceedings of the IEEE Virtual Reality 2004, p. 67 (2004)
Swaminathan, R., Grossberg, M.D., Nayar, S.K.: Non-single viewpoint catadioptric cameras: Geometry and analysis. Int. J. Comput. Vis. 66(3), 211–229 (2006)
Wood, D.N., Finkelstein, A., Hughes, J.F., Thayer, C.E., Salesin, D.H.: Multiperspective panoramas for cel animation. In: SIGGRAPH ’97: Proceedings of the 24th Annual Conference on Computer Graphics and Interactive Techniques, pp. 243–250 (1997)
Wyman, C., Davis, S.: Interactive image-space techniques for approximating caustics. In: Proceedings of the 2006 Symposium on Interactive 3D Graphics and Games, pp. 153–160 (2006)
Yu, J., McMillan, L.: A framework for multiperspective rendering. In: Rendering Techniques (2004)
Yu, J., McMillan, L.: General linear cameras. In: the 8th European Conference on Computer Vision (ECCV) (2004)
Zomet, A., Feldman, D., Peleg, S., Weinshall, D., Society, I.C.: Mosaicing new views: The crossed-slits projection. IEEE Trans. Pattern Anal. Mach. Intell. 25, 741–754 (2003)
Author information
Authors and Affiliations
Corresponding author
Electronic Supplementary Material
Below is the link to the electronic supplementary material
Rights and permissions
About this article
Cite this article
Yu, X., Yu, J. & McMillan, L. Towards multi-perspective rasterization. Vis Comput 25, 549–557 (2009). https://doi.org/10.1007/s00371-009-0335-3
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00371-009-0335-3