VTP Release Announcements

Releases are announced on the vtp mailing list.  Here is a summary of releases from the present back to the beginning of 2004.  There was generally a release every ~2-4 months from 2001 to 2009, farther apart since 2009.  This is the high-level document; code-level changes are in the changelog.

<release 1.5 (130211)>

Elevation Layers: As many TINs as you want, each with opacity, geotypical texture and/or colormap.
Add/remove elevation and vegetation layers at runtime.
View: Vertical Measure Line, to show the elevation of each elevation layer.
Improved copy/paste of building styles (via right-click popup menu).
Building popup menu: Set Eaves to length.
Toolbar button for Ephemeris.
A dynamic wind turbine (in the standard data).
Improved highlights on selected buildings to fit the building, instead of just a bounding sphere.
Layer Dialog: Support 'activate' (double-click, enter) on structures as a shortcut for Zoom-To.
Layer Dialog: display the id/name for buildings (if they have them).
Abstract layers: added "LabelOutline" option for text labels.
Support drag-and-drop-in of VTST, VF, and TIF files.
Terrain Properties: exposed Geotypical Texture option for TINs.

Fixes and small changes: Fixed text labels colored from field, added a visual appearance for gravel paths, re-arranged options dialog to not be so tall. Fixed flight speed saved to terrains if you were not in navigate mode. Avoid crashing when trying to make a Felkel roof from a degenerate polygon. Fixed toggle of primary surface (F3) to work with TIN surface.

Improved terrain carving to use a weighted contribution of each road, and use buildings.
Support for writing floating-point elevation grids to GeoTIFFs.
OSM import: support building:part tags, support fence_type, import id as a tag for every structure.
OSM roads: support the parking:lane, sidewalk, and oneway values.
OSM powerlines: Import as Utility layers, savable to .osm.
Improved "Raw: clean geometry" to remove polygons/polylines with not enough vertices.
Improved Grid-to-TIN to omit NODATA areas.
Elevation: Create Layer from Arithmetic (inputs can be grid or TIN, result is a grid).
Elevation: Export to auto-scaled Unity-style .raw files.
Draw a center for roads with more than one lane, so you can see how left and right width may differ.

Fixes and small changes: Fixed the (10-year-old!) bug that caused elevation layers to shift when zoomed in. Much better error reporting in many cases of elevation import. Fixed offseting of linear structures and utility poles. Fixed State Plane dialog.

Extend VTP's road datamodel to support parking and sidewalk left/right instead of just yes/no.
Smoother and less obtrusive progress dialogs in many cases.
Do a better job of providing good default options if the options files aren't found.

For developers:
This release is building and running quite well on Linux, and it finally builds well on Mac.

<release 1.4 (130101)>

Made vegetation a full layer type, so you can have more than one of them per terrain.
Right-click popup menu commands to copy/paste building style.
Support toggling Ocean Plane after a terrain is created.
Support for anti-aliasing (multisampling), in global options dialog.
Add confirmation on exit, whether closed by Esc key, Quit menu, or Close box.
Fix the Velocity flyer to be useful with a Damping factor in the terrain params and camera dialog.
Mouse scroll wheel moves forwards/backwards with flyers, with Shift key to accelerate. 
Improved UI for making linear structures, so it's easy to start and end features.
Support pressing "Esc" to cancel making any linear structure or building.
Removed limitation of a fixed palette of 216 color shades per colorable building material.
Layer dialog defaults to visible.

Fixes and small changes: fixed mouse handling (which was preventing the compass grab from working correctly), fixed the LOD dialog up/down spin control, hide the tileset status if our current terrain has no tileset, increased Fog range from 10-50k to 50-80k, fixed camera position when switching between terrains, added more initialization steps for smoother progress reporting, sped up some elevation/texture operations, put a translucent strip on the Elastic line when making structures for better clarity, fixed the appearance of toolbar icons in the Layer dialog.

OpenStreetMap: Import structures, better road topology, and many more details from OSM files.
Support drag-and-drop import of files which can produce multiple layers (NTF, OSM).
When editing road points, highlight the point under the mouse with a circle.
Improvement in handling of species files: use the location of the default file in the open dialog, ask the user if they want to automatically load the default species.
Support picking of raw 2D polylines, refresh view when a highlighted item is deleted in the feature info dialog.
Support alpha values when sampling imagery from out-of-core to a tileset.
Raw Layer: Convert polylines to polygons.

Fixes and small changes: fixed flipped drawing of Image layers, fixed reprojection of linear structures, always mark layers as modified when they've been reprojected, show progress dialog during OSM import, fix elevation vertical offset so that height extents are updated, made Contour generation more robust.

Structure Instance dialog: add 'Create' button for manually adding instances at a given location.

