Sunday, March 25, 2007

Radar screenshots

Lately I have no time to work on the project. Recently I had improved the Camera class and now I want to work on the GUI.
Here are a couple of screenshots with a radar image taken from http://www.meteo.cat.



Saturday, March 10, 2007

Near a pre-alpha release of the Balloon

Lately I have working improving the Camera class and finally the rotations are much more intuitive and powerful.
The program is able to read simple images (indicating the user its lat/lon position), shapefiles (always expresed in lat/lon coordinates) and images from any WMS server.
For all this I'm currently thinking in releasing a pre-alpha version and get feedbacks of the users.

Thursday, February 01, 2007

A pool of thread

It is not a great and visually spectacular feature, but I think it is very important for performance questions.
I have added a thread pool to manage the execution of threads.

When working with WMS layers, every data request works in a new thread. This can derive (if too many request are made) on a great number of threads working at the same time and with its own resource consumption.
A thread's pool solves this situations limiting the number of threads that can be working in a given moment, and avoiding the massive consumption of resources.

Saturday, January 27, 2007

Earth halo

Among other things, tonight I had worked to make a simple halo around the earth.
Here is the result:

Next steps I am centering on are:
  • Create an editor to easily modify the initial and final time stamps associated to the renderable objects.
  • Represent a time line in the editor window.

Friday, January 26, 2007

Tile improved

Tonight I am very tired, but very happy because I think the project does what I had hoped from its beginning.
Today I have modified the classes responsible to render WMS layers. Now the variable used to request more precise images depends on two factor:
  • The distance of the camera to the earth surface, and
  • the longitude of the diagonal arc of the tile.
v = altitude / arclong

It seems that a proportion until 0.5 is good, then when the value is less than 0.5 it is time to request more little tiles

Wednesday, January 24, 2007

Working on...

Silently the project is growing. Recently some important changes are added to the core classes.

First, I add some support to the core objects to emit signals, for example when an object are added or removed from a group, or when some property (like color or line width) are changed. That brings more independency between the core and the UI. The later can react when receive a signal and, in the case of folders, new objects are added automatically.

Second, I have modified some presentation elements: defining the items of the menus and toolbars and finding appropriate icons for the explored. Also I modified the windows to definitively work in SDI (Single Document Interface) mode.

Finally, and this is a very important concept, I have added time support to the core objects. Now it is possible to set a time of validity to an object, including the camera itself. Given a period to be shown by the camera and a set of object (with or without periord of validity, independently) the camera's actual time advances step by step showing the object that are valids in the specified time position.
Now, I am working of the way to show the time line to the user: show the current visualization time (the cursor), indicate which objects are visible at the cursor position, and so on.

Thursday, December 28, 2006

Tile improved

I have just improved tile images when its source are a WMS sever. Now, when the camera advances to the globe (and depending on its altitude) the set of tiles that composes the globe becomes more populated and with more detail (every tile queries for a more little piece of earth).
The next image show this. The left window shows all the globe with the Blue Marble images composed by 4x4 set of tiles. In the right window a zoom has made centered in Catalonia (Catalunya, where i live :) ).



Also note that the loading process doesn't use the brute force. Tiles that are hidden doesn't query the server for images, that is, only when a TileImage must to be rendered for the first time, it queries the server (or an image file, this depends on a Loader class) for the texture data.

Sunday, December 10, 2006

A couple of new properties

I have just added a couple of new properties on the project. As you can see in the image, the set of shapes (called world limits) can be colored and select its line width.



Also, transprencies are added both to shapes and to images. Now I can overlap images and change it transparency to compare among them.

Sunday, December 03, 2006

Basic shapefile support

Thanks to GeoTools The Balloon Projee can read shapefiles in an easyly way. From now there is very basic support for this type of files, reading only lat/lon values and rendering it as line loops.



Also, the rendering process has been improved modifying all renderable objects to use display lists.

Friday, November 24, 2006

Screenshots

Currently Balloon can load images and, indicating the lat/lot corners, positionig it. Of course the image must be in the lat/lot projection.

Also, it is possible to select a WMS server, choose a layer and load images tiles from it. The WMS import is not finished because it must be dynamic, it is, reload tiles when altitude changes.

To improve the net connection I was developed a basic cache system to store images and load it localy.