Jump to content

  • Log In with Google      Sign In   
  • Create Account

FREE SOFTWARE GIVEAWAY

We have 4 x Pro Licences (valued at $59 each) for 2d modular animation software Spriter to give away in this Thursday's GDNet Direct email newsletter.


Read more in this forum topic or make sure you're signed up (from the right-hand sidebar on the homepage) and read Thursday's newsletter to get in the running!




Fixing heightmap seams



Copyright

CAVEMAN (C) 2000-2013 Rockland Software Productions

Fixing heightmap seams

blending heightmaps.

each type of elevation (ocean, flat, hill, mountains, and impassable mountains) possible in 5x5 mile map square has its own procedural heightmap, when map squares of different elevations meet, the heightmaps don't necessary (read: never) line up. when i first started working on drawing the ground, i spent about a week trying various algo's to make things seamless. when it got to the point where the next thing to try was the algo that eventually did the trick, i stopped, and forced all borders to slope to y=25. a few months later i decided to have another go at it. the trick is to "sew up" (slope to an average of the two heightmap values at a point on the edge) all the north-south running seams, then feed those results into the code that "sews up" the east-west running seams. the result is 4 different heightmaps that meet at a corner as smooth as a baby's bottom. this heighmap blending algo will work for any types of heightmaps from any source (procedural, bitmap image, etc). if you can get a y value given an x,y location from your heightmap, you can use this algo. i've seen threads on the site here where folks are having problems with perlin based heighmaps and chunks, and their perlin funtions are out of phase from one chunk to the next. this is one possible solution for that and any case where two different heighmaps meet.




    PARTNERS