Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. ---
  2. title: 'Pannellum: a lightweight web-based panorama viewer'
  3. tags:
  4. - panoramas
  5. - visualization
  6. - WebGL
  7. authors:
  8. - name: Matthew A. Petroff
  9. orcid: 0000-0002-4436-4215
  10. affiliation: 1
  11. affiliations:
  12. - name: Department of Physics & Astronomy, Johns Hopkins University, Baltimore, Maryland 21218, USA
  13. index: 1
  14. date: 15 July 2019
  15. bibliography: paper.bib
  16. ---
  17. # Summary
  18. _Pannellum_ is an interactive web browser-based panorama viewer written in
  19. JavaScript and primarily based on the WebGL web standard [@WebGL] for graphics
  20. processing unit (GPU)-accelerated rendering to the HTML5 ``<canvas>`` element
  21. [@Canvas]. It supports the display of panoramic images that cover the full
  22. sphere, or only parts of it, in equirectangular format, in cube map format, or
  23. in a tiled format that encodes the panorama in multiple resolutions, which
  24. allows for parts of the panorama to be dynamically loaded, reducing data
  25. transfer requirements. In addition to single panoramas, multiple panoramas can
  26. be linked together into a virtual tour, with navigation enabled via
  27. "hot spots," which can also be used to add annotations.
  28. The display of interactive panoramic images on the web dates back to the
  29. mid-1990s, with the development of Apple's QuickTime VR format and associated
  30. web browser plug-ins [@Chen1995]. When development on _Pannellum_ started in
  31. 2011, WebGL was a nascent technology, and the majority of existing panorama
  32. viewers for websites were then still based on Java or Adobe Flash plug-ins,
  33. which had supplanted QuickTime as the technology of choice. Since then, both
  34. the viewer and underlying technologies have matured immensely. As an aside, the
  35. name _Pannellum_ was derived as a portmanteau of "panorama" and "vellum," as
  36. this made a unique, pronounceable word, with "vellum" used as a quasi-synonym
  37. to the ``<canvas>`` drawing surface used by the viewer.
  38. An application programming interface (API) is provided, which allows external
  39. code to control the viewer and implement features such as custom buttons or
  40. integration with other webpage elements. One such example is integrating the
  41. viewer with a map [@Gede2015; @Albrizio2013; @OSM2018]; the locations where
  42. panoramas were taken can be displayed as markers on the map, whereby clicking a
  43. marker will open the corresponding panorama in the viewer. Panoramic
  44. videos---videos that cover up to a full 360 degrees of azimuth---are supported
  45. via a bundled extension, which is built using
  46. the API. The viewer's underlying rendering code is separate from its user interface
  47. code, which allows for more extensive customization and tighter integration
  48. with external code, if desired. This rendering code uses a pinhole camera model
  49. for equirectangular panoramas implemented as a WebGL fragment shader, instead
  50. of the more common---and less accurate---approach of mapping the panorama onto
  51. a geometric approximation of a sphere.
  52. _Pannellum_ has proven useful in various fields, when the display of panoramic
  53. images is needed to help digest or present information. These research
  54. applications range from cartography [@Gede2015] to digital humanities
  55. [@Srinivasan2018; @Mohr2018] to archaeology [@Albrizio2013] to medical
  56. education [@Herault2018]. It has also found use in public outreach
  57. applications, such as its use by the European Southern Observatory to display
  58. panoramas of their observatories [@ESO2017]. _Pannellum_ is intended to be used
  59. any time an interactive panorama needs to be displayed on a webpage, be it an
  60. internal research application or a publicly accessible website. It may also
  61. work with certain mobile application frameworks, but such use is not officially
  62. supported. [Documentation](https://pannellum.org/documentation/overview/) and
  63. [interactive examples](https://pannellum.org/documentation/examples/simple-example/)
  64. are provided at [pannellum.org](https://pannellum.org/).
  65. # References