Spawning instances from Material

Hello,
I am working on planetary terrain where terrain is a spherical mesh.
I would like to use Landscape’s Layer Blend to use layer blending for foliage’s grass like in this tutorial:

However I can’t becasue my terrain is not a Landscape.
I can spawn unlimited and well optimised UHierarchicalInstancedStaticMeshComponent from my C++ Actor.
How to achieve similar results using handmade solutions?
Can it be controlled from Material applied to a mesh ?
In other words is there any way to spawn instances in Clip Space from Material? Or at least generate clip space coordinates that can be accesed from C++ side?