In its current state, pure Java3D is neither intuitive to a geographer, nor is it geography-aware. It has no sense about "the earth" or coordinate renference systems and their meaning. However it would be possible to create a thin wrapping API that hides the Java2D internals (such as TransformGroups and the whole tree approach) and instead provides (geo)object oriented functions.
The geographer would just add 3D georeferenced, styled objects into the wrapped Java3D "universe" and define location and position of the viewer. The underlying implementation would care about:
- conversion of the coordinates from the object's CRS to the geocentric XYZ coordinate system as it is used in Java3D
- conversion of units to meter and so on
- conversion of SLD or other styling information to Java3D styling information
A point to check is how good Java3D could cope with SLD styling or styling in general. I expect this to be rather tricky!