Matthew Petroff 46c89c4155 | 5 anos atrás | |
---|---|---|
.github | 5 anos atrás | |
doc | 5 anos atrás | |
examples | 8 anos atrás | |
paper | 5 anos atrás | |
src | 5 anos atrás | |
tests | 5 anos atrás | |
utils | 5 anos atrás | |
.gitignore | 5 anos atrás | |
.npmignore | 8 anos atrás | |
.travis.yml | 5 anos atrás | |
COPYING | 5 anos atrás | |
VERSION | 5 anos atrás | |
changelog.md | 5 anos atrás | |
package.json | 5 anos atrás | |
readme.md | 5 anos atrás |
Pannellum is a lightweight, free, and open source panorama viewer for the web. Built using HTML5, CSS3, JavaScript, and WebGL, it is plug-in free. It can be deployed easily as a single file, just 21kB gzipped, and then embedded into pages as an <iframe>
. A configuration utility is included to generate the required code for embedding. An API is included for more advanced integrations.
build/pannellum.htm
and a full equirectangular panorama to a web server.
python3 -m http.server
, but any other web server will work as well.utils/multires/generate.py
) or configuration tool (utils/config/configuration.htm
).<iframe>
code into a page.Configuration parameters are documented in the doc/json-config-parameters.md
file, which is also available at pannellum.org/documentation/reference/. API methods are documented inline with JSDoc comments, and generated documentation is available at pannellum.org/documentation/api/.
generate.py
to create multires panoramasTo be able to create multiresolution panoramas, you need to have the nona
program installed, which is available as part of Hugin, as well as Python with the Pillow package. Then, run
python generate.py pano_image.jpg
in the utils/multires
directory. This will generate all the image tiles and the config.json
file in the ./output
folder by default. For this to work, nona
needs to be on the system path; otherwise, the location of nona
can be specified using the -n
flag, e.g. python generate.py -n /path/to/nona pano_image.jpg
.
Examples using both the minified version and the version in the src
directory are included in the examples
directory. These can be viewed by starting a local web server in the root of the repository, e.g., by running python3 -m http.server
in the directory containing this readme file, and then navigating to the hosted HTML files using a web browser; note that the examples use files from the src
directory, so the web server must be started from the repository root, not the examples
directory.
Additional examples are available at pannellum.org.
Since Pannellum is built with web standards, it requires a modern browser to function.
The support list is based on feature support. As only recent browsers are tested, there may be regressions in older browsers.
Mobile / app frameworks are not officially supported. They may work, but they’re not tested and are not the targeted platform.
All user-facing strings can be changed using the strings
configuration parameter. There exists a third-party respository of user-contributed translations that can be used with this configuration option.
The utils
folder contains the required build tools, with the exception of Python 3.2+ and Java installations. To build a minified version of Pannellum, run either build.sh
or build.bat
depending on your platform.
A limited Selenium-based test suite is located in the tests
directory. The tests can be executed by running python3 run_tests.py
. Running the tests requires Python 3, the Selenium Python bindings, Firefox, geckodriver, Pillow, and NumPy.
If you wish to ask a question or report a bug, please open an issue at github.com/mpetroff/pannellum. See the Contributing section below for more details.
Development takes place at github.com/mpetroff/pannellum. Issues should be opened to report bugs or suggest improvements (or ask questions), and pull requests are welcome. When reporting a bug, please try to include a minimum reproducible example (or at least some sort of example). When proposing changes, please try to match the existing code style, e.g., four space indentation and JSHint validation. If your pull request adds an additional configuration parameter, please document it in doc/json-config-parameters.md
.
Pannellum is distributed under the MIT License. For more information, read the file COPYING
or peruse the license online.
In the past, parts of Pannellum were based on three.js r40, which is licensed under the MIT License.
The panoramic image provided with the examples is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.