So I am facing the following issue. Say I have a minecraft like mesh (i.e I have a bunch of cubes on top of one another).
I wish to smooth out this mesh in such a way that only the regions where there are edges are smoothed out and such that the smoothing concentrates around the edges (e.g if I have a staircase the overall shape of the cubes that make the staircase should still be close to the staircase but instead of having straight edges I should have something much smoother).
I should be able to smooth things out locally, so that if a block is removed from this mesh, I can run the subdivision algorithm only on the newly generated coarse region that is created after the block is removed.
Does anybody have any ideas as to which algorithm I could use?