Interactive Panoramic Viewer

From Wiki
Revision as of 06:27, 23 March 2007 by Leonox (Talk | contribs)

Jump to: navigation, search


FreePV is part of the PanoTools Software Universe and is an effort to make a universal viewer for the different VR file formats. Thus these projects intend to add new features like basic support to new files and features like hotspots that are essential for the user interactive experience. One of the main objectives is to add a basic support to SPi-V file formats to Linux users, where shockwave player is not avalaible, so the mozilla-plugin freepv implementation should be able to read basic files to the end of this project.


The first part of the project will consist in extending the libfreepv component, so it has a more flexible data structure to handle different file formats, for this purpose I will need to read in detail the QTVR file format and SPi-V XML file format specifications. At the moment the idea is to use cubeface since both SPi-V and QTVR support this kind of file.

In the second part of the project, The support to the SPi-V XML file format will be added, I will add an XML parser and a decoder class that will fill the data structure and will setup the viewer using the file metadata.

The last part of the project will consist in enhance the user interactive experience adding the support to hotspots, this will enable the user to visualize freepv panoramic and make a virtual tour, switching from one scenes to another by just clicking over the hotspots. This last feature should be supported for both QTVR and SPi-V file formats, I will need to check the Scene class, and design a class to handle the different scenes of a tour. Furthermore most of the hotspots in SPi-V are made with images that not necessarily are JPEG, so it will be needed to add support to files like png or gif. Also it well be needed to design a class for the libfreepv component and will need to support a simple colition detection.

QTVR hotspots [1] SPi-V Panoelement (hotspots)[2]


1. Make SPi-V file format avalaible for Linux/Unix users. 2. Add freepv support to Hotspots. 3. Add freepv support to load flat images.


1. Planification 2. Design 3. Implementation 4. Testing period



April 11: Begin a deeper familiarization with the project code, set up every thing (lib, compilers, etc…), so that I don’t have problems to begin coding.

April 23: Read articles, literature, papers and specifications, solve any doubt left with the mentors and the community.

May 9: Read with more detail the files specification and finally discuss with my mentors and the project community some implementation details.

May 28: Begin coding the data structure that most be part of the libfreepv component.

Jun 4: Begin coding the file decoder class using the XML parser and planing the new image readers (PNG,GIF).

Jun 18: Begin with the Testing period.

June 29: To this date the file decoders classes must be stable, be crossplataform and they should be well documented. Begin with the image readers implementation and begin the planification of hotspots.

July 9: Students upload code to; mentors begin mid-term evaluations. I will begin codifing hotspot.

August 13: To this date the hotspots should work, be crossplataform and well documented.

August 20: Students upload code to; mentors begin final evaluations; students begin final program evaluations

August 31: Final evaluation deadline; Google begins issuing student and mentoring organization payments