The state of 3D on the iPhone

So how close are we to getting a proper 3D virtual globe on the iPhone?

Clearly, recent apps for the iPhone have shown that true 3D games are entirely doable: Just take a look a Cro-Mag Rally to see a car racing game using real-time 3D rendering of the terrain.

cmrally.jpg

No doubt plenty of short-cuts are employed for the sake of playability, and the terrains are fantasy places, but the player does get a sustained effect of being inside a 3D place rather than looking at a 2D screen. Same goes for Aphalt 4.

Then there is an actual stab at making a virtual globe: Earthscape does a remarkable job of hiding its shortcuts to create quite a seamless experience. You can zoom in on the globe from above, and then switch to a stationary bird’s eye view to see a 3D terrain view. Both modes get around what must be a very expensive calculation, in terms of processing power: Deciding which 3D pixels come in front of others. In the straight-from-above view, no such calculations are necessary as you zoom in, as you always get to see every pixel on the map, even if it is a 3D map (just travel across the Alps at close range to see the changes in perspective). When you switch to the bird’s eye view perspective, the application spends some time figuring out which pixels come in front of others for your one specific location — and it only needs to do this once, as you can’t look up to the horizon and then travel. In effect, what Earthscape does is construct a 360-degree panorama for your location and then lets you pan and zoom around that. All the work, however, only needs to be done once. You can’t move location while looking around in bird’s eye view. (see comments for clarification.)

earthscape.jpg

Earthscape is an impressive proof of concept, a good app to impress iPhone newbies with. It does suffer from some limitations, currently, that don’t really make it usable as an efficient cartographic tool: It takes a very long time for the resolution to catch up with your zoom, even on wifi broadband; and while some US cities have high resolution imagery, Europe and the rest of the world does not. As a result, the Wikipedia layer included in Earthscape has a much higher level of granularity than the map it is displayed on.

In a way, these criticisms are a bit unfair, as we’re comparing Earthscape to the imagery dataset and data serving capacity of some of the world’s biggest companies, but they do reflect user expectations. I’m sure we can expect future updates to Earthscape to get road layers as well.

In one respect Earthscape has a feature that Google Earth and Virtual Earth haven’t even implemented: A feed of popular photo site Flickr’s “most interesting” georeferenced pictures. There is also a built-in feature to take and upload geotagged iPhone pictures to an Earthscape server, and the ability to see these photos and the most recent ones uploaded by everyone on Earthscape, but these are — for the moment at least — snapshots of people testing the feature. Flickr and Panoramio have proper “postcard” photos.

In sum: At its previous price of $10, I couldn’t really recommend Earthscape as money well spent (other than to review it), but at its current new price of Free, there is every reason to download it, play with it, and offer feedback to encourage further development.

Can we expect to get “live” bird’s eye view soon, in the sense that a 3D view towards the horizon is calculated in real time as we travel across the landscape? [Update: See comments; Earthscape does already let you move around] One iPhone application already does this, and with impressive frame rates: X-Plane 9.

X-Plane is a joy to use as a flight simulator (once you realize that it crashes easily if it doesn’t get to use plenty of unfragmented memory, i.e. restart the iPhone before use). The accelerometer-based controls are especially intuitive, and I hope future mobile virtual globes let us navigate the world in a similar fashion. The most impressive feature of Xplane for iPhone is that it uses the same bit of real terrain as in the full-fledged version (according to Xplane aficionados): The region around Innsbruck, Austria. It’s mountainous, and yet rendered in real-time. And it is $10 well-spent.

xplane9.jpg

Can this be replicated in a virtual globe? There are three short-cuts that I can see that may make it harder for virtual globes to get the same frame rate as X-Plane: 1) the terrain is not downloaded on demand but instead already exists in memory; 2) the textures are quite rough and limited in variety; it seems to me that there is only one level of detail; 3) Plenty of haze ensures that the 3D pixel calculations don’t have to extend too far from the cockpit.

Still, it certainly looks feasible that a true virtual globe is within reach of the iPhone’s capabilities, and I for one can’t wait to play with it.

5 thoughts on “The state of 3D on the iPhone”

  1. Just a note, you can switch to horizon view and then fly around, using two fingers to move forward or backwards, one finger pans up down and around, so it is doing more than just that one 3d snapshot.

  2. I can say for certain that it can be done. Back in 2002 the 3D graphics technology is comparable to what the iphone has to offer. At that time I wrote a 3D terrain engine that ran rather well on an nVidia TNT graphics card.

    The key factors with anything having limited memory and processing capability is to organize your data right, prioritize what to compute, and smooth it all out by doing only smaller changes to your data per update loop.

    So, yes… you’ll see a 3D globe done right on iphone soon. I guarantee. ;)

  3. Stefan:

    A double-tap or pinch & unpinch causes a change in the field-of-view (zooming or unzooming a telephone lens). A 2-finger drag actually moves the camera around.

    BTW: Earthscape doesn’t “really” have two modes — it is always doing all of the occlusion culling and rendering — we simply made the camera orientation a separate mode in order to simplify the user interface on a fairly constrained device.

    While it is certainly the case that once most users download Earthscape, many of them want to take a picture of *something* and see it appear on the globe, we are already starting to get some great (“Flickr Quality”) photos, considering the small camera that is built into the iPhone. See our “Best Of” photos, for example, at:

    http://www.earthscape.com/earthscape/leaderboard/bestof.html

    To get an idea of what our engine is capable of doing running on a desktop, see one of our YouTube videos:



    Best Wishes,

    –Tom Churchill

    CEO, Earthscape

  4. Thanks for the clarification, Tom; I’ve updated the post to reflect this information. BTW, You should write usage instructions somewhere that mention the two-fingered gesture. Not even the instruction video on your site makes it clear that this works.

Comments are closed.