Supercharging my procedural mountain forest
I've published a new video about how I've made my procedural mountain forest bigger, better and faster over the past two years:
Links to things mentioned in the video
My previous video about my procedural mountain forest.
My LayerProcGen framework and my talk about it at Everything Procedural Conference 2024.
My free game The Cluster (full trailer), which my LayerProcGen framework was originally developed for.
My blog post about the procedural creatures I alluded to.
The GPU Instancer Pro (Asset Store) third party tool I use for GPU instancing with frustum and occlusion culling.
The Grasslands - Stylized Nature (Asset Store) model pack I use for my new trees.
My blog post about my Point Cloud Sound technique.
My blog post about the game progression dependency graphs I alluded to.
My erosion filter video and blog post. The links section at the end of the blog post has links to implementations by others in various engines, tools, and games.
A GitHub Gist demonstrating shared C# and shader code.
My blog post about atmospheric perspective and distant mountains.
Frequently asked questions
The trees are popping. Could you fade them in instead?
Not very easily. The trees already use dither-based fading between the tree LOD levels. When you see trees pop into existance, it's because a terrain chunk is replaced with terrain chunks of a more detailed LOD level that has denser tree coverage. Fading the new trees in when this happens would require having an additional fading feature on top of the one used for tree LOD levels. Not only would it make the tree shaders more complex, it would also be a lot of work to route the required data into all the tree instances. It would require changes to GPU Instancer Pro third party tool I'm using, or else I'd have to use it in a significantly more low-level way. Either way, it's frankly beyond my skill level, as I'm not nearly as proficient with shader "data plumbing" as I am with shader math.