DrawMeshInstanceDirect using a Terrain

I need help on how to approach spawning grass on a terrain object using DrawMeshInstanceDirect. I understand terrains have a built in grass placement option but I want to have more control over the grass. More detail on why I need this level of control is to sample the color of each vertex that the grass mash sits on and color it according to the color on the terrain for example a cloud over the vertex will also color the grass mesh darker.