GL Studio Puts Simulators On The Desktop - page 3
Sophisticated Desktop Environments
Versions of GL Studio are available for Microsoft Windows, Linux, and the Java environment. DiSTI has recently completed FC5 and SUSE 10.0 ports. They will release 64-bit version shortly.
Naturally, in order to run smoothly at full speed, hardware accelerated OpenGL is needed on the display machine. The nVidia graphics cards are well supported under Linux.
It's possible to use software acceleration, although the performance is not great. Refreshes and video quality depend on the number of objects and actions taking place in the scenes.
The choreography of a simulation, across machines, can also be complex. For example, DiSTI has an E6-B trainer (Prowler aircraft command and control), that uses 25 monitors and 10 PCs.
C++ is used for programming of the interfaces (object models) and behaviors under GNU Linux. Windows users can use Visual C++ on that platform. Java is used for Web applications, with the JRE 1.4.x or later series runtime. The 3-D objects also work with Java Beans and Java Swing. DiSTI also has embedded C++ support for use in safety critical systems.
Graphics are edited with applications like the Gimp and Photoshop. The DiSTI In-house graphics artists use 3D Studio Max.
Customers can create all their objects from scratch, if they want. A less time consuming process is to create the objects based on photos or CAD models. The movable parts of the object are left off (like gauge hands) or cut out (like a rolling counter). This static object becomes the mask and then the moving parts of the display are coded using GL Studio. When the objects are brought together in the simulation, the hands can spin around the center of the gauge or the numbers can roll over in the little cut-out window.
The process keeps the number of animated objects to a minimum and lets designers build inventories of commonly used objects for use with other objects.
DiSTI recommends that management of the objects be based on the design file, not the generated code.