Real-Time Modeling Tools

GEO was a modeling tool, developed by Carbon Graphics, for the real-time visual simulation market. It was a competitor to Multi-Gen, and Designer's Workbench.

The GEO application has a plug-in software development kit which permits developing tools, importers, and exporters. I was the first developer to use the SDK to develop plug-ins for GEO, starting before version 1.0 shipped.

Below you will find a list of the GEO plug-ins and GEO related stand alone applications that I have developed. All of these tools are specific GEO implementations around technology layers, which permit the same technology to be used in other applications. Most of the tools (for development purposes) also run in their own stand alone applications.

Simplify is THE tool for LOD generation and basic model simplification. Simplify evaluates the current model or selection in GEO, then allows the user to interactively change the polygon resolution of the model using a simple slider! The GEO display updates as the user adjusts the resolution. The user can simply adjust the slider until the model's visual display and polygon budget meet their needs.

The tool also allows the user to specify the importance of features in the model by painting a weighting scheme on the model. This allows the user to preserve features that are important for any number of reasons, but the simplification process may have no way of knowing. Perhaps the model attaches to another model and therefore the model needs to remain detailed in this attachment region. The importance information is even stored in the GEO file so it can be loaded at a later date and processed.

A model automatically simplified from 14,670 polygons to 845 polygons.
Terrain Importer (DEM/DTED)
The Terrain Importer provides plug-ins to support loading DEM, DTED, and SRTM terrain files. For those people who don't own terrain manipulation applications, these plug-ins allows you to load a terrain files into GEO, and manipulate it for your specific needs.

The plug-ins provide the ability to reduce the polygon count of the terrain via either uniform or adaptive reduction. The uniform reduction downsamples the terrain then produces triangles on uniform sampling rates. The adaptive reduction technique will produce a triangulation of the terrain which meets a specified error threshold. For example, the user can select a maximum error of 25 meters and the plug-ins will produce triangulations which don't vary from the base terrain by more than 25 meters at any sample location.

The plug-ins support both vertical and horizontal datum conversions, generating all of their output in WGS84/EGM96. They contain accurate geoid models for performing these conversions.

A DEM file, imported, adaptively triangulated to an error threshold, then shaded.
Reality Shader
The Reality Shader tool allows the user to give their models the look and feel of global illumination with none of the run-time cost. The plug-in computes the ambient visibility term for the model's vertices, storing the results in the model. The ambient term can then either be used by the run-time system in its lighting equations, or the plug-in can be used to burn the ambient lighting into the model's colors!

The image to the right is a view of the ambient lighting term, as displayed in the plug-in. Notice the soft shading and shadowing that the plug-in is able to give to a model. There is no lighting enabled in GEO for this picture!

A display of the Reality shader's ambient lighting term automatically computed for a model.
Instant Shadow
Are you tired of creating shadow geometry for your model? Does your model's shadow look fake? Instant shadow will compute in a few seconds a shadow for your model! It can create soft shadows and hard shadows. Your models can now have different shadows for different lighting scenarios. Once you see Instant Shadow you will laugh at the flight sim demonstrations that use hard shadows when it is a rainy day!

This plug-in generates a shadow texture using accurate area lighting techniques but with the blazing speed of using a hardware graphics accelerator to do the computations.

The second image on the right illustates how the Instant Shadow and Reality Shader plug-ins combine to produce an extremely realistic model in under minute! Load the model,generate a shadow plane, generate the ambient lighting effect, and you have a model which can be run in any SceneGraph / run-time with amazing realism.

A model, fresh after import, with the simple click of a button and voila a beautiful shadow.

Same helicopter with the Reality Shader plug-in generated ambient shading.

GeoReal is the latest in tools for Carbon Graphics GEO users. GeoReal is not a plug-in but instead a stand-alone application for GEO files. It allows users to animate their GEO files using their existing simulation data! GeoReal will display and animate a GEO file, in real-time, using the animation behaviors attributed to the model in GEO. You can drive the animation variables via Shared Memory, TCP/IP, UDP, or data files. No programming is necessary. GeoReal provides all these communication mechanisms right out of the box! It comes in a standalone console style application, a GUI application, or SDK version.

More information about GeoReal can be found by clicking Here.

A simple example of GeoReal animating the tank file using communications mechanisms to steer the tank from simulation data.
Tick Tools
Developing models for instruments requires the ability to lay out tick marks. This project produced a set of tools for developing radial and linear tick marks. The tick marks can be interactively adjusted for size and layout. Automatic labeling of tick is also provided.

A radial set of ticks being developed in the tool.
GEO allows the user create triangle strips and quad mesh strips, manually. The Mesher plug-in automatically generates triangle strips and quad mesh strips from a model! It processes models in only a few seconds and preserves all attribute discontinuities. Don't leave it up to the run-time loaders to mesh your models! Now you can take control of the process!

In the image to the right, the Mesher plug-in replaced 14,010 polygons with 3,192 strips, while preserving the appearance of the model. This amounts to an average strip length of over 6 vertices or 4 polygons.

A model that was meshed into triangle strips in a matter of seconds.
Lofting Tool
The first plug-in developed was the lofting tool. It applies the algorithm developed in the lofting project (Click here for more info on the lofting project.) The lofting tool generates triangulated surfaces which stretch between contours of varying geometric definition and orientation. It supports both closed and open wire contours.

As the first 3rd party plug-in, Carbon Graphics was impressed enough with the plug-in to ask to ship it with their product. Therefore, when you loft in GEO, you are using my plug-in!

Lofting between a number of circles, and polygons. Simply illustrates the tool functioning in Geo
Delaunay Triangulation Tool
The second plug-in developed was a delaunay triangulation plug-in. It performs delaunay triangulations on a selection of vertices, using the modeling grid to define the plane of triangulation. This can be useful if you want to modify a terrain by hand, or generate a terrain using a pseudo-random vertice placement scheme.

Some of the technology was taken from my Delaunay triangulation project. (Click here for more information about the Delaunay Triangulation project.) To that, new technology was added to support arbitrary surface definitions for the triangulation surface. Currently, the tool does not have UI to allow using any triangulation surface except the grid plane, but the algorithm can support more.

Delaunay triangulation from a selection of vertices.
DXF Importer
Support of the many 3D formats that models may be save in is essential. To this end, a DXF importer was developed to provide access to the millions of DXF for GEO users.

DXF file imported into GEO.
3D Studio File Importer
The third plug-in developed was a replacement for the 3D Studio file importer that shipped with GEO 1.0 and pre-release versions. This plug-in handles materials, textures, and structure better than the default 3DStudio loader. It is also more robust. The plug-in produces the minimum number of render groups, in GEO, to correctly reproduce the 3D Studio Meshes. It also removes degenerate triangles from the model.

3D Studio file imported into GEO.

Model from