I'm working on a paging terrain based on the excellent terrain class released by Copland. (http://forum.irrlicht.fr/viewtopic.php?id=336). Many thanks to him.
Pager source code
Interrest of paging are possibility to render huge world for a low cost memory.
About the terrain class : terrain is tiled in meshbuffers so only the wanted tiled are render (tweakable distance between camera and render limit) + frustum optimisation and we can use heightmap size higher than 129 (irrlicht terrain scene node default). support internally VBO (with latest irrlicht svn version) and many other features.
About the pager : It takes many parameters in entry to set up paging (load distance, render distance, mapsize, quality, scale, position, heightmap list, etc...). It organises buffer zones where to load terrain and it check if a terrain need to be load or unload depending of the load and unload distance values.
I don't use threads for loading terrain, I found that it was not necessary because it doesn't freeze on load in release mode compilation (in debug there is a freeze loading) but heightmap size need to be lower than 257 that is a very correct heightmap size (for improve more speed you could use heightmap size lower than 257 : 129 :p)
There is two texturing methods :
- 1 colormap and 1 detailmap
- possibility to use shader
I'm also working on a terrain shader for use blending textures with alphamaps and atlas texture for possibility to use more than 4 textures, but I still have some small problems so maybe on a next version :p
some screen of pager :
Red boxes are terrain loaded.
bye