/
Versions of OSG since February 10th 2012 (>3.0.1) support the caching of OSG models from local sources. This is required to follow this tutorial.
The idea behind this example is to take an existing database that was built with VPB and use osgfilecache to 'cache' the local terrain database to another local directory. osgfilecache supports level/extends limitation, so it is possible to extract only terrain within certain bounds or level of detail.
One note before we start with the commands: pagedLOD nodes store the database path, which is the path to the file. This path is overwritten by osgfilecache. To get a independent new sub database with relative paths, you mast enter the directory of the large source terrain database before you invoke osgfilecache. Otherwise you will get a terrain dataset with absolute paths which will cause OSG to continue loading from the original database instead from the extracted limited dataset.
Enter the source terrain dataset
cd /home/large_database
The command structure is 'osgfilecache --file-cache <your destination folder> <options to control the new database extents> <relative path to your source database root file> For example for the above assumptions, it would be the following to extract the database until LOD level 3 ('-l 3'):
osgfilecache --file-cache /home/database_part -l 3 ./terrain.osgb
According to the osgfielcache help, the following extend definitions are allowed:
-e level minX minY maxX maxY Read down to <level> across the extents minX, minY to maxY, maxY. Note, for geocentric datase X and Y are longitude and latitude respectively. -l level Read down to level across the whole database.
To extract lon 11-15 and lat 30-40 until level 8:
osgfilecache --file-cache /home/torben/test -e 8 11 30 15 40 ./terrain.osgb
Note: You can run osgfilecache multiple times in the same directory to 'compose' a new database with different extends. E.g. worldwide<=level 5, europe<=level 8 and germany<=level 25