a) sample a 4x4 grid of 2x2 neighborhoods
b) quantize the color to 3 bits per channel (so 512 colors)
c) "hash" (not really hashing) the "key" computed from adding up all the pixel neighborhoods and index into a lookup table: http://tllabs.io/asciistreetview/fontHash.png
d) use the green channel from the hash table to index into the font: http://tllabs.io/asciistreetview/8x8.png
It could be a little smarter about using the shape of the neighborhood to figure out which character to use, but it seems the lookup table is solely based on brightness, or I'm missing some subtlety in the code. It seems overly complex for what it does, but not for what it could be doing.
All of this is pulled from Sol's TextFX library. The character bitmap actually doesn't line up to Sol's table, so that's why you see weird characters popping up in places. The main goal was just to get image to text working on the GPU. I've typically done it on the CPU. Over time I hope the mess gets cleaned up.
It's a pretty cool toy!
Pick a location and compare it to the standard street view on google maps, and you'll notice a similar "more 3D" appearance.
The reason is that it's using three.js to map the panorama onto a spherical geometry. This is actually quite an old trick used to give a more immersive feel to panorama viewers dating at least back to the days of QTVR.
Great hack, too. I really, really want that thing as a screensaver!
I was working on a similar project a while back, to view Street View through various filters (B&W high-contrast, pseudo-cyanotype, etc.), but I did it by pulling a few hundred images and caching them, to avoid hitting it in real-time, which I thought might be a problem. Given that I see several of these not being taken down, though, maybe I was too cautious.
Fwiw, Cyano-View Copenhagen was my project (hit "[reload]" at the top/right for a new random view, or scroll down for concept blurb):
1. There's a documented API to fetch these images, but it's less convenient.
2. These demos make Google look good.
3. There's no potential to squeeze money out of the creators of these demos, because they aren't monetized in any way.
4. Shutting down people who are playing (relatively) harmlessly with their technology would hurt Google's community image.
5. The demos are of no practical use, so if Google breaks compatibility, nobody will care.
So if you look at the costs and benefits, it would be unwise for Google to crack down on this sort of thing. But if you started selling an iOS app that used this, I'd be shocked if they didn't smack you down.
h - Toggle visibility of the HUD (minimap and information)
space - Toggle the rotation on/off
- (numpad) - Slow down the rotation (slowing below 0 reverses rotation)
+ (numpad) - Speed up the rotation
- (main keyboard) - Lower the delta by which the rotation speed is increased/decreased (default delta is 0.005, lowers by 0.0001)
= (main keyboard) - Raise the delta by which the rotation speed is increased/decreased (default delta is 0.005, raises by 0.0001)
Might I suggest warp speed? ;)
You can probably manually flip a setting in about:flags to turn WebGL back on. I just switch to Firefox to check out the demos.
My 13" does not: 9400m is the sole GPU. I get the same blackness on Safari 6 despite WebGL being enabled. WebGL works otherwise , albeit it seems much slower than before.
And I'm glad I read the comments and played with the zoom. Drastically changes the effect ... very much like a video-game world with incredible detail.
And this box is an i7 with 10GB of memory...
My Macbook Pro handled it with no noticeable slowdown.
I ask because the 3-4 times I opened it, the start location looked absolutely stunning
Also: My laptop usually have issues with WebGL sites, they crash or run really slow. This is smooth as can be!.. Great work
edit: people are talking about zooming.. How do you zoom?
lat: 40.759011, lng: -73.98447220000003
lat: 37.785747104443196, lng: -122.40620172951662
lat: 39.36382677360614, lng: 8.431220278759724
lat: 50.09072314148827, lng: 14.393133454556278
lat: 35.69143938066447, lng: 139.695139627539
lat: 35.67120372775569, lng: 139.77167914398797
lat: 39.907974000227846, lng: -118.82814144140627
lat: 38.897556289243894, lng: -77.0365502699753
lat: 51.509651382445206, lng: -0.1184348782348934
New York (Times Sq)
San Francisco (Union Sq)
Nevada desert (I-80 east of Reno)
Washington (White House)
London (Waterloo Bridge)
The scroll wheel.
EDIT: If you keep zooming you can fisheye everything inside out.
Totally loving this, including the green mode.
This has the potential to be the first real-life gta-ish matrix racing game.
If you're lucky, your personal skin is already available as driver model.
If you zoom out, it gets quake-ish.