Another Google Summer of Code idea...

How difficult would it be to add the 3D Glasses option, similar to Nokia’s 3D Globe / YouTube? (Not sure if this even looks good but it might be a cool option.)


  • Adam

Right now we don’t know of any means for WebGL to render stereoscopic 3D, other than anaglyph (Red/Cyan) glasses. That seems to be primarily what YouTube is offering, although there are some references to some kind of nVidia 3D mode that looks like it could be vendor-proprietary.

The Red/Cyan glasses don’t work all that well with our kind of graphics (you can try our desktop software, STK, which supports several stereo modes, to compare the quality of different types of stereo). The best option would be if WebGL starts supporting quadbuffer stereo, which OpenGL has had from the start. Quadbuffer allows the most flexibility, rendering left and right images separately, so it can drive all sorts of different hardware, including active shutter, polarized lenses, etc. If that gets added to WebGL, that could be a strong motivator for us to work on supporting it.


While we’re on the subject, I’ve had a cool hack in mind for a while I want to try. I have a 3D television at home and have experimented with making my own 3D images and video. The new 3D standards basically accepts a double-tall or double-wide image or video where each half of the image represents one eye. In order to have my TV show Cesium content in 3D, all I would need to do is create a full-screen web-application with 2 canvases, one on top of the other. Then tell my TV to go into top/bottom 3D mode, and boom, I have a 3D Cesium app. As long as the cesium cameras are synchronized and offset, it should be awesome.

Obviously that’s not quite the “click here to enable 3d” we would want to have, but it still has it’s uses. Another thought would be to alternate left/right eye every frame, which might also work (it’s been a while so I have to experiment).