Pannellum: Types of panoramas?

Created on 4 Mar 2015  路  2Comments  路  Source: mpetroff/pannellum

I'm really noob on this topic so sorry in advance for the nonsense I can say.

I still don't know very well which are the differences between: equirectangular, cubemap and multires images.

I don't know either if it is related with the differences between those pictures for example:
http://rauljimenez.info/dev/nerja-tour/examples/nerja-tour/R0010004.jpg (taken using Ricoh Theta camera)
http://rauljimenez.info/dev/nerja-tour/examples/examplepano.jpg

Is it possible to transform a panorama like the first one (taken with Ricoh = 驴fish eye?) to a rectilinear panorama?, something like this?
http://photo.net/learn/fisheye/

question

Most helpful comment

They're different projections, ways of representing the surface of a sphere in an image (like map projections). The equirectangular projection is probably the most common way to represent a panorama; it's what the Ricoh Theta outputs. A fisheye projection, on the other hand, can't show more than a 180 degree field of view (half a sphere). A cube map projects a sphere onto a cube, with one image for each of the six cube faces; when the cube is then rendered using perspective, this distortion is undone, and the original view is recovered. A multires image is Pannellum specific, although very similar to what other panorama viewers use for multires images. It is a cube map, but each face has an image pyramid instead of a single image. This allows for high resolution images to be displayed, as the high resolution part only needs to be loaded for the region being viewed, instead of for the entire image.

Each projection has its advantages and disadvantages. Equirectangular is the easiest, since it requires only one image (which can be hosted on sites such as Google Drive), and most panoramas are already in this format, but the maximum image resolution is limited (I wouldn't recommend using an image wider than 4096px), and it is poorly supported on mobile devices. Cube maps support somewhat higher resolutions (although this increases load times) and work on most mobile devices using Pannellum's CSS 3D transform based fallback renderer, but the cube map images need to first be created from the equirectangular source image, and six images are required. Multiresolution images, like regular cube maps, work on mobile devices, and have the added advantage of supporting arbitrarily high resolution images; however, they require hundreds to thousands of files.

Panoramas can be reprojected into a new format. The easiest way to create a cube map is to use Bruno Postle's erect2cubic script. To create a multires image, use Pannellum's utils/multires/generate.py script.

All 2 comments

They're different projections, ways of representing the surface of a sphere in an image (like map projections). The equirectangular projection is probably the most common way to represent a panorama; it's what the Ricoh Theta outputs. A fisheye projection, on the other hand, can't show more than a 180 degree field of view (half a sphere). A cube map projects a sphere onto a cube, with one image for each of the six cube faces; when the cube is then rendered using perspective, this distortion is undone, and the original view is recovered. A multires image is Pannellum specific, although very similar to what other panorama viewers use for multires images. It is a cube map, but each face has an image pyramid instead of a single image. This allows for high resolution images to be displayed, as the high resolution part only needs to be loaded for the region being viewed, instead of for the entire image.

Each projection has its advantages and disadvantages. Equirectangular is the easiest, since it requires only one image (which can be hosted on sites such as Google Drive), and most panoramas are already in this format, but the maximum image resolution is limited (I wouldn't recommend using an image wider than 4096px), and it is poorly supported on mobile devices. Cube maps support somewhat higher resolutions (although this increases load times) and work on most mobile devices using Pannellum's CSS 3D transform based fallback renderer, but the cube map images need to first be created from the equirectangular source image, and six images are required. Multiresolution images, like regular cube maps, work on mobile devices, and have the added advantage of supporting arbitrarily high resolution images; however, they require hundreds to thousands of files.

Panoramas can be reprojected into a new format. The easiest way to create a cube map is to use Bruno Postle's erect2cubic script. To create a multires image, use Pannellum's utils/multires/generate.py script.

Thanks Matthew!, great explanation :D

Now I have it much more clear :).

I'll take a look to the erect2cubic too then because the Ricoh Theta resolution is quite poor and probably it is more than enough for those pictures.

Thanks one more time ^_^

Was this page helpful?
0 / 5 - 0 ratings

Related issues

epignosis567 picture epignosis567  路  6Comments

mikeMikeymike picture mikeMikeymike  路  8Comments

truszko1 picture truszko1  路  5Comments

exotfboy picture exotfboy  路  3Comments

valeriodeluca picture valeriodeluca  路  3Comments