The big problem is that this way of adapting to terrain does not scale well. For every frame drawn, every vertex on the model has to be gone through, compared to the map height at that exact spot, and possibly adjust it to be level with terrain. Since you can only calculate exact map height for each sub-tile position on the CPU side without considerable effort, moving this drawing to the GPU is currently not possible. We need to move it to the GPU to get decent drawing speed with more complicated models.
So what I and gerard_ have been discussing as a solution, is to add a subterranean base to each defensive structure instead of adapting vertices to the map. This means that if the defensive structure resides on uneven terrain, part of the subterranean base will become exposed. If it is on totally flat and even terrain, none of that base is visible. I think this solution will be better looking that the current one, and we can accelerate the drawing process a great deal, allowing models with much higher polygon counts. The subterranean base will be at z less than zero position in the model (or whatever is down direction) to show what is above and what is below ground.
However, it means that someone will have to go over all the defensive models and add subterranean bases


