modsim.org Geo Product Review

File Format Support

Next: Terrain Generation

The world could have been a great place if we could just plug in any modeling software we like and get the 3D models to the IG software. Real life is unfortunately much uglier. We have to use propriatery, neanderthal, hard-to-extend file formats, on which we don't have control at all. However there is a reason for all these formats to exist. The other formats do not support visual simulation specific features, such as lightpoints, switches (in the way we define them) and others. Collada, 3Ds, Direct X and similar formats are designed by people or communities with quite different interests. For them adding fancy shader support is much more important than adding and debugging boring LOD's. Expecting these formats to comply with our requirements in the vissim industry is far too optimistic.

Appearantly, 3 major file formats have influenced the design and the workflow of Geo: OpenFlight(TM), Geo and HIE (from Aechelon Technology).

“Geo” file format

Like each modeling tool, Geo saves and loads from its native format best. The format includes not only runtime geometry information but also other information only used by the modeling tool itself.

Carbon Graphics has published the specification for its native file format .geo. This specification allows any developer to write code to parser and produce .geo files. Since .geo natively supports everything, it is a superset of FLT, DWB and HIE. So you are likely to find anything you can imagine in the geo file format.

Currently, the only publicly available loader is for OpenSceneGraph. IG developers have multiple options to support Geo, the most straightforward option is probably the Geo DB library from Carbon Graphics. Source code license to Geo DB (SceneGraph) C++/OpenGL Library (this is the Geo foundation library & includes the Geo renderer and .geo file format support) is also available for purchase.

OpenFlight(TM) Support

The de-facto standard OpenFlight(TM) is the least common denominator among almost all the software systems we use nowadays. So our question is, of course, how good is the OpenFlight(TM) import/export of Geo.

A through test of OpenFlight(TM) import and export is beyond the scope of this article (and probably humanity), however we went ahead and downloaded the free Delta3D data files and used them to test Geo's OpenFlight(TM) import capabilities.

Model

Status

Geo

OSG Viewer

F18c

OK

Click Here


Mi 24 Hind

OK

Click Here


T72

OK (Needs 1.2.2)

Click Here

Click Here

M1126 Sstryker

OK (Needs 1.2.2)

Click Here


LHD-1

OK

Click Here


Mountain Site

OK – See Screenshot

Click Here

Click Here

Shoot House

OK

Click Here


 

HIE Support

Geo supports import and export of the HIE file format from Aechelon Technology. It is possible to find some new node and attribute types in Geo some of which are actually there for HIE support. Such as CullGroups. Andy Bushnell was kind enough to give us details about CullGroups and HIE support in Geo:

CullGroups are an example of a Group type that maps one-to-one with a Group type found in the Aechelon Technology's IG run-time format (known as .hie). They are big in US but havent needed to push much into European market. Geo is tightly coupled with Aechelon providing direct creation and manipulation of hie features. IMHO .hie is a much cleaner/powerful format that .flt. So supporting .hie features forces us to improve the overall product. For example .hie supports articulation engines driven by state machines (usual Geo behavior is data-driven by changing simulation variable values). We added state-machine driven behavior to Geo for them and integrated it into the existing behavior system as a powerful alternative way of doing multiple dependent behaviors. Other hie features are LineAAGroups, Multi-SampleAAGroups, Fade, Z-OffsetGroups etc. They also do a lot of optimization at the "object" rather than "poly" level (a-la-flt). Anyway geo supports hie (and the lightpt database + binary geometry pto files) seamlessly.

DWB Support

DWB is almost an outdated format, however there are still applications such as FlightViz from SimAuthor which use DWB for instrument panels. Eic Torianyk of SSD-ILS has told us about their experience working with Geo and DWB:

The use we have for a program like Geo is to edit 2D instrument panel models under a program called Flightviz that SimAuthor has developed. These models, I suppose, can be complex due to the amount of behaviors that exist within. They are duplicates of instrument panels used in our aircraft simulators. Digital EFIS displays, various gauges like altimeters and flight controls. The 3D models are probably less complex but are models of the aircraft itself with some moving parts like flight controls, gears, propellers, etc… All of these behaviors are moving parts that have an action when the runtime feeds data to it. We basically record pilot training sessions in the simulator which then get played back using Flightviz during the debriefing where the 2D and 3D models react on what was recorded during the session. Geo allows us to add, delete or modify any part of the models. It has great texturing capability as well.

Next: Terrain Generation
Discuss this article
Back to Portal | Contact Us | ©2005 modsim.org | All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest (c) 2003 by modsim.org