I'm working on the terrain system for my game, and I want to use a polygon based terrain system. Heightfields don't support caves/overhangs, and voxels take up too much memory. What I'm planning to do is generate polygon based terrain meshes using marching cubes (I want to keep the convenience of voxels for the art pipeline). Then I want to load the polygon based terrain meshes into the engine and render them using dynamic LOD to only load the high resolution version for the closer terrain tiles. The problem I'm having is how to handle seams. If I just load in the low resolution terrain mesh and tile it next to the high res version, then there will be cracks and seams in the edges. What would be the best way to do this? I was also considering using hardware tessellation and just loading a massive ultra low resolution version of the terrain, but that requires support for hardware tessellation, which I can't rely on.