I’m programming a game that is using Perlin noise to generate 3D terrain, however, there are a few things that I’ve confused myself on. I can generate the raw terrain quite easily, using triangles, however I would like there to be biomes, as well as features that are unique to each biome, such as trees, ponds and ore deposits. My system uses chunks for biomes, which I’m happy with, but I’m a little bit lost in terms of different noise maps. For example: Should the biomes be determined based on the terrain, or should the terrain be based on the biomes that are calculated using a separate noise map. Also, for trees, rocks and ponds, should they use a separate noise map too? Like, to determine where to put trees, should there be another set of noise maps? Any help is appreciated, as I am quite new to Perlin noise and procedural generation as a whole. Thanks!