The deviceorientation event enables us to pull alpha, beta
and gamma rotation values. Note that these values are
relative to the current orientation of the device. The
image above shows the axes of a phone held perpendicular
to the ground in portrait mode.
Does 'alpha' really run up-and-down the iPhone while in portrait? The first value is usually the X axis, and usually runs 'sideways' of an iPhone in portrait mode.
Unfortunately, each browser implements depth-sorting
differently and, therefore, has its own issues. The best
we can do to combat the glitchy pop-through of underlying
elements is to keep planes away from each other.
Is there no way to enable depth testing? ie: Using the zbuffer for per-pixel depth read / test / write? You can avoid depth sorting that way, at a small performance cost, and the result looks better.
Nice idea but it's super glitchy in both Chrome and Firefox and it's also very laggy in FF. Maybe it's my video drivers? (FF13, Chrome 18, Win7/GTX 570)
Pages using bleeding-edge tech like this need an easily accessible fallback. I can't find any way to access the content from that Beercamp page in a non-busted-3d format.
Article's example of correct 'depth-sorting' isn't demonstrating depth sorting, since depth sorting sorts entire elements to the front/back - interpenetration isn't possible. For interpenetration like he demonstrates, you have to split scene elements up into smaller elements or depth-sort at the pixel level (modern 3d cards do something resembling an approximation of this via the z-buffer).