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.
Thursday, February 01, 2007
Saturday, January 27, 2007
Earth halo
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:
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
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.
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.
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.
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.

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.

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.

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.

Tuesday, October 31, 2006
The Balloon Project blog
Today I decide to start a blog for my actual project: The Balloon project !!!
Mainly, three factors motivated me to start it:
Mainly, three factors motivated me to start it:
- The existence of other spectacular virtual globes, like World Wind and Google Earth, (and others less spectacular like WW2D).
- Improve my knowledges about OpenGL, in concrete JOGL, basically to answer the questions: how works a virtual globe? and, how can I implement one?
- The knowledge of the existence of the NetBeans platform and the desire to learn to use it :)
Subscribe to:
Posts (Atom)
