Cubic VR in Flash -- not quite yet?
I was an early adopter & beta tester of Christian Stehle's FlashVR, which allows you to display perspective corrected cylindrical panoramas in Flash. It works best when displaying at small sizes -- because FlashVR is doing lots of masking and math to create the perspective-correct view, and because Flash itself is a processor hog. You can see an example of how I use it at my own site in the gallery, or at a client's site by following the portfolio link there.
Last I heard, quite a while ago, Christian was going to work on a version of FlashVR which would allow you to display Cubic/Spherical panoramas as well. There's no news from the FlashVR front of late, but with the advent of Flash 8, and now Flash 9, there's been a flurry of Cubic VR developments from the Flash community, both open source and not. Thomas Rauscher is apparently working on one for inclusion with his (by all accounts, amazing) tool Pano2QTVR. [Thomas, if you're listening, I'd still like to beta-test for you :-) ]
Andre Michelle had a very nice, smooth viewer available -- but public availability to Andre's project is gone (and the files are no longer available) with the announcement that his CubicVR-Engine is sold. Andre's experiments weren't 100% open source, but the files were available for download. He took a cue from FlashVR, and wrapped everything in a 'master' .swf file, which relied on an external XML file for direction.
Andre's viewer, which I was able to test before it disappeared, is as aforementioned -- nice and smooth, though it does break apart at larger viewing sizes (like any panorama viewer in Flash so far). Speculation abounds as to who snapped it up -- and it must have been for a pretty penny to make it disappear so fast. Immervision, maybe? Who knows.
Thankfully (well, I hope anyway), the thinking and application behind the math to make our cubes spin in Flash isn't really patentable. This means that, especially with such a huge and hugely active developer base, we will probably see other Flash-based panorama viewers which will be available to the little people.
If my math chops were up to it, I'd do it myself. ;-)
Until such time as we see a Flash-based Cubic VR viewer which can handle large- or full-screen display without totally hosing your system's resources, I suggest (and always have) using Flash's big, capable brother Shockwave. Aldo Hoeben's Spi-V is a very mature and extensible way to display cubes on screen and on the Web -- and I think, if you're not using QuickTime or Java, SPi-V's the best alternative.
Thanks for fleshing it out...
Thanks Aldo -- That was what I meant to say, between the lines. ;-P
People are really trying to 'push the envelope' with Flash, which I think is totally laudable (I try to do the same with QuickTime), but it seems to me that there will be a limit at some point from Adobe's development standpoint -- Shockwave is already here, and can do some things so much better.
I suppose I should put my money where my mouth is, and have some Shockwave/SPi-V examples at my site. ...If I could only put some time where my money and mouth are. ;-)
Patrick Cheatham
--
CheathamLane | spinControl:VR
Berkeley, California
VR Photography
QuickTime & Web Development

Thanks for the plug
Thanks for plugging SPi-V.
The fundamental reason SPi-V is faster than Flash viewers can currently be, is that SPi-V uses 3d hardware acceleration. Most computers nowadays have specialised hardware that was designed to fill triangles on the screen (projected polygons in '3d space') with perspectively distorted images (textures).
SPi-V, or actually the 3d engine in Shockwave, merely has to pass the panoramic image and a description of geometry to the graphics card driver (it's a bit more complicated than that, but that's generally it). Flash on the other hand has no access to this optimised hardware, and as a result needs to do a lot more math, and - more importantly - needs to draw each pixel on to the screen one by one. This takes fundamentally more time than just handing everything over to specialised hardware.
Just some background info