Just a quick update on my progress - I've started scripting up how we would ship such raster images in terrasync.
I believe we'll likely ( as with the mesh ), want to have a couple LOD levels. so 1/8x1/8 degree ( currently smallest tile size ) would encoded at a certain resolution - next LOD up, tile size would be 1/4x1/4 ( or 1/2 x 1/2 ) - but use the same image size.
I've been scripting a few gdal tools to generate the chopped shapefiles ( in 1x1 degree blocks ), then running gdal_rasterize on the chopped shapefile.
On my pc, it takes about 400ms to rasterize 1/8x1/8 degree - BUT, we have to do several passes per landclass.
the attributes ( for smoothness, etc ) have to be rasterized on their own pass. Landclasses are rasterized on their own pass, etc.
so, for each tile, we need something like this:
# generate the geotiff raster - encode landclass into all four bands. ( note that this encodes geometry, so each landclass is done seperately - we just need to generate all four bands once )
gdal_rasterize -init 0 -burn $landclass -burn $landclass -burn $landclass -burn $landclass -ts 4096 4096 -ot Byte -co COMPRESS=DEFLATE --config GDAL_CACHEMAX 600 $chopped_file $raster_file
# encode next landclass
gdal_rasterize -burn $landclass -burn $landclass -burn $landclass -burn $landclass $chopped_file $raster_file
...
then burn smoothness into band 2 ( for each landclass... )
gdal_rasterize -b 2 -a SMOOTHNESS $chopped_file $raster_file
then burn some other attrib into band 3 - for each landclass...
gdal_rasterize -b 3 -a OTHERATTRIB $chopped_file $raster_file
So we will probably need to rasterize offline - with terragear.
The good news is that terragear becomes a couple of bash scripts

And this will allow scenery designers to alter any of the new shader's parameters directly from QGIS.
Here's the result of rasterizing just cs_drycrop into 1/8x1/8 degree tile - with misc attribs...
