Combining replace and add refinement


My tileset is a quad-tree of terrain tiles with increasingly higher resolution and lower geometricError to replace each tile with 2x2 higher resolution tiles recursively. The root tile sets refine = REPLACE, the rest of the tiles inherit this and it all works fine.

Now I want to add features to a medium level and let them stay visible all the way down to the highest level. But if I would add them to the medium tile where they belong, the parent would think that it should REPLACE itself with these when I really want to ADD them. Since I can’t control the refinement per child but only per parent, is it impossible to combine REPLACE and ADD other than in the leaf tiles?

I guess I could use one terrain tileset with REPLACE and a another feature tileset with ADD, and then a parent tileset referring both these. But I still think there’s something I’m missing here, should I be able to combine ADD and REPLACE in non-leaf levels?


Anyone got an idea of how to do this in the most optimal way? I still can’t think of a way to combine REPLACE and ADD in the same tileset.

If I use a separate tileset for my features, with all tiles on the same level using ADD, they would constantly be evaluated which can possibly be unnecessarily expensive. Should I mimic the same hierarchy as in the terrain quad-tree but with empty tiles, eventually adding feature tiles in the leaves? Or what is the normal way of doing this?