Archive for April, 2011

Google Chrome PhotoSynth WebGL Viewer extension

April 13th, 2011

Google Chrome PhotoSynth WebGL Viewer extension

I definitively have been distracted, working on something else than PhotoSynth2CMVS, sorry about that ;-) . I have to say that I’m a Javascript lover and being able to do the same thing as my PhotoSynthDownloader and PhotoSynthViewer in Javascript was just irresistible!

As you can see in the video above, my Google Chrome extension allow you to view the point cloud of a PhotoSynth if you don’t have Silverlight using WebGL. This extension was very easy to implement thanks to 2 open-source project:

The source code of my extension should be available soon on my GitHub (with an html page working with Firefox 4 and Opera 11.5 using a PHP proxy to fix ajax cross-domain security issue).


The Google Chrome extension is available for free on the Chrome Web Store.

Warning: I’ve released this extension without Microsoft approval so if they don’t accept it, I will remove it immediately.


This is my first Google Chrome extension! It’s currently labeled 0.0.1 so don’t expect that much feature for now. But I’ve lot of idea of feature that I want to add to this viewer:

  • Use Web Workers to parse file in a background thread.
  • Display cameras positions and orientation as in my Ogre3D Viewer.
  • Display Bing map on the ground if the Synth is geo-referenced.
  • Display the collection of picture and if you click on one, animated the 3d camera to the corresponding viewpoint.


This is not directly linked to this post but if you have used one of my project:

…and find it useful, your help will be appreciated ;-) . The PayPal donate button is on the sidebar on the right. Thanks!


PhotoSynth WebGL Viewer

April 5th, 2011

CMVS support in PhotoSynthToolkit:

First of all, I’m sorry this post is not about CMVS support in PhotoSynthToolkit :-( . Releasing the PhotoSynthToolkit with CMVS support is way more complicated than predicted… This is because it is not just a file conversion process (as in my PhotoSynth2PMVS). I have designed a library (OpenSyntherLib) that extract features, match them, build tracks and then triangulate them using PhotoSynth cameras parameters. The problem is that this library is highly configurable to match each dataset needs. So providing an automatic solution with good parameters is difficult.

The new PhotoSynth2CMVS tool generates bundler-compatible file (“bundle.out”). I’ve sent the bundle.out file of the V3D dataset to Olafur Haraldsson and he has managed to create a 36 million vertices point cloud with it! It will be showcased in a next post.

PhotoSynth WebGL Viewer:

As soon as I’ve seen the SpiderGL presentation at the 3D-Arch Workshop I’ve decided to implement a PhotoSynth viewer with WebGL! Thanks to Cesar Andres Lopez I’ve found XB PointStream which is very well designed and documented. Implementing a PhotoSynth Parser turns out to be super easy! Porting my PhotoSynthParser.cpp took less than 10min thanks to the jDataView and binary ajax developed by Vjeux. After 2 hours of hacking I got this first viewer:


I can’t host the viewer on my website has it is using a proxy to fix ajax cross-domain security issue (thus it will kill my bandwidth limit). So I’ve made a video to show you how it looks:


The viewer source code will be hosted on my GitHub and I’m working on a Google Chrome extension to by-pass the need of a proxy… Having a Google Chrome extension that replace the Silverlight viewer on would be nice too (if you don’t have Silverlight).