3D Google Street View Room – ICM Final Project
The 3D Google Street View Room is an immersive experience using Google Street View API, Processing, Projection Mapping (with Matrox Triple Head 2Go), and 3D anaglyphic glasses. I created a space where 3D anaglyphic images are projected on 3 walls allowing viewers to virtually travel to the Eiffel Tower, Washington Square Park, an Aztec Pyramid, the Himalayas… anywhere Google Street View has an image database.
Video 1st Beta Tester
On April fools day of 2011 Google Street View Classic introduced a secret function that allowed users to create 3d Anaglyphic images by pressing “3” on the keyboard while viewing street view images. This cool little 3D add-on was the inspiration of this project, which made me think: Wouldn’t this be really cool if it was projected in a large room, and you could go immerse yourself into Google Street View.
I embarked on this project thinking it would be relatively. Since Google Street view already had a 3D function, I thought my job would be to just bring in the 3D images into processing. Of course it was not that easy.
2. The new Google Street View no longer has the 3D function.
3. Using multiple projectors can be challenging.
Step 1 – Bring in images from Google Street View.
To use Google API tools you must first register with Google. https://developers.google.com/maps/
For simplicity I decided to bring in 3 images from street view – the Main center image, and the right and left adjacent images, photographed at about 90 degrees from the main image point of view.
To get the images I created a tool that allowed me to get the images I needed:
The following tutorial was really helpful in understanding the Street View API and making the tool. http://hayageek.com/google-street-view-image-api/
Finding images is half the fun. I was looking for iconic images from different parts of the world. In fact Paris was the first location I chose. When you find the location and press the link to view the image you get this type of URL:
Breaking down the URL you will see:
- GOOGLE_API_CONSOLE_KEY =
With these variables I was able to create a function in processing that allowed me to bring in the main image, and by altering the Heading, I could also get the adjacent images. To my surprise, just using 90 degree intervals for the Heading did not create the perfect alinement, and fine tuning had to be done.
In the processing sketch a class was created that would bring in the Google street view string along with the needed variables from above.
Step 2 – Create Anaglyphic images using Processing.
I used the following code and contributions when incorporating anaglyph to the pictures from the Google Street Maps API
– Optimised anaglyph shader by John Einselen: http://iaian7.com/quartz/AnaglyphCompositing
– Simple anaglyph shader by r3dux: http://r3dux.org/2011/05/anaglyphic-3d-in-glsl/
– Anaglyph libraries adapted for Processing by Raphaël de Courville
Step 3 – Project – using Matrox Triple head to go DP
Step 4 – Adjust Anaglyph levels. Map them to mouseX.
Processing Sketch link: AnaglyphShader_WORLD_BIG_SCREENS2