P

panoramic

An interface for the visualization of panoramas capable of handling wide fields of view, based on Möbius transformations.

This program compiles on GNU/Linux, Mac and Windows (this port is currently
in development and may not run). It requires:
-qmake,
-make,
-g++ in GNU/Linux or Mac
-Visual C++ or MinGW with g++ in Windows
-Qt 4,
-OpenGL 3.1 or GLew 1.3.5,
-freeglut (maybe it also works with glut),
-libjpeg,
-libpng, and
-libnetpbm (if using any compiler other than Visual C++).

In windows, you need to get libjpeg, libpng and libnetpbm from the GnuWin32
project (http://gnuwin32.sourceforge.net). Additionally, you need flex
because it contains an implementation of unistd.h.

To build in GNU/Linux and Mac, simply run qmake and make. In Windows, it
would be easier to go through QtCreator (of course, you can also use
QtCreator on GNU/Linux and Mac).

By default, the interface lets the user choose, beyond our method, between
common projection methods. The compilation flag PANO_EXTENDED_CONTROLS can
be added to show controls for other state-of-the-art projection methods.

To configure, you can set in the file ~/.panorc the following options.
        shader_dir=<path to directory containing the shader files>
        image_file=<full path to the desired input file>
        image_dir=<path to directory containing the input files>
        fov=<starting value of fov, in degrees>
        max_fov=<starting value of max_fov, in degrees>
If the program is compiled with the PANO_EXTENDED_CONTROLS flag, these
options are also available.
        pd=<Pannini d parameter>
        zblambda=<Zorin-Barr lambda parameter>
        zbR=<Zorin-Barr R parameter>
Lines in the file must start with option names, and no spaces should go
between option names, equal signs and values. If no shader path is set, the
default is ./shaders/. If no input file is set, or the file is missing, a
file chooser will be shown at startup. The default value of max_fov and fov
are 60 degrees. pd, zblambda and zbR are specified in floating-point,
following machine locales.