Release Notes - Version 2.0

The main reason for doing a major version bump is to introduce API and Earth File changes. But we did manage to sneak some new features and improvements in there as well.

Major Changes:

  • Map API - We reorganized the Map API to make it more natural. This includes new explicit layer classes like ImageLayer and ElevationLayer. There is also a new MapFrame class for performing thread-safe operations on Map content.
  • Config classes - Configuration options throughout are now serializable stack classes, including all the driver configuration options.
  • Util namespace - The osgEarthUtil library is now under the osgEarth::Util namespace, for consistency across the project.
  • Earth file - The .earth file has a new updated format that more clearly lays out options, while maintaining backwards compatibility with "version 1.x" earth files.
  • Caching - Caches now use an auto-generated unique cache ID string for each layer (instead of the layer name). You can still force the old behavior by specifying an explicit cache-ID and setting it to the layer name.

New Features and Improvements:

  • Shader Composition - osgEarth has a new shader composition framework that allows you to integrate your own shader code with osgEarth's core shaders.
  • GPU Layer Composition - osgEarth now defaults to using the GPU to composite image layers, giving you more layers to work with and more flexibility in rendering them.
  • ModelLayers have a new overlay mode for draping geometry on the terrain using projected texturing.
  • New SkyNode utility to simulate sun, stars, and atmospheric effects for geocentric maps.
  • New CompositeTileSource lets you group multiple image layers into one logical layer
  • Updated OceanSurfaceNode sample utility to use the new shader composition framework.
  • New osgearth_shadercomp example demonstrates simple shader integration.
  • Upgrades to the Controls (2D UI) utility library.
  • New osgearth_toc sample demonstrates runtime layer manipulation, and works with any .earth file.
  • Incremental performance improvements throughout the system by minimizing mutex contention and heap allocation where possible.
  • New pluggable terrain engine framework. This will allow us to experiment with next-gen terrain rendering techniques without interfering with osgEarth's current terrain engine.
  • Faster spherical mercator reprojection support.
  • Earth files now use OSG's osgDB::ReaderWriter mechanism for both reading AND writing. Instead of creating an EarthFile class, simply create a MapNode and call osgDB::writeNodeFile.
  • EarthManipulator supports "arced" viewpoint transitions.
  • Added control over the size of the L2 tile cache on a per-layer basis.
  • Improved OGR driver support for mis-wound geometry
  • Improved support for AMD/ATI GPUs, Cygwin/Mingw?, and VS2010.

back to ''About''