Yep, Forever War is pretty impressive
I can shed some light on what they are doing:
1) They forked from a version of Thermite about two years ago. At the time there was no support for density values (as I added this for you) but actually they implemented the density values themselves in order to get the smooth surfaces.
2) They do not perform any surface smoothing (the smooth surace come from having the density values).
3) I don't think they use any threading (unless they added it themselves) as Thermite did not use threads for surface extraction at the time (it does now).
4) Like Thermite, they store a material per voxel which gets written into the generated vertices. Most triangles have just one texture (unlike your approach of using the alpha texture). Where two materials meet, these triangles are rendered once with each texture and blended together.
5) They use texture atlases to minimise state changes. Because you are using DirectX11 you can use texture arrays instead.
You can read more here:
http://www.thermite3d.org/phpBB3/viewtopic.php?f=2&t=7If you are having performance issues when regenerating the mesh the you need to do some profiling to determine where the bottle neck is. Is it in the call to extractSurface(), the processing you do, or the uploading to the graphics card? If you can't make it faster then you can make the regions smaller instead. Forever War had a volume size of 192x192x192 and a region size of 16x16x16.
I hope that helps. I'm going to be away for a week or two starting tomorrow so I won't be online I'm afraid. I can help some more when I return.