Pannellum 2.0

928 views
Skip to first unread message

Matthew Petroff

unread,
Aug 22, 2014, 10:25:50 PM8/22/14
to hugi...@googlegroups.com
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. Unfortunately, there is still a dearth of documentation—something I need to work on.

http://pannellum.org/
https://github.com/mpetroff/pannellum/releases/tag/2.0

-Matthew

Brandon

unread,
Aug 23, 2014, 1:42:49 AM8/23/14
to hugi...@googlegroups.com
Thanks for the update to Pannellum. That is a project that looks like it could turn into something impressive.

Last fall I was trying to use it as backup for the Salando Player, but at that time Pannellum only had WebGL and most of the people with I-things or smart phones that I asked to test it could not get it to work so I gave that up and went another way for a while.

With the fallback CSS 3d renderer any idea how well supported Pannellum 2.0 is? (With firefox when I  turn off Webgl, the only tour that works is the multires one and it has issues lining up the edges, I have not tried a webkit browser yet. They tend to be the ones that count when used as a flash backup.)

Any major changes to look out for in scripting a tour?


Carlos Eduardo G. Carvalho (Cartola)

unread,
Aug 23, 2014, 9:24:01 AM8/23/14
to hugi...@googlegroups.com
Nice!

Worked ok here in a first test with Firefox 31 in a linux ubuntu 14.04 notebook.

Congrats!

--
A list of frequently asked questions is available at: http://wiki.panotools.org/Hugin_FAQ
---
You received this message because you are subscribed to the Google Groups "hugin and other free panoramic software" group.
To unsubscribe from this group and stop receiving emails from it, send an email to hugin-ptx+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/hugin-ptx/6372ad50-ee6b-4433-a22c-e1bde61eedae%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Matthew Petroff

unread,
Aug 23, 2014, 1:37:55 PM8/23/14
to hugi...@googlegroups.com
The CSS 3D renderer only works on Webkit / Blink (krpano's CSS 3D renderer doesn't work in Firefox either). I've successfully tested it on Chromium 36 on Linux, Chrome 36 on Android and Windows, and Android Browser 4.1. I don't have any iOS devices to test on, so I don't know about that. It also only works for the multires configuration as it requires a separate set of higher resolution cube face images with the border row duplicated to prevent visible seams along the edges of the cube faces; the included Python multires generation script takes care of everything. The WebGL renderer has been tested on various versions of Firefox and Chrome on both Linux and Windows.

The tour configuration hasn't changed much since it was added a year and a half ago.

-Matthew

David Haberthür

unread,
Aug 24, 2014, 11:37:18 AM8/24/14
to hugi...@googlegroups.com
Ciao Matthew

On 23 Aug 2014, at 19:37, Matthew Petroff <mat...@mpetroff.net> wrote:

The CSS 3D renderer only works on Webkit / Blink (krpano's CSS 3D renderer doesn't work in Firefox either). I've successfully tested it on Chromium 36 on Linux, Chrome 36 on Android and Windows, and Android Browser 4.1. I don't have any iOS devices to test on, so I don't know about that. […]

The stock browser on an unmodified iPhone 4S with iOS 7.1.2 cannot display the panoramas, as seen in the screenshot below.

Habi

David Haberthür

unread,
Aug 24, 2014, 11:37:40 AM8/24/14
to hugi...@googlegroups.com

Matthew Petroff

unread,
Aug 24, 2014, 6:07:37 PM8/24/14
to hugi...@googlegroups.com
Thanks for testing. It seems I forgot to include fallback URLs in the configuration file, so the fallback didn't happen. It should hopefully work now.

-Matthew

John Muccigrosso

unread,
Aug 26, 2014, 2:53:16 PM8/26/14
to hugi...@googlegroups.com
And on Safari 7.0.6 on OS X 10.9.4 (not surprisingly).

My iPhone 4S with iOS 7.1.2 did load it, but then crashed when I was playing around with the pano. Very slow scrolling and I didn't see any of the hotspots.

David Haberthür

unread,
Aug 29, 2014, 4:42:43 PM8/29/14
to hugi...@googlegroups.com
Ciao Matthew.

On 25 Aug 2014, at 00:07, Matthew Petroff <mat...@mpetroff.net> wrote:

Thanks for testing. It seems I forgot to include fallback URLs in the configuration file, so the fallback didn't happen. It should hopefully work now.


It does work now, awesome!

Habi

FabKzo

unread,
Nov 5, 2014, 4:58:32 PM11/5/14
to hugi...@googlegroups.com
Hi,

I'm trying to use generate.py : where did you get PIL for python3 ?

Terry Duell

