Table of Contents
One year and a few days since the last major release of L3DT, I give you the next one. L3DT release 11.08 is now available for download, in Standard, Professional and Pro for Torque editions.
This release includes some really big structural changes, including a thoroughly revised plugin API, and the use of non-contiguous memory for all maps. There have also been some nice improvements to the user interface and file I/O, including a new mesh exporter, and an attributes map importer. Of course, a host of bug fixes have also been included. These changes are described in more detail below, and the full list of changes is available here.
Probably the most significant change in L3DT 11.08 is one that most users won't notice; the plugin API has been cleaned up and re-written to make it easier for developers to learn and use. Unlike previous revisions to the plugin API, this update breaks backwards compatibility with old plugins, so all plugins must be re-compiled to work with L3DT 11.08 (see note below). If you are developing a 3rd party plugin, I have provided a tutorial on upgrading plugins over here. If you’d like to try your hand at writing a plugin, well, there’s a tutorial for that too.
If you have compiled your plugin using Zeolite API v2.9.4 or later, you don't need to re-compile to be compatible with L3DT 11.08.
In addition to tidying up the API structure, I have also added a significant performance optimisation for map calculations in the form of a direct access interface to raw map data. This optimisation was found to increase the calculation speed by between 30% to 5x.
Several users had reported problems with running out of memory (specifically, contiguous memory) when loading or saving map files. To fix this problem, L3DT now stores all maps as arrays of small non-contiguous memory tiles. This change reduces memory fragmentation, and should mean that the use of large non-mosaic maps will no-longer cause problems with insufficient memory.
Please note that some image file format plugins still allocate their own contiguous memory blocks for storing images. Thus, when loading/saving very large images (mainly JPEGs or PNGs), you could still run into 'insufficient memory' errors. However, the frequency of these problems should be reduced, as the rest of the L3DT map data won't be hogging large swathes of contiguous memory, leaving more room for these recalcitrant plugins. A re-write of these plugins is on the cards for the next release (v12.XX).
There has been a substantial improvement in the way L3DT exports terrain mesh files. As announced earlier, L3DT has a new mesh exporter, which can:
The mesh exporter, which is described here, includes a 'preview' button, which allows you to check and adjust the mesh settings before you export the mesh files:
You can see the seamless tiling feature in action in the following video, which shows a 4×4 tiled map being loaded tile-by-tile from mesh files produced by the new exporter:
A long-standing request has been the ability to import land type coverage maps from colour-mapped images so that, for instance, you could create a map of land types in an image editor and then import that map into L3DT. This is now supported via the attributes map importer, which includes a nice user interface for matching colours to land types.
There have been no major changes to the either the heightfield or texturing algorithms in v11.08. However, there have been some nice little changes you may like, including:
There have been quite a host of other changes to the L3DT user interface, including:
This time around there have been few public changes to the Sapphire 3D renderer. There have been a few minor tweaks to improve rendering speed, and also to improve the speed of tessellation convergence. There's also a work-around for what seems to be a bug in the OpenGL drivers of some ATI cards that causes huge lag when moving the mouse cursor (see this thread). Support for mesh objects is also coming along nicely, but it's not quite ready for prime-time yet (next release, hopefully).
There have been quite a number of bug fixes, which you can read about over here.
As with all L3DT updates, this is a free update for all users of L3DT Standard Edition, as well as all users of L3DT Professional and L3DT Pro for Torque who have purchased a license within the past 18 months. If the 18 month 'free update' period for your license has expired (see the 'Help→About' box), you will need to renew your license to be able to use this update (contact firstname.lastname@example.org to discuss discounts).
To download the update, please follow the instructions below:
Please let me know what you think of the new release. Comments, requests and bug reports are all welcome. Please feel free to make use of this forum thread.
Except where otherwise noted, content on this wiki is licensed under the following license:CC Attribution-Share Alike 3.0 Unported