You could interpolate and make the grid smaller. Basically the idea would be to take those large squares and make them smaller so that the edges are not so obvious. I posted the algorithm here with an example and some pretty pictures: http://gamedev.stackexchange.com/questions/122410/creating-colour-spectrum-by-light-flux-values/123501#123501 Essentially, you would have to take your generated map data array -- and then just stretch it out over a larger map array, making the edges look a lot smoother. This would be an alternative approach to utilizing bitmasking. Considering you are already converting your map into a mesh, I would assume this wouldn't be much of a performance hit during gameplay, so as long as you pre-calculate it all during the map creation portion. **Edit** Alternatively to this -- you could also just sample a larger dataset so that your world is larger to begin with.