Procedural Terrain Complex Texture

Hi Everyone!
I have created a terrain generator in C++. The screenshot I provided is an example of what it can create. I would like to update this to be able to apply textures to the mesh instead of just basic colors.

Currently the material applied to this mesh is simply a vertex color node. The code itself just creates the 3D mesh using procedural generation and a cellular automata for the biome map.

The two ways I have thought of for adding the textures I could come up with is passing through the given biome data for a vertex to the material to then apply the texture based on that or apply the texture based on the current vertex’s assigned color.

I’m not sure which approach is better/easier to implement. I would appreciate all help and suggestions. thanks!