Ground Overlay Rendering Is Here

As the title of the post already suggests, I’m glad to let you know that the patch adding support for the rendering of ground overlays has been merged to the Marble’s master branch. 😀

After solving bugs that occurred mainly during the rendering of overlays having a GeoDataLatLonBox with a rotation parameter other than 0, Marble is now capable of displaying ground overlays by simply opening a KML file referencing one.

However, the rotation angle was not the only problem source, as issues also appeared when displaying overlays that extended over the antimeridian. In fact, this turned out to be the most annoying corner case, as dealing with it meant treating multiple situations separately and led to ugly code.

Unit testing has been another important part of the patch, as it was dependent on the GeoDataLatLonBox and TileId classes, to which we added new utility methods that had to be properly tested. One particular method returns the smallest bounding box of a rotated LatLonBox and is particularly useful for filtering out tiles that do not intersect with any ground overlays, improving the rendering performance significantly.

But I guess you might be more interested in what Marble can actually do now, so here are the screenshots you probably expected to see from the beginning (clicking on any of them will take you to an album containing more samples):

GroundOverlay Rendering

GroundOverlay Rendering

GroundOverlay Rendering

GroundOverlay Rendering

GroundOverlay Rendering

The work on the editor mode for overlays has started already, so you will soon be to edit the images in an interactive manner.

Hope you enjoy this new feature as much as I do. Stay tuned! 😀

This entry was posted in Uncategorized. Bookmark the permalink.

2 Responses to Ground Overlay Rendering Is Here

  1. Pingback: Links 8/8/2013: Ubuntu Edge Gets Priced at $695, Bloomberg Backs It | Techrights

  2. snizzo says:

    great work! 😀

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s