unread,
Nov 5, 2014, 5:11:13 PM11/5/14
to hugi...@googlegroups.com
On Thu, 06 Nov 2014 08:58:32 +1100, FabKzo <aude...@gmail.com> wrote:

> Hi,
>
> I'm trying to use generate.py : where did you get PIL for python3 ?
>

There was a fork of PIL, which is named 'pillow', which I believe works on
python 2 and 3.


Cheers,
--
Regards,
Terry Duell

FabKzo

unread,
Nov 7, 2014, 5:13:28 AM11/7/14
to hugi...@googlegroups.com
Ok, thanx;  I just have a probleme installing python3-pip on ubuntu 14.04; well, I think I will get rid of it soon; Nevertheless I'm trying to rewrite it to python 2.7 ;

I've got a question to Matthew: why don't you make a fall-off with pan0 (pan0.net)  flash panoviewer ? Since it's opensource, in this way panos should be readable from all types of browser (like IE, I think ) ?

Matthew Petroff

unread,
Nov 7, 2014, 10:52:56 AM11/7/14
to hugi...@googlegroups.com
Using the `fallback` option allows one to specify a URL for a fallback viewer. While the pan0 viewer might be open source, I have no desire whatsoever to deal with Flash and think the quicker it goes away, the better; additionally pan0 doesn't seem to have much faith in their own viewer as all their panoramas are using krpano. Older, unsupported versions of IE have about 7.5% market share, which is less than the share of browsers that don't support Flash. At this point, an HTML5 viewer is better supported by browsers than a Flash one.

-Matthew

FabKzo

unread,
Nov 7, 2014, 4:10:17 PM11/7/14
to hugi...@googlegroups.com
Ok, I share your idea concerning Flash; I just found their site which seems old today (~2008?) , and was surprised by the rendered correcting effect. But why won't Pannellum 2 work with IE10 ? (I don't use any of "windozes" products)

Matthew Petroff

unread,
Nov 7, 2014, 9:50:43 PM11/7/14
to hugi...@googlegroups.com
IE 11 is the first version of Internet Explorer to support WebGL [1].

-Matthew

[1] http://caniuse.com/#feat=webgl

FabKzo

unread,
Nov 14, 2014, 7:08:50 PM11/14/14
to hugi...@googlegroups.com

Hi Matthew,
I'm trying to make a multiRes pano and I wonder if there's a max size for initial panos before tiling ;
in fact I've rewrited your generate.py script to python 2.7, then generated tiles for a multires pano; put all files where they need to be ;
It works on my wordpress ( on this page : http://fabkzo.com/ , check the last pano called multitiles test );
BUT:as you should see it seems that all squares are smaller than they should ...

initial photo-squares are 5392px sides, would it be the problem ?
Another thing: in my js console I don't see any call to intermediates folders ( 2 and 3 ), when I zoom it just call the 4th , is it normal?

Can you help me understand this?

Best regards,

FabKzo

unread,
Nov 15, 2014, 4:42:01 AM11/15/14
to hugi...@googlegroups.com


Edit:

Well, there's a problem with the tiles generated by the modified python script; I need to fix it ;  an idea with zoom occurences ?

Matthew Petroff

unread,
Nov 18, 2014, 12:28:09 PM11/18/14
to hugi...@googlegroups.com
The initial size of the panorama shouldn't be a problem. I've tested it up to cube faces that are 8432px per side, but as far as I know, the maximum image size should only be limited by available memory. I didn't see anything unusual with your panoramas, and they appeared to be loading images from zoom levels 2 and 3. I'll readily admit that the method I'm using to choose which zoom level to display is suboptimal. I think the fact that you are using a portrait aspect ratio is causing lower resolution tiles to display, since the current zoom level algorithm is dependent on the horizontal field of view. I probably should be using the diagonal field of view. I added a bug to the issue tracker for this [1].

-Matthew

[1] https://github.com/mpetroff/pannellum/issues/19

FabKzo

unread,
Nov 18, 2014, 1:46:53 PM11/18/14
to hugi...@googlegroups.com
 I've resolved my tiles problem by using 4096px square faces with generate.py since when I tried to use the script with a 'non-conform'  pano (ie: size not a multiple of 512, 256 or 64) my cropped tiles were not all the same-size; passing the tile size in parameter through the json file prevent them to be loaded, resulting in an unsightly cube.

So I deducted that I've to adjust my original pano size before tiling , or passing cubeSize to the size I need in the python script.

I also noticed that it may lack the basepath reference in the resulted .json generated by the python script. (I had to add it to make it work)

Ok for the aspect ratio in the page- I also noticed that it was working pretty well when in full display.




Reply all
Reply to author
Forward
0 new messages