Erosion

March 10, 2012 Algorithmic Art 0 Comments

I've been playing around with post-processing functions (so to speak) on the terrain heightfields. When I designed the current terrain engine, I did so in such a way that terrain chunks have some amount of overlap, with the idea being that a "small amount" of post-processing can be done on the heightfield while avoiding seams. Of course, the only way to do this for anything that requires information about surrounding heights is to compute some redundant information (i.e., to overlap tiles a bit) and discard it.

Inspired by http://www.decarpentier.nl/scape-procedural-extensions, I started playing with using finite differences to modulate the heightfield according to its normal vector. The results are very compelling, although I'm not getting as nice of results as Giliam yet, presumably because he's using an analytic derivative and distorting the input to the noise function, whereas I'm using a finite difference and just distorting texture coordinates.

Certainly looks promising.