L3DT development blog
Large 3D terrain generator

Faster loading of large mosaic maps

Hi All,

Last week I was messing around once more with 'megatextures'1) to see how Sapphire performed when rendering such vast quantities of texture data (just fine, as it happened). When reloading the map between builds, it struck me that L3DT was being very inefficient with its use of mipmaps. Mipmaps, for those who don't know, are low-resolution copies of a map, which are often used in level-of-detail algorithms to reduce memory usage and/or accelerate rendering. When viewing a really large map (say, 32k x 32k), L3DT knows that it doesn't need to display the map at full resolution, because you don't have that many pixels on the screen. Instead, L3DT will generate one or more mipmaps, typically 1/4th, 1/16th (etc.) resolution, and render the appropriate mipmap instead. With this trick, a 32k x 32k map can be rendered in the same time it takes to show a 2k x 2k map.

However, mipmap generation adds an overhead to the first time the map is drawn, which can be several minutes for huge maps. The inefficient part about all of this is that L3DT wasn't saving the mipmaps with the project, which meant that when you close and reload the project, L3DT had to regenerate all the mipmaps again. That has been fixed, so in future releases you will enjoy significantly faster load times for really large mosaic maps.

Cheers, Aaron.

1) Megatextures are textures of 32k x 32k pixels or larger.
l3dt/2007/jun/12.txt · Last modified: 2017/08/31 06:06 (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