Add toolbar button to cycle through OSG statistics.
Save models to any of OSG's supported formats, including the new extensible ones (.osgb, .osgt)

For developers:
Years of overdue code cleanup occurred, file and class naming is more coherent. Shell scripts for managing the i18n files were checked in. CSS for all the documentation is centralized.

<release 1.3 (121210)>

Terrain option "Plants: Use Shaders" for much faster forest rendering.
Labels (floating text) are outlined for better readability.
Fixed "Play animation to disk as a series of images"
Fixed support for SpaceNavigator.
"Save High Resolution Snapshot" available on all platforms.
Support for Joystick on all platforms.
Drag-n-drop of 3D Warehouse KML models into Enviro.

Import TINs from PLY, export them to PLY, DAE, WRL, OBJ, DXF.
Renamed "merge and resample" commands to just "sample", simpler and clearer.

For developers:
We've moved up to newer versions of many dependencies, most notably GDAL 1.9.2, wxWidgets 2.9.x and OSG 3.0.1.

<release 1.1 (110804)>

Exposed support for more stereo modes: Horizontal and Vertical split.
Options to enable joystick and spacenavigator, rather than just always using them if present.
Smooth continuous update when making buildings.
Option to constrain building point to right angles. Deter user from making bad points.
Made support for Collada (.dae) more explicit in the UI.
Display the version number in the startup dialog.
Added 'every N meters' option to Contour dialog, making it significantly more useful.
Changed 'Move' mode to use Alt modifier key for up/down, to be consistent.
Fixed issues with: support for elevation grids with non-unit vertical scale; removing layers from a terrain; saving snapshot and high-resolution snapshot; buildings with a Geographic CRS; draping of 2D polylines on terrain with vertical exaggeration.

Raw layers: Draw polygon holes as dotted lines to tell them from outer edges.
Command Raw: Clean polygon geometry and Raw: Select bad geometry.
Command Elevation: Generate Contours.
Renamed Layer Flatten to Layer Combine. Support for combining TIN layers.
Export TIN as GMS.

Fixed many dialogs to make "OK" the default button, not "Cancel".
Fixed Distance dialog Line/Path buttons.

Command to fix ambient materials in dark models.
Command to fix normals (apply smoothing).
Fixed lighting issue which was causing untextured models to appear white.

For developers:
The OSG interface code continues to get cleaned up. Some obsolete parts were removed, including the 'mfcEnviro' app and vtTerrain's '4x4 textures'. We've begun to prepare for OSG 3.0 and wxWidgets 3.0.

<release 1.0 (110701)>

New "-elev=file" command-line argument allows Enviro to function as a simple BT/ITF viewer.
Made Layer View dockable (like a regular GIS program).
Allow abstract features from anywhere, not just the data path.
Made default 3D cursor thinner and consistently colored
Enabled rendering statistics ('x'-key).

New commands to scale and offset vertically (for 3D raw layers).
Raw point import from CSV supports CR as end of line (in addition to LF and CR-LF).
The TIN reader handles more variations of the "GMS" (now Aquaveo) TIN format.
Fixed display of materials in Linear Structures dialog.
Made 'Generate Grid from 3D Points' a cancellable operation.
Support for WMS servers with URLs that already have GetCapabilities in them.
Support for WMS servers which need SERVICE=WMS to clarify what to serve.

You can now make and use image tilesets which uses texture compression (1/6 the size) together with alpha values (for sparse terrain).
Add a new fence style which uses hog wire, a few new building materials and plants to the standard VTP data.

For developers:
This a major release for developers, because of several changes:
1. All the scenegraph library interfaces other than OSG were removed. We now integrate much more closely and cleanly with OSG.
2. We no longer depend on the commercial app wxDesigner for our GUIs, instead using wxFormBuilder.
3. The CMake files are now robust enough that they are the recommended (and easy!) way to build on all platforms.
4. There is a new sample application called Simple which shows how to use vtlib directly on osgViewer.

<release 110123>

Added contour dialog, menu command Terrain: Add Contour.
Support a water TIN which has different extents than the base terrain.
Support 3dconnexion SpaceNav on 64-bit Windows.
Support generating contours even on large tilesets.

When generating a TIN from raw polygons, ask which field has height.
Support drag-n-drop of xyz files, and ".enzi" as an alternate name for .xyz files.
Assume MapInfo files of unknown type should be loaded as Raw.
Show size in memory for TIN layer properties.
New drawing option to draw TINs simplified (just their outline).
Sped up the quick FillGaps significantly by filling both horizontally and vertically.
Better support for paging of BT files at sample time, and added support for paging TINs too.
Added 'batch conversion of elevation' to the Special menu: anything to BT, or .xyz to ITF.

Load Path button in the distance dialog, to measure along any stored path.

For developers:
We moved up to GDAL 1.7.3 and libpng 1.5.0.
Roger James introduced CMakefiles, did some integration of NVPerfSDK, and began migrating vtosg towards using osgViewer.
vtlib's contour converter can now also create polyline features.
Version 2 of the ITF file format for TINs adds extents (backwards compatible).

<release 090826>

Added command "Write Elevation to BT".
Support for a TIN water surface, as a terrain parameter under 'Ephemeris'.
Support image layers on tilesets with non-meter-unit CRS (KG).
Fixed fog distance in runtime ephemeris dialog (KG).
Fixes CLOD behavior when switching between multiple tileset terrains (KG).
Added control in Layer Dialog of structure shadows.
Support for saving shadow state per structure (true/false) to VTST.

Fixed sampling of elevation to not exclude exact edge case.
Fixed display of RGB under cursor for image layers.
Command "Select structure by index".
UI: reduce excessive dialog open/close on elevation layer rendering.
Extended 'generate TIN from Raw' to support 2D polygons with height from a field.
Most-Recently-Used menus for projects, layers, and imports.

<release 090505>

This is a small, maintenance release.

Fixed abstract layers to not cast shadows.
Expose 'texture LOD factor' in the terrain parameters, which is a better name for 'prange' which used to be only exposed at runtime.
Reduced memory needed per tree by ~38%.
Fixed support for angled roofs on buildings with footprint holes (RJ)

Fixed bug in SampleImagery which was producing no output (red pixels) in a common case.
Fixed to certain boundary conditions when sampling from an image layer.
Fixed support for non-square grids in SaveToXYZ

For developers:
We moved up to GDAL 1.6.0 and OSG 2.8.0, and experimental CMake build support files were added (RJ).

<release 081224>

Shadows: Many fixes and improvements to structure shadows.  They should now work well on most modern 3D cards, and fall back to simple black shadows on older cards.  There is runtime control of shadow rendering and a new option to concentrate shadow resolution on the terrain directly in view.
Command to reset camera to initial location.
Support complex procedural roofs on building footprints with holes. (RJ)
Allow changing the derived texture color map at runtime.
Fix initial visibility of abstract layers without a Visible tag.

Fixed 'set unknown areas' to work with area tool not set.
Support xdim/ydim in header for Arc Ascii Grid reader.
Import TIN from GMS (a LIDAR format)
Structure layers: "Clean Footprints".
Fix image sampling to not try to sample from overviews that don't exist.
Fix import of 3D polylines from IGC.
Support drag-n-drop loading of native formats inside zip files.
Export grid to TIN, convert grid to TIN, export of grids to XYZ.
Import of raw 3D points from XYZ.
Generate TIN from 3D Points.
In vegetation generation, fix handling of empty areas in density layers.

Elevation Profile Dialog: export values to CSV.

For developers:
Moved up from VC8 to VC9 on Windows, and from OSG 2.4 to 2.6.  We now allow OSG to be built with either single or double matrices, which requires OSG 2.6, because OSG 2.0 and 2.4 didn't expose whether it was built with OSG_USE_FLOAT_MATRIX or not.
The (very old) IPL dependency was made optional in BExtractor.

<release 080909>

Support for stereo fusion distance, in camera dialog.
Layer dialog button to refresh (reload) an abstract layer from its source SHP.

Support TIF overview for large images.
Variable-resolution sampling, so lower resolutions are sampled from overviews (if present).
Display option to draw Raw layers Simplified for speed.
Command: Special: Create Dymaxion Map.
Command: Offset elevation vertically.
New algorithm for filling gaps in elevation via partial derivatives (Stefan Roettger).
Added import-field option to the table-import dialog.
Support of "Hemisphere, Degrees, Minutes" format to point import from DBF/CSV.
Write image tilesets to JPEG-encoded .db files.
Delayed load/paging of BT, to handle larger resampling operations.
Export footprints to Canoma3DV (BobMaX).

New documentation in Italian, for both overview and the main applications (Roberto Angeletti, Stefano Vinci).

For developers:
Removed all non-ASCII characters from source, to avoid trouble on Chinese systems.
Support in vtContourConverter for tileset terrain (Robert Hauck).
We've moved up to using libMini 8.8.6, and there is a new 'minidata' library to interface with it.
You can also now keep your libMini and VTP in synch by using SVN to get the 'deps' folder, which contains an svn:external to the correct revision in the libMini SVN.

<release 080502>

