L3DT development blog
Large 3D terrain generator

Sapphire, L3DTVi2 and HFZ

Hi All,

With some help from a big red book, the Sapphire rendering plugin now supports mosaic terrain textures. This was the last remaining feature that needed to be added to Sapphire to bring it to parity with L3DTVi2. Consequently, following the next release (v2.5a, this Friday), Sapphire will replace L3DTVi2 as the 'official' renderer for L3DT. L3DTVi2 will still be available on the 3rd party downloads page, but it won't be included in the L3DT installation package after L3DT v2.5a.

The main benefit of this change is an improvement in stability, as L3DTVi2 tended to crash when unsupported formats were encountered (L3DTVi2 only supported 16-bit HFF). Sapphire does all file I/O through the plugin API, and therefore supports every file format that L3DT does. This also means that L3DT can now 'safely' use formats other than HFF without having to worry about crashing L3DTVi2. Thus, as of L3DT v2.5b the default heightfield format will be the new compressed heightfield format 'HFZ'. This format should save users somewhere between 30 and 60 percent of the space required to save the heightfield, relative to the uncompressed HFF/TER/BT formats.

This change also allows me to dispense with some hacks in L3DT that were required to maintain legacy support for L3DTVi2. These hacks include:

  • The saving of the 'map group file' (.mgf), which was deprecated last year.
  • The “tx” and “lm” map types in the mosaic master files, which should both read “24bit”.

If you wish to continue using L3DTVi2 after L3DT v2.5a, you will need to re-enable these hacks by selecting the 'Settings→Local settings' menu option, then double-clicking on the 'File→Legacy→MosaicTypeHack' and 'File→Legacy→SaveMGF' entries to enable those flags.

If you'd like to familiarise yourself with the newly updated Sapphire renderer, please download the latest developmental build of L3DT. If you have any problems, please let me know, and I will attempt to fix them forthwith.

Best regards, Aaron.


I ran a few more tests and noticed that the scene often freezes when Sapphire has to load new texture tiles. This is particularly noticeable when you fly around on terrain with high-res mosaic textures. Ideally I should have the texture loader in another thread (and one day I will), but in the mean-time I'll limit the impact of this problem my adding clipmap support for textures in Sapphire. The 2D display in L3DT already uses clipmaps to display large maps, so this shouldn't take too long to get going in Sapphire.

l3dt/2007/jun/04.txt · Last modified: 2017/08/31 06:42 (external edit)
Except where otherwise noted, content on this wiki is licensed under the following license:CC Attribution-Share Alike 3.0 Unported
L3DT Development Blog RSS Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki