Pannellum 2.0

Two years in the making, I finally released Pannellum 2.0, which is a near complete rewrite. The renderer was replaced with raw WebGL, and multiresolution panorama support was added, along with a fallback CSS 3D renderer. Other additions include support for JSON configuration files, hotspots, tours, compass headings, CORS, partial panoramas, and cubic panoramas. I also put together a website for the viewer, registering pannellum.org. Unfortunately, there is still a dearth of documentation—something I need to work on. The below example demonstrates the multiresolution, hotspot, compass heading, and tour functionality using panoramas of the George Peabody Library and a JSON configuration file.

This entry was posted in and tagged , , , , , . Bookmark the permalink.

12 Responses to Pannellum 2.0

  1. fabkzo says:

    Woaw!
    It’s been a while since I tried your first version; I’ll test it soon on my website. Is multiresolution equivalent to multitiles? Or does it just load another complete pano at a greater or smaller resolution?

    • Matthew Petroff says:

      If by “multitiles” you mean each zoom level is broken into multiple tiles, then yes. The panorama is projected as cubic, where each cube face is an image pyramid.

  2. adrien says:

    Hi Matthew,

    This looks really awesome! I would love to talk to you and hear your thoughts on project I’m working on if you have the time.

  3. Carlos Sáenz says:

    Hi Matthew:

    First of all, thank you for developing and share this amazing software. I am trying to use it, but I have a cylindrical picture of 2563 x 444 px. and I can’t make it to work, because I intend the pano movement be only 360 degrees horizontal.

    I wonder if you may help me with the parameters of the Pannellum iframe; I’ve tried several options with no success.

    Thanks in advance for your time and help.

    C.S.

    • Matthew Petroff says:

      You need the image in an equirectangular projection, not cylindrical. I’m not sure what you mean by “I intend the pano movement [to] be only 360 degrees horizontal;” you can’t have more than a full circle anyway.

  4. Dirk says:

    First of all: You’ve done a great job!

    On the blog http://blog.trumpton.org.uk/2015/06/building-tour-with-hugin-and-pannellum_45.html I found a description how to convert a panorama to cubic via “python generate.py PanoramaDirectory –r2c InputImage.tif”

    But generate.py doesn’t know the parameter –r2c.

    Any suggestions?

    • Dirk says:

      Let me concretize it…

      Using generate.py I get a cubic version of the panorama. But what I would like to do is, generating a cubic version, modifying the floor and converting it back into a multires panorama.

      • Matthew Petroff says:

        If you read the blog post you linked to carefully, the author notes that a modified version of the generate.py script was used. My version of the script does not support the feature you’re asking about, which is why the --r2c flag doesn’t work.

      • Richard says:

        I needed the same thing, so I opened the generate.py and added these lines (see below) bellow just before comment “# Generate tiles”. It makes the code execution stop and wait for ENTER after the faces are generated, but before the tiles are generated. In that time, you can edit the nadir/zenith areas.

        code to insert:

        # Wait for (nadir edit)
        raw_input(‘Faces generated, press Enter to continue’);