CARBON GRAPHICS ANNOUNCES THE AVAILABILITY OF GEO 1.2
PARK CITY, Utah, August 25, 2005 -- Carbon Graphics is pleased to
announce the immediate availability of Geo Version
1.2 - the second major (post introduction) release of the leading visual
simulation real-time modeling and animation package. This release
introduces many cutting edge features as well as bug fixes &
customer-requested improvements.
The main highlights are...
- OpenFlight® V16 Support
- OpenGL® Shading Language Support &
the addition of a new Shader Palette
- New Point & Rotate Manipulators
- Multi-Monitor Support
- Increased 3D Viewport Real-Estate
- Enhanced Multi-Viewport Interaction
Model
- Faster Rendering
- Improvements Across Multiple File
Filters, Tools & Scripts
- TrueType® Font Conversion

New manipulators in action
Detailed feature enhancements...
- Previously, closing and opening the
behavior override dialog would default the delta and default
values rather than retain any user-set values. This is no longer the case.
- The increment/decrement arrow buttons in the
behavior override
buttons continuously fire while the button is being held down - changing
the overridden variable value accordingly. This, however, may not be what
you want! We have added a Single Step check button feature (off by
default) which forces the increment/decrement buttons to increment/decrement
by single amounts of the current delta value. This feature is only available
for overridden integer and float variables.
- Added a new draw style - Proxy On Move. This style forces Geo to
switch into a wireframe bounding shape (currently only bounding box is
supported) when the scene is moved. This is useful when the scene is complex
- resulting in non-interactive updates.
- Rework of the Translate, Rotate and
Scale tools. They have
all been cured of the intermittent "twitchiness" that sometimes
happened when moving a tool grabber onto an existing vertex - especially if
the vertex was adjacent to the grid. This anomaly has been removed and makes
these tools much more intuitive and interactive.
- Revisited ALL tools are reworked the grabber snapping logic
as required. All Geo tools now work much better.
- Added a new Point Manipulator. This Modify tool applies a point
(translate) transform "handle box" on the current selection list.
This is a very interactive way to manipulate existing geometry. The
selection can be dragged using any of the 15 grabbers. Users can disable the
display of some of the grabbers if desired. Clicking on the manipulator box
sides allows the selection to be dragged along the plane of the box-side. By
default the drag snaps in increments of the width/height of the selection
side. This snapping can be enable/disabled via the tool GUI.
- Geo now supports projection toggling in all viewports between
Orthographic and Perspective. This is useful in the traditional "ortho"
views to ensure that point selection is as desired (and not a point in the
rear but displayed coincident with other points). The 'o' key toggles the
current viewport between projections.
- Changed viewport terminology. Previously, Geo had 3
Orthographic
viewports (XY, XZ, YZ) and one Perspective viewport. Now The ortho
views are labeled Fixed View and the Perspective viewport is labeled
Free Camera. Although the Fixed views can toggle into perspective
projection and pan left and right - the right mouse does not allow trackball
rotation. Trackball rotation in Ortho projection is permitted in the free
camera viewport. The Viewport "name" also changes to reflect the current
projection.
- The Fit command has been enhanced to do a pseudo-fit when viewing
the scene in Orthographic projection (it actually scales the scene,
since no depth changes can be ascertained when viewing through an
orthographic projection).
- Fixed View grid handling has been improved. Now the first pick in one of
these windows (regardless of projection) will reset the view grid to the
depth of the initial pick. While the mouse is held down the grid depth will
be at the depth of the picked point.
- Improved the picking behavior in Fixed Views
(previously known as
Ortho views). Previously, ortho views had their own distinct behavior - i.e.
snap to existing vertex was not supported. Now the behavior is just like the
perspective view. Snap-to-vertex is supported in the fixed views
under both orthographic and perspective projections. Default
pick behavior is the fixed-view grid. If you only want to pick along/on the
grid - hold down the CRTL key when drag-picking.
- The SDK command: geoTool::getOrthoPick(...)
has been
deprecated. As of this release Geo does not call this function upon ortho
(now known as Fixed) view pick. The premise is that determining the
appropriate 3D point to send to tools should be taken care off by Geo and
not up to the running plugin. No code change required in user plugins - the
method will just never be called. Geo now routes Fixed-View pick info
through the getNodePick and getGridPick methods.
- Added a new Rotate Manipulator. This modify tools allows users to
directly grab and rotate any selected items by click-dragging on the edges
of a rotation "handle-box" that surrounds the selected geometry.
- Fixed the following bugs in the VRML 2.0 export plugin:
- Files with one RenderGroup child would not export correctly -
resulting in an info node in the VRML file and nothing else.
- Texture coordinates were not being exported.
- Enhanced the OpenFlight loader and exporter plugins as follows:
- Geo now provides a user preference to export
LightPt Appearance & Animation Palettes
- Previously, Geo correctly load these if encountered but would export
discrete 15.7 light points (a still valid option within Geo and for the
OpenFlight format). Now, LightPt palettes can be written if desired.
- Added a command-line executable - vfnconvert.exe that converts
any existing truetype 2 font into a Geo/DWB .vfn format font. The
utility creates a vfn font with both vector (outline) and polygon
information.
- OpenFlight 16 import/export support
- Shader Palette Added
- Render support for OpenGL Shading Language (GLSL)
- Property support for Cg & CgFX (ie OpenFlight files using Cg will have
properties retained but will not render)
- Geo format now supports shaders
- Geo Plugin SDK enhanced accordingly
- Added a new Multi-Group Texture Sorter plugin. This plugin splits
up the polygons in the selected groups into new RenderGroups that only have
polygons with similar base texture unit usage. This operation will result in
a maximum of 9 new RenderGroups added to the scene. Find this plugin under
the Optimize toolbar. For this to work well all polygons should have
a similar rendering mode, material etc. - ideal for files containing many
(different) tree or foliage textures.
- Added a new Polygon attribute - Footprint. This identifies the
Polygon as being a cultural footprint polygon (i.e. a 2D shape outline such
as a building or forest). If footprint is set - the SMC and/or FID fields
should identify what the footprint is.
- Fixed a problem in the OpenFlight importer/exporter. Apparently
the new 16.0 specification corrects the polygon drawstyle flag values -
previously it was reported that open wire and closed wire were swapped -
meaning that a closed wire polygon in Geo would be open wire in Creator.
This has now been fixed.
- Fixed a number of bugs/limitations with the automatic snapshot
generation capability within Geo - This was automatically done when a geo
file was saved into the models directory (to be part of the
model-part library).
- Added a general snapshot command (see
View->Snapshot...).
This command opens a file-save browser and allows the user to name & save
the current viewport display as a bmp file. By default the
image is the same size (downsized to the nearest multiple of 4 in each
dimension) as the current active viewport.
- Added a new SDK (and GeoScript) command -
static
geoView::snapshot(int size=GEO_SNAP_THUMBNAIL_64,bool auto_save=true).
The first parameter controls the size of the snapshot and can be one of the
following:
- GEO_SNAP_THUMBNAIL_64
- GEO_SNAP_THUMBNAIL_128
- GEO_SNAP_THUMBNAIL_256
- GEO_SNAP_VIEWPORT_DIM
- The second parameter determines whether a bmp file is auto-saved into
the current file's directory or the file-save dialog is opened. By default
thumbnails are created and the user does not choose the file save location.
If the user wanted to just create a thumbnail from the current scene view
they could enter the following (equivalent) GeoScript command in the command
entry bar: geoView:snapshot(GEO_SNAP_THUMBNAIL_128 ,true).
- Also added a new GeoScipt command: geoView:fitCloser(). This is a
simple command that does a fit and then brings the model in towards the eye
point to half the distance of a normal "fit".
- Added a new script to the Scripts directory -
snapshot.gs that
runs through all importable files in an existing directory - loading each,
then saving a snapshot back into the original file's directory.
- Fixed a number of problems in the VRML
import plugin:
- Rotate transforms were being ignored. No longer.
- Geo was interpreting the transform order incorrectly - resulting in
misplaced/scaled geometry.
- Fixed a bug in the LightPts By delta tool - if you invoked this
tool and immediately invoked another, Geo would crash. Not any more.
- Fixed a bug in the Place Tool that would crash Geo. Clicking [Done]
immediately after starting the tool would crash Geo if the selection contained
externals.
- Scripts without a corresponding .gsd description file in the Plugins
directory will now only be loaded into the Scripts menu - but not the Scripts
toolbar (avoiding the messy text overwrites).
- Slim Verts are not compatible with the 'Apart' faces operation. Now if
these are detected in the selection (or entire model if nothing is specifically
selected) a dialog box is popped up to warn you of this fact.
- Added new selection properties to the user Preferences page: It is now possible
to draw selected groups or polygons as either a wireframe outline (the previous
& still default) or as a bounding box. Further, it is now possible to tell Geo to zbuffer the selection draw (either type). If bounding box selection is set you
can also choose to draw the entire bounding box or just the box corners.
- Added a large number of new properties to the Header record. These are
fields associated with map projection & global location.
- Enhanced the OpenFlight import & export plugins as follows:
- Fixed some bugs associated with packed colors. This was especially
noticeable with Light point files exported from Geo.
- OpenFlight map projection fields no longer create user data
extensions - these values are written into and read from the new Geo
Header projection fields.
- Fixed a number of bugs associated with reading and writing double precision
lat/long & database position/offset values from the header record.
- Overhauled the Geo 3D viewport updates. In 1.1 Geo continuously updated
the viewports even if no user interaction was happening - this could
seriously slow down the GUI with a large model loaded. This is no longer the
case and Geo is much more intelligent as to when to redraw. The overall effect
should be a greater perceived performance.
- Made the following improvements and bug fixes to the
Aechelon HIE import & export plugins...
- The GROUP_LIGHTGROUP value was not being read and retained when imported
from an Aechelon .db light point file. This value is now properly
interpreted and retained.
- LIGHT SIZE field was being ignored in the Aechelon
.db light
point file. Although the interpretation of "what" the size field means in
HIE is different to Geo (and OpenFlight) the size value is assigned to both
the min and max Geo light point pixel size field. The average of these two
values is used when writing the SIZE field during an Aechelon export.
- Added API that allows tools to query which viewport they are currently
rendering into (either 3D, Front, Side or Top). Tools could
use this information to either not draw or control drawing based on the
target.
- Various tools exhibited a display bug (i.e.
Strip-Face, 3-Point
Texture Apply) when dragging grabbers in the scene - the cursor
would "flash" as if some extensive operation was underway. This has now been
fixed.
- Geo File Chooser now remembers the last file directory that was loaded
from/saved to between calls and across Geo startups. The initial file
chooser directory is the GEO_DIR/Models directory.
- Previously turning on behavior with multiple viewports visible would
cause the behavior to go faster! (internal variables were being updated by
each view). This has now been fixed.
- Previously clicking the Add button in the
Material Palette
would add the material but not cause a redraw of the palette - therefore
giving no visual indication that the operation had worked. This is no longer
the case.
- Mesh nodes did not display their selection highlight when viewed from
the back side (unlike normal polygons). This has been fixed.
- Changing the viewport size/display - by dragging the
splitter windows
-
would previously display incorrectly during the dragging process. This has been fixed.
- Exposed geoEvent mechanism - so that plugins can be notified of
key Geo events - currently implemented Viewport Size Change and Node
Delete notification. In the future additional information will be
accessable via this approach.
- Enhanced the Task Plugin. Task Plugins (from Geo 1.1) were
plugins that were called every frame & provided update, preDraw
& postDraw methods. Typically these could be used for things like
reading network traffic values and updating behavior variable values. In 1.2
Tasks can also be used for persistent tools! or features that act
like tools. Tasks can now have an (optional) menu item & tool bar icon. When
either of these is clicked the plugin's (new) invoke method is
called. This call doesn't make task plugins start (or stop) - since, as
before, the update/pre/postDraw methods are automatically called. User task
plugins could however use the invoke method to bring up their own GUI's.
- A Task Plugin source code example has been added to the SDK
distribution.
- Fixed the visual "tearing" associated with the edges of the 3D
viewports - visible when the viewport is very small.
- Changed the way the property panel is displayed/interacted with within
Geo. In 1.1 the property panel (which included tabs for the color, material,
texture palettes, selected node's attributes & model part library) was
always visible and part of the desktop. In 1.2 the property tabs are
controlled by radio buttons down the right-hand side of the desktop. If no
radio button is selected (e.g. for node attributes) then no panel is visible
and the 3D viewports expand to occupy the extra space. Also added two extra
user preferences that control the new slide-out panel behavior - one
to specify whether Geo starts up with the property panel collapsed (default
on) and another if Geo should dynamically manage the panel based on whether
something is selected or not.
- Added a new optimization flag for all LightPts -
Quality or Speed are the values. Default is Quality.
- Changed the Light syntax for PSI comments. Modified the
PSI Read
Comments.gs & PSI Write Comments.gs. Added PSI Read Old
Comments.gs & PSI Write Comments.gs scripts that map the
old syntax into the new fields & vice-versa.
- Added a Var Count property to the Behavior Variable List Dialog -
this is helpful in seeing how many external vars are associated with the
loaded/created file.
- Support if Multiple-Monitors added. Specifically it is now possible
(through a View preference) to detach the display viewports (the 4-views) from
the Geo desktop and position it on the second monitor. Note: The Geo desktop
should always be located on the first monitor display.
- Added a new script that takes care of external files using a different set of units as the master file (i.e. feet versus meters).
- Added the new view preference option to allow the favorites toolbar to
"float" in a dialog. When the favorites toolbar floats some
additional capabilities are provided:
- Sections of buttons can be separated by text labels - for user-defined
groupings.
- Scripts can be loaded and displayed alongside compiled plugins
(something that is not possible in the standard toolbars).
- The File, Edit, View, Select & Database toolbars are not loaded from
external plugins. These "tools" are available in the dialog by listing
special tokens (specified in the Readme.txt file found in the favorites
directory). This makes it possible to create a floating favorites dialog
that has all commonly used tools - negating the need to use the main
toolbars unless a rare-usage tool is required.
- This effectively gives Geo 4 levels of tool invocation - Menu
(everything), Toolbar (almost everything), Favorites Dialog (user-decided
common tools), Keyboard shortcuts (very common operations).
- Added a new Selection tool under the Select menu -
Polygons
w/NAN-Value Vertices. This command will select all polys that contain at
least one vertex with an invalid number value. This was discovered after
loading some OpenFlight files generated in a third-party product (for which
OpenFlight was not its native format!).
- Added support for correct identification of graphic card's that support
OpenGL 2.0.
- Added support for UserRecs, LineStyle Palette & Billboard flags
in DWB import & export plugins (all implemented as extensions).
- Added support for DWB LightPt nodes in DWB import/export plugins.
- Polygon's now have a Surface Material Code (SMC)
and Feature
ID (FID) fields (previously these were extension fields when loading an
OpenFlight model ). These can be set within Geo or offline (in a GIS
package for example) to the appropriate surface material and/or feature ID.
These values are categorization values defined in various vector formats
including DFAD, VPF and SEDRIS. We intend to actively use this
information for file post-processing.
- Added a new Put (modify) plugin. This command is like a
translate and Project command put together. It was required
because database foliage layers were left "high and dry" after the
underlying terrain had been simplified within Geo (using the optional Simplify automatic LOD generation plugin). This command acts like the
project tool in that all items that need to be "replanted" must be selected
first and ideally moved above the terrain. Next make sure the grid normal is
pointing in the direction that the items will move (see Project tool
documentation for more information). Click the Put icon and the items will
all be repositioned. If Objects are selected they will be put as objects, if
polygons are selected they will be moved individually - same goes for
vertices.
- Added a new menu option in the tree view -
Select Siblings. This
avoids the need of multiple Ctrl+Picks when trying to add multiple children
of the same parent to the selection list (use Ctrl+Pick on any sibling that
you do not want in the selection).
- Added a new GeoScript command: geoTool:execute. This makes it possible for
GeoScript to execute any defined execute plugin methods.
About Carbon Graphics
Carbon Graphics LLC is an innovative company
specializing in software products & services for the Visual Simulation
market. Their flagship product is Geo - a 3D modeling and animation tool used
for building, editing & animating dynamic real-time models and scenes. Visit
the Carbon Graphics Web site at http://www.carbongraphics.com
For further in formation regarding this press
release or Carbon Graphics, please contact:
Alison Weckler, Director of Marketing
Carbon Graphics LLC
(435) 649-9874
alison@carbongraphics.com
Carbon
Graphics and Geo are trademarks of Carbon Graphics LLC. Any other trademarks or
trade names mentioned in this press release are the property of their respective
owners.