Added a separate Select-Move mode to allow Select to select things without moving them.
View: High-resolution Snapshot command.
Support for 3dconnexion SpaceNavigator (Windows only)
Plant dialog: sorted the Common Name field, to make it easier to use.
Show current terrain name in Title bar.
Improved 'Save Terrain State As..'
Postpone loading the species list until it is needed, for faster startup.
Option for Allow Roll in terrain parameters.
Ocean Plane Level is dynamic on text entry in Ephemeris dialog.
Fixed "inside" canvas size global option to give a more exact pixel size.
Fixed display of paged linear structures.

Improvements to the layer view UI, show hidden layers in italic.
Option for NODATA color when rendering elevation to bitmap.
Option for elevation layer's maximum render size.
Option to write TIFF compressed (DEFLATE).
Option to default all BT to gzipped.
Tileset creation option to mask unknown elevation areas with texture map alpha.
Show number of unknown heixels in elevation layer properties.
Support restricting the fill-gaps methods to a given area.
Fixed VF format to handle more than 32k plants of the same species.
Fixed European locale issues with VRML export and OpenStreetMap import.

The default data folder name for procedural building facade textures has changed from BuildingModels to Facade.

For developers, the news is: We've moved up to using GDAL 1.51, libMini 8.75 and OSG 2.4, there are no significant API changes. The Mac OS X port has also been improved to build and run better.

<release 080114>

Moved sun, sky, fog, ocean and time to a new Ephemeris dialog.
Exposed control of ephemeris at runtime.
Fixed absolute paths of 3D models in Create Instance.
Update a point feature's label when its table is edited.
Prevent user from making inside-out buildings.
Fixed popup properties for a selected plant.
Added Save Terrain State command.

Fixed a case in which import dialog could get wrong roof type.

