We have started the planning and prototyping phase for osgEarth 3.0. This is going to be a major release in which we will make some API changes and do some much-needed reorganization within the code base. We welcome your feedback during this effort!
The main goal for 3.0 will be to simplify the API. It's always been a little cumbersome to create "options" structures to configure maps and layers. We want to push that behind the scenes and make the API experience easier and more intuitive.
For example, in 3.0 you will be able to create an image layer like so:
GDALImageLayer* layer = new GDALImageLayer();
Or, a web-based layer might look like this:
WMSImageLayer* wms = new WMSImageLayer();
As you can see, the idea is to do away with the reliance on plugins for each and every type. There will still be a plugin architecture (mainly for backwards compatibility) but the "3.0 way" of adding a new type will be to create your own custom Layer. It will be pretty easy and there will be plenty of examples.
Since this is a major release, not everything will be backwards compatible. Some projects will need to update code and/or earth files in order to upgrade to 3.0. We hope to provide enough examples to smooth this process, and we'll be here to answer questions as well!
We've created an osgEarth 2.10 branch. This will be the place going forward where we make bug fixes and other updates specific to the 2.x series. New development like performance improvements and bug fixes (that are not directly related to the 3.0 API changes) will be merged to the 2.10 branch.
In the meantime, the new prototyping and development is happening on the "layers" branch in GitHub so you can take a peek.
COMMENTS and feedback are welcome! What's on your wish list? The more we communicate, the better the end product will be. Thanks for your support.