Friday, March 6, 2009

WorldWind Java 0.6 Source available

Access to the daily NASA WorldWind Java SDK 0.6 source code has been made public from the NASA WWJ build site. You will find the announcement and change list in this WWJ Forum post.

So much has been going into the SDK since the 0.5 release in May 2008 it is hard to sort out what the most notable changes and additions are. Here are a number of new features that come to mind.

WWJ 0.6 Airspace volumesAirspace volumes


WWJ 0.6 Airspace builderAirspace builder

You will find a new render.airspace package you can see at work with the examples.Airspaces application. It includes a number of geometric volumes that can follow the terrain. It's main application is to visualize 'air spaces' but there is no doubt it will serve many other purposes. Be sure to have a look at the AirspaceBuilder that allows you to create and edit 3D polygons and spheres.

WWJ 0.6 On-screen layersOn-screen layer manager, status bar and view controls

There are a couple new on-screen layers that replace the status bar and layer manager SWING version and offer control over the view. All the 2D layers have now a 'location offset' property that let you fine tune their screen placement.

WWJ 0.6 Contour linesContour lines

The default tessellator has been augmented with intersection code for line and elevation against the current terrain geometry. This allows to cast rays or compute contour lines that you can see at work in the examples.ContourLines.

WWJ 0.6 Rubber sheet imagesRubber sheet images

At a lot of work has been done on data import and image processing. There is code to import, manipulate, tile, stitch and transform imagery. You will find surface textures you can stretch and warp with the examples.RubberSheetImage application.

The icon layer and renderer can now use absolute elevations and will perform horizon and view frustum clipping if set to do so. This should help handle larger icon populations.

Work has been done to allow several elevation models and data sources to be compounded.

WWJ 0.6 Measure toolsLength and area measure tools

Interactive length and area measure tools have been added - see examples.MeasureToolUsage and util.measure package.

Tiled image layers can now use mipmaps and produce a cleaner terrain rendering without 'shimmering' in the distance. Image blending has been fixed and should allow proper application of semi opaque layers without the 'black edges' we have seen before. However this change had the fog produce 'white edges' so it has been dropped for now - the fog layer.

The applet package has been updated to take advantage of the latest Sun Next Generation Java plugin - more stable and flexible.

WWJ 0.6 Multimedia annotationsMultimedia annotations

A new examples.util package contains a couple useful tools like a browser launcher, an image viewer, an audio player or a slide viewer.

The view sensitivity can now be set. The TerrainProfileLayer can now follow a path. Track markers have been reworked and have now extended and more flexible capabilities. The FlatWorld example has been updated with code to switch from round to flat globe. The place name layer has been enhanced. Web Service Catalog support has been implemented - see applications.gio. There is code to convert WW.net cache...

Many bugs have been fixed, often in response to comments from the World Wind Java Forum users. Thank you all.

More screenshots dating back to October 2008 can be found here.

For all migration related issues, questions and comments, please use this WWJ Forum thread.

7 comments:

Anonymous said...

Looks that the wait was worthy!

Antonio Santiago said...

Impressive work as always ;) I love the contour lines.

What about the airspace volumes performance for a lot of points? Is it fine?

I need to take some time to test the last release.

Anonymous said...

WOW guys good work... this should help out everyone alot!! Can't wait for 1.0!!!

MuMu said...
This comment has been removed by the author.
MuMu said...

Does the function setFilled (in polyline.java) in the WWJ package work now ?
I'm wondering because there are in the new things some 3D polygon, but I tried to use this function and that doesn't work.

Patrick Murris said...

Polyline.setFilled() is not maintained. Please use the new render.airspaces shapes. If you have issues with them post on the World Wind Forum.

Unknown said...

Great and impressive work. Thanks for the developers. Is the licese GPL or something? thanks in advance, take care