Here is a scene that supports 3 distinct tree types, as well as textured and shaded cut blocks. Here cut blocks are part of the rendered forest, to support smooth transitions in animation, as well as to have some volume in the 3d scene (There is a lot of dense waste left on cut blocks).
|3 Tree Types and cut blocks|
Here one forest Map Texture is used, describing patterns and shapes of the 3 different tree types. Cut blocks as well as roads, are then defined through the cut texture, which maps uniquely to the entire terrain. Cut Blocks are rendered as a 4th texture, so they are defined in the initial mapping to terrain function.
Though one of the major problems with this process is borders between areas of different type. many artifacts appear around cut block boundaries due to sampling problems, and transitions between tree types are also problematic. Though mostly these border issues are solved by creating a line map with a laplacian defining border boundaries between tree types. This image is then used to blur the final image.
The animations above provide examples of simple ecological based animations which may be implemented through this process. The forest growing is simply a global value applied to forest height. (Obviously an entire forest does not just grow like this) The Cut block animation was created by using a video for the modification texture. This animation is pretty terrible so that is why there are some ugly artifacts between the roads and cut blocks.