3D Nature’s 3D trees: Colliding COLLADA standards?

3D Nature has now published an example KMZ file showing off how its exported 3D trees look in Google Earth 4, using COLLADA. These trees are “crossboards”, Xs of two transparent 2D tree images:

trees3dn.jpg

Google Earth 4 does render these COLLADA objects, but not without problems that lead to flicker and wrong choices regarding transparency rendering. 3D Nature says it’s because Google Earth doesn’t properly render COLLADA objects in some cases:

… Current releases of GE4 do not seem to properly z-sort polygons that have transparent textures (like our trees) resulting in some display artifacts on trees. 3D Nature has verified that our transparent COLLADA tree objects do work properly in other COLLADA-supporting applications, so this is a fix that will have to be made by Google.

3D Nature’s Chris Hanson adds in an email:

Basically, GE doesn’t seem to be z-sorting the transparent tree polygons the way realtime transparency requires. Maybe they’re just sorting on a per-object basis and not sorting on a per-polygon basis. Either way, it leads to occasional strangeness. This is why we normally prefer billboard trees — they work fine with per-object sorting — but GE4 doesn’t offer billboarding.

We could entirely do away with the need for z-sorting by using an alpha clip mode (binary transparency — fully transparent or fully opaque, nothing in between) but COLLADA doesn’t seem to offer that option, so there’s no way to communicate it to GE.

In any case, I don’t think trees are Google Earth’s biggest priority, so I don’t know if this issue will ever get much attention. I expect if you made a similar object in SketchUp it too would suffer the same problem.

WorldWind will suffers the same problems, as I don’t think they z-sort anything either, but it appears that the DirectX .x 3d object format they adopted (and we have implemented support for) offers alpha-clip mode.

Kaon Interactive’s Joshua Smith had a similar complaint in an interview by Avi Bar-Ze’ev:

But COLLADA is still very rough around the edges: Google Sketchup is starting to flood the market with not-quite-valid COLLADA files (which could lead to a repeat of the whole “it’s wrong, but it works in IE, so it’s right” HTML debacle).

And that would suck. But Google Earth 4 is still beta, so it’s early days yet when it comes to COLLADA support.