A new VTP example showing how to use VTP as a ActiveX web plugin.
(Announced on the mailing list, http://tech.groups.yahoo.com/group/vtp/message/5214)

Added support for polygons with holes in building footprints, including use of gml:innerBoundaryIs in VTST files.
Fixed saving the DataPath to handle non-ANSI characters.

For developers, the news is:
We've moved up to using libMini 8.62 and wx2.8.7, there are no API changes. The OpenSG port has also been improved to build and run better, and the Unix build support is tested and working well.

<release 071111>

Display progress on loading first tileset frame.
Much-expanded Layer Dialog with toolbar, Open Layer, and Feature Info Dialog.
Delete highlighted features from feature-info dialog.
'Select Box' tool which can select abstract point features.
Support alpha transparency in Overview and with 4x4 tiled textures.
Fixed a timing issue that sometimes caused blank frames in record animation to disk.
Improved appearance and response of 3D cursor in earth view.
Improvements to fly-in for a smoother Space2Face.
Add Cloud overlay globe from file or URL.

Improved efficiency and fixed texture seams (in all LODs) in Optimized Resample Imagery.
NxN multi-sampling of images, as option in preferences dialog.
Image: Replace RGB command.
Display RGB value under cursor.
Much faster sampling of TINs to Tilesets.
Display progress on reprojecting Raw layers.
Import of road networks from OpenStreetMap.
Faster NTF elevation import.
Import of Raw Points (2D or 3D) from CSV.
Generate Grid from 3D Points.
Option to treat black pixels as transparent on image sampling.

For developers, the news is:
We've moved up to using libMini 8.56 (or newer).  We also changed over to using OpenThreads for the tileset paging threads, so the dependency on pthreads is gone.

<release 070828>

Structure Paging: For scenes with very large numbers of structures (like cities), you can enable paging so that the buildings are loaded gradually.
Support for transparent terrain surface (to see underground objects.)
Open layers (structure and abstract) at runtime in Layer dialog.
Shadow behavior improved to follow area around the camera, instead of the entire scene.
Scenario dialog can now to use layers which are created at runtime.

Multi-select in Layer Open dialog.
Added 'Set EPSG' button to Projection dialog.
Popup menu in tree view to show/hide all layers of a type.
Exposed Ambient and Gamma values for dot-product shading of elevation.
Layer 'Up/Down' commands and toolbar buttons.
All options and preferences are now remembered, stored in VTBuilder.xml.

Support compressed textures as buildings facades.
Improved behavior of text entry in numeric controls in many dialogs.

For developers, the news is:
We've moved up to using libMini 8.36 (or newer) and OSG 2.0 (or newer).
The new libMini provides faster, smoother paging of large tilesets.

<release 070713>

Fixed draping of JPEG texture layers. (RJ)
New style options for abstract layers: spheres for point and line features, lines for point features, separate color fields for points and lines, more.
Exposed paging range (prange) value in LOD dialog.
Made default prange much smaller (should give performance boost to paging of heavily textured tilesets).
Fixed raycasting onto tilesets which have no 0,0 tile.
Fixed structure shadows on tileset terrain.
Fixed Elevation Legend color in the case of absolute colormaps.
Enabled separate 'Move' mode in addition to select and move.
Adjust vertical offset of structures using Alt+drag.
2D Compass, always points north and can be rotated with the mouse.
Fixed keyboard navigation.

Preferences dialog, with options for loading file w/o CRS, large image loading, and fast vs. slow-smooth gap-filling algorithm.
Read TINs from ESRI ADF (ArcInfo TIN).
"Trim TIN" command for interactively removing triangles from a TIN.
Merge/Resample of TINs to a grid.
Fixed potential problem in derived texture tilesets with tilesize<=64. (RJ)
Fixed a rounding issue with image resampling which had caused unnecessary aliasing in some cases.
Choice of texture compression: none, OpenGL, Squish fast, or Squish slow.
Support relative colormaps for derived image tilesets.
Fixed Height option on vegetation import.
View: Zoom to Area Tool.
Area Tool: Match Layer Resolution, which makes exact-resolution tileset creation much easier.
If an imported image has three undefined bands, attempt to load them as R,G,B.
Projection fixes/improvements for Czech CRS JTSK, Krovak, LCC1SP, 'NTF Paris'.

Profile dialog:  Option to display culture height and use it for line of sight and visibility tests.  Option to export the 2D profile or a top-down trace to a DXF file.
Implemented 0-100 progress indication in the case of reading large uncompressed XML files.

For developers, the news is:
We've moved up to using libMini 8.14 (or newer).
There's also a new (optional) dependency on the squish library for an alternate means of texture compression.
vtDynTerrain now provides a way to deform the terrain at runtime.
There are been many fixes and improvements to the build process on Linux and Mac.  The codebase has moved over from CVS to SVN on Google Code.

<release 070331>

Option to display terrain loading progress.
Option to use threading for tilesets, for smoother paging.
Display of texture tileset paging in LOD dialog.
Support 8-bit paletted images for texture overlay layers.
Fixed bug with roads containing more than 4 lanes.

Added options to tiling output: 'omit flat tiles' and 'compress textures'
Save/load Bioregions to new XML format.
Added optional typical height to Biotype definition.
Save/restore UI layout automatically on entry/exit.
Scale Bar option.
XYZ importer now detects and supports four components (n x y z).

More sophisticated toolbars, floatable and dockable.
Full support for RTL (Right-to-left) languages; Arabic works well.
Improved language handling in plant dialog.
Building dialog: improved Facade UI with a choice control (RJ).

For developers, the news is that we've moved up to libMini 7.9, wxWidgets 2.8.x and GDAL 1.4.0. There's also a new (optional) dependency on the pthreads library for multi-threaded tileset paging.

<release 061205>

Click-to-add point label features on terrain.
Choice of font for point feature labels.
Scenarios can now control both Structure and Abstract layers.
Allow Abstract layers that lack a DBF file.
Create and remove Abstract layers at runtime.
Support for Image layers (simple, single georeferenced overlay textures).
Support for showing polygon abstract layers as a texture overlay.
Toggle visibility of Image and Abstract Overlay layers.
Allow "loop" links in road networks.
Mousewheel zoom in/out in Earth View.
Reduced toolbar clutter by hiding unused buttons.
Fixed draping of linear structures on culture with Tileset terrain.
Improved behavior of sloped linear features (berms) on uneven terrain.

Export of building footprints to SHP.

Support polylines (paths) with Distance Tool.
Support polylines (paths) with Profile Tool.
Linear materials have been merged into the Building materials.  You will want to grab the latest materials.xml (save to your Data/Culture folder) if you use linear structures.

<release 061018>

Editing of linear features by dragging control points.
Visual highlight of selected linear features.
Delete linear features with popup menu.
Edit style of selected linear features(s) with popup properties dialog.
Fixed linear structure width at sharp angle corners.
Added Slope and ConstantTop parameters for linear structures.
Support for arbitrary linear structure profiles.

Allow Overview for terrains with Derived textures.
Added "Initial Scenario" to terrain parameters.

New command to place vehicles on the terrain, choosing type and color.
Fixed picking of vehicles to exclude structures.
Improved vehicle orientation on non-level terrain.
Dragging and rotating of vehicles with the mouse.

Fix elevation rendering to respect the user's color map file.

Support for user-defined linear structure materials in Culture/linear_materials.xml

For developers, there is a lot of news:
1. We've added proper support for VC8. The new files have "-vc8" in their names.
2. The build instructions now provide separate VC7.1 and VC8 versions of the dependent library binaries, to support people using both compilers.
3. Removed dependence on the big 'ZipArchive' library. Instead we now use the tiny 'unzip' library.
4. The new VC8-built GDAL binary distro no longer needs the 'Xerces' library, simplifying the process of building and deploying.

<release 060920>

Record animation path to disk as a series of images.
Revived Vehicle support, enough for demonstration purposes. To try it out, use the menu Terrain: Distribute Vehicles. It will populate your road network with a few vehicles which will autonomously drive around traversing the roads.
Enabled specular light.
Re-enabled stopsigns and stoplights. You can turn them on in Terrain Properties: Culture: Roads: Road culture.
Application settings are now stored in an XML file (Enviro.xml).
Joystick navigation.

Exposed 'Fill Gaps' as option in Resample Grid dialog.
"Select structures by polygon" and "Color selected roofs" menu commands. (RJ)

Redraw only when needed, not continuously.
Expanded Properties dialog to show both types and subtypes, other small improvements.

Throughout all the VTP software, there is now support for Unicode filenames, as much as possible. The remaining limitations are with low-level libraries (GDAL, OSG) which don't yet support international filenames beyond a single character set. I am trying to help them on this issue.

The VTP data distro used to contain two ground vehicles, 'bronco' and 'bus'. They were of limited interest as there was no example code to make them drive around :| Now there are seven vehicles, including a De Lorean. "The way I see it, if you're gonna build a time machine [or VTP code] into a car, why not do it with some style?"

For developers, the news is that we've moved up to OSG 1.2.

<release 060806>

Save and Save-as for abstract and vegetation layers directly from the Layer dialog.
Toggle visibility of abstract layers.
Exposed Elevation Profile dialog (shared functionality with VTBuilder).
URL popup menu for structures that have a "url" element in their description.
Improved fog/ocean effect by making horizon plane independent of ocean plane.
New linear structure type: "security fence" with angled extensions.
Command-line parameter "-location" to specify initial location.
Allow sparse tilesets (tiles omitted).

Area Tool: Optimized Resample to Tileset command, which efficiently avoid holding the whole resampled grid in memory. This raises the size limit of both elevation and imagery than can be sampled.
Ability to create derived image tiles when resampling elevation to a tileset.
Help menu commands to show HTML documentation.
Import Structures capability improved to support explicit colors and tall single-story buildings.
Added plain Mercator to Projection dialog.
More elevation drawing options in new Rendering Options dialog.
Omit empty tiles when generating tilesets.

For developers, the news is that we've moved up to GDAL 1.3.2, OSG 1.1, wxWidgets 2.6.3, and libMini 7.3. There is also now a port to OpenSG, thanks to Martin Witzel, as an alternative to OSG.

<release 060415>

The major news is that paging tilesets are greatly improved. Image tilesets are written as compressed textures, which page faster at runtime for a much smoother experience. In testing, they have loaded around 5x faster. With this progress, tilesets have moved from alpha to beta quality.

Layer dialog: exposed abstract layers and vegetation, added icons to layers.

Expanded structure import dialog to support roof types.
Saving of elevation tilesets to .db.
Saving of image tilesets to .db as compressed textures.
Enabled cancel during generation of image tilesets.
Visual feedback snapshots of tiles being compressed.
Import of 16-bit TIFs as Elevation layers, other bit depths as Image layers.

Rotate Model command, to help with Z-up vs. Y-up coordinate issues.
Explicit export of models to .osg/.ive.
Fixed rotation of models saved to .osg/.ive.
Wireframe toggle.

For developers, the news is that we've moved up to libMini 7.1. Also, vtTerrain now allows you to set plants, structures and abstract layers directly from memory instead of loading from disk.

<release 060210>

Improvements of road appearance: (finally) added some minimal geometry for junctions, and maintain road width regardless of angle.
Explicit support for terrain textures in TIF format.
(Limited) ability to switch terrain texture at runtime.
Improved terrain parameter dialogs for texture maps: made tile size a Choice, removed need for texture format parameter.
Improved terrain overview to support 4x4 tiled textures.
Support textured TIN rendering.
Support for Line Width on abstract feature geometry.

Major improvements to WMS support.
Exposed Ellipsoid field separately in Projections dialog.
Improved algorithm for displayed road edge lines, to avoid squeezing corners.
Fixed loose visual alignment on elevation layers with zoom factor>1.
Popup menu in Distance mode to hide distance tool.
Removed LOD testing lines in Image Tilesets, although tilesets are still in alpha, because some people found the functionality already meets their needs.

For developers, the news is that we've switched from libwww to libcurl (smaller, faster, simpler) for Web functionality.

<release 051213>

Overview option which shows location on terrain in small map.
Option to retain texture in memory for faster re-lighting.
Very simple freehand building creation (Jam Ch'in).

Copy elevation layer to clipboard (Leveller format).
Import from and export to 3TX format for elevation.
Reading bzip2 compressed files (at first, only for HGT; more formats in the future).
Improved XYZ import to look at first values to guess if the elevation data is floating point or integer.
Write world file (.jpw) when saving JPEGs.
Fixed vegetation distribution with polygons with holes.
Fixed initial PROJ4 testing to avoid Locale trouble.
Progress indication on more operations.

For developers, the news is that we've moved up to OSG 1.0. Also, this release runs much better on Linux than ever before.

<release 051025>

Stereo eye separation in Camera dialog.
LOD Dialog to help troubleshoot LOD performance.
Finally runs correctly on Linux.
Experimental new support for paging tileset terrain (see below).

Export of elevation to 16-bit PNG.
Load elevation and imagery from PGM/PPM.
Radio signal analysis in the Distance Tool/Profile Dialog (Mike Nix)
JPEG option for image export on resample.
Merge/resample imagery to tileset or new layer.
Merge/resample elevation to tileset.
Paste elevation from clipboard using Leveller's heightfield format.

For developers, the news is that we've moved up to GDAL 1.3.1, libMini 6.67, and wxWidgets 2.6.2, although only libMini has breaking API changes.

About the new, experimental tileset paging: I would consider the code "alpha" now, just stable enough for testing. In subsequent releases, tileset paging should become (A) smoother (B) faster (C) more memory efficient (D) support float elevation (E) allow more flexible input such as ECW, instead of folders of PNM files. If you have huge datasets, please try out the existing functionality and let me know. There is a tutorial on how to use it at: http://vterrain.org/Doc/Tut2/
Many thanks go to Stefan Röttger, whose libMini does the bulk of the work for paging at runtime.

<release 050824>

Optional picking of culture directly with 2D cursor.
Selection of multiple structures with Ctrl key.
'Scenarios' for turning groups of structures on and off.
Support for Stereo displays (Anaglyphic, Quadbuffer).
Deletion of Animpaths with 'delete' key.
Display and deletion of Animpath control points.
Improvements to structure shadows and layers dialog.

New Elevation Profile view for the distance tool.
Export to RAW/INF for MS Flight Simulator.
Export to ChunkLOD elevation (.chu).

For developers, the news is that we've moved up to GDAL 1.3.0 and libMini 6.0, although there are no breaking API changes in these updates.

<release 050623>

Extended camera dialog to support orthographic cameras.
AnimPaths per terrain in Terrain Parameters dialog.
Progress dialog on recalculating terrain shading.
Global options for window startup position and size.
Use centroid to place text labels for polygon features.

Drag and drop of JPEG and archives containing TIGER files.
Fixed byte-swapping on Raw elevation import.
Import of space-delimited XYZ point elevation.
Dragging of whole area tool by clicking inside the tool.
Support for additional flavors of Surfer Grid files.
Progress dialog during unzip.
Improvements to TIGER import.

Improvements to building dialog: added "set roof type" button, preserve color dialog settings between buildings.

For developers, the news is that we've moved up to new library versions: OSG 0.9.9, wxWidgets 2.6.1, GDAL 1.2.6, libMini 5.7. We also changed back to assuming .OBJ files have Y up (not Z up) and exposed vtlib methods for ray intersection testing.

<release 050216>

Some of the changes include: Much expanded support for linear features (walls and fences). There are new styles, including solid stone walls and hedges, and more control of the dimension of the features.

Several improvements to Abstract Layers, including support for Polygons, new options for geometry height and tessellation.
Support for PNG (including transparency) as a terrain texture.
Linear features can now be draped on other culture (roads and buildings).

Export of elevation to VRML ElevationGrid.

For developers, there are:
Unix makefiles which detect your platform.
Much progress on the MacOSX port.
Preliminary support for multi-window usage of vtlib.
Exposed ray-scene intersection testing in vtlib.
New sample program 'prSimple' showing how to use VTP and Producer together.

Internally, VTP now integrates more closely with OSG for textures, which decreases memory peak during startup and gives a small speedup.

<release 041220>

This is a relatively small release. Some changes:
New i18n for Spanish and Italian, updated for Chinese and Swedish.
Support for Stone as a road surface type.

Added save/load of animation paths to new .vtap format.
Some 2D geometry for abstract features.
Terrain parameter for structure shadow darkness (0..1).

Remapping of species in VF layers.
Multiple selection in Import file dialog.
Import of Raw layers from DXF (polylines).

For developers, the news includes:
Upgraded to newer libraries: OSG 0.9.8-2, GDAL 1.2.5, PROJ.4 4.4.9, libpng 1.2.8, zlib 1.2.2.
Added new sample project fltkSimple to show how to use VTP with the FLTK library.

<release 041105>

Many improvements to handling of plants. Better usage of plant appearance with the same height. Multiple common names per species, including common names in multiple languages. Added a warning about unplanted plants after generation.

Added support for reading IGC files (GPS tracks from gliders) including drawing them in 3D in Enviro.

Explicit import from NTF.
Area Tool: Set to Layer Extents.
Export of Raw layer to an image with matching HTML ImageMap.
Import Point Data From Table.

A lot of new functionality with Animation Paths, including recording and several ways to control playback.
Size cutoff option for instance selection.
Postpone loading a plant appearance until it's needed.
Option to show only species for which there are appearances.
Fixed bug with deleting plants which had been moved.
Fixed/improved 'Zoom To' for structure instances.
View: Elevation Legend which uses the new HUD functionality to show how colors are mapped (for terrain which uses "Derive texture from elevation")
Very preliminary support for Abstract layers, with new "Style" dialog.
Overlay image as a terrain parameter.

<release 041001>

Many improvements to vegetation distribution - you can now specify a single species or biotype, a biotype layer is not needed, and planting is around 25x faster.
You can now use 'Cancel' on many more operations, including import of elevation data.
Added tiling support to Planet export.
Added command "View: Move Layer Up" to control draw order.
Added display of scale in status bar, zoom in/out with mouse wheel.
Fixes to locale support for Europe, fixes to support of ESRI prj files.

Began support for Camera animation paths, in the Locations dialog.

New for developers:
We have migrated to GDAL 1.2.3.

<release 040903>

Fixed detail texture rendering and exposed it in the terrain parameters dialog.
(It is distance-faded for McNally LOD, but still global for Roettger LOD.)
Fixes to the orthographic top-down view.
Added no-blend option to colormap dialog.
Added runtime control of terrain vertical exaggeration (with '[' and ']' keys)
Runtime toggle of structure shadows (thanks to Mark Baily).

Export of elevation to Arc ASCII Grid, and MSI Planet format.
New Render dialog for generating a bitmap from an elevation layer, either to a GeoTIFF/JPEG file or a new Image Layer, with control of dimensions, shading and Color Map.
Fixed a problem with reading non-square DEMs in the far north.

All apps:
Support for international characters in plant common names.

New for developers:
We have migrated to OSG 0.9.7 and libMini 5.02.
The new ContourConverter class can produce contour line vectors and drape them on your terrain. For a demo of this with 100m contour intervals, press 'z' in Enviro. You can also produce texture contours with the new SetTextureContours method.

<release 040805>

This release contains mostly fixes and a few small features:

More functionality in the Layers dialog.
Exposed background color per terrain.
Display and manual entry of camera coordinates.
New dialog to define mapping of elevations to colors (ColorMap).
Added support for rails as a road surface type, restored support for trails.

Fixed support for 1-arcsec (~30m) SRTM files.
Improvements to Raw Elevation import.
Fixes to loading/saving of projects, esp. with imported files.
Fixed support for Lambert projections.
Fixed writing of .vtst.gz files.
Allow POINTZ in structure import from SHP.

<release 040428>

Small fixes to shadow casting, skydome color, i18n.
Creation of structure instances from content libraries.
Added content files to startup and terrain dialogs.
Made utility structures (e.g. electric transmission towers) extensible, so that the end-user can add their own to the common
content library.

Exposed the Instance dialog for creating instances of 3D models.
Small fixes to TIGER support. Added export to STM.
Re-enabled support for JPEG image layers.

Many fixes, more stability.

<release 040320>

Many fixes to handling of European locales.
Internationalization of the GUI.
Time dialog lets you change date and time, for both Earth View and Terrain View. Initial terrain time now includes date.
Scientifically precise sun position / light direction.
On-the-fly reshading of the terrain.
Toggling of layers in the Layer dialog.
Fixes and speed improvements to TIN rendering.

Import TIN elevation from DXF.
Support for saving directly to .vtst.gz files.

<release 040227>

Terrain parameters are now stored in an XML format (with .xml extension) instead of the old .ini format.

<release 040224>

Transparent support for compressed XML files (e.g. .vtst.gz)
Improved GIS framework.

Keyboard navigation.
Accelerate navigation speed by height above terrain.
Polygon data now displays (unfilled) correctly in Earth View.
Support for cast shadows on the terrain.

Preliminary support for the Dymaxion projection.
Proper handling of polygons with holes (Raw and Veg layers).
Resample elevation directly to new layer.
Zoom to current layer.
Expanded View Options dialog including cast shadows.

<release 040108>

Support for "HGT" file format from the SRTM FTP site.
Several fixes to vegetation functionality.

New 'Layer' dialog, with some information on loaded culture (in Terrain View) and loaded features (in Earth View).
Reload and Rotate for structure instances.