I started some experiments with parallax mapped grass, they didn’t turn out to successful. With parallax mapping the grass can not extend out onto other geometry which made it look pretty dull. Next idea was to use shell rendering, this is an age old method used for realtime fur. ‘Shadow of the Colossus’ used it well on the ps2. But it still sees use today in games like Uncharted 4 and GTA5. For me it suits perfectly, as the camera in my game looks down upon the scene I only need a limited number of shells to get a convincing effect.
This is a rough and ready test, the whole terrain mesh has been duplicated multiple times and assigned a new grass material. Works fine for a proof of concept but for final release the next step would be implement the shells in a geometry shader. You cant see this in the images but the grass texture is sampled using the sin and cos of the elapsed time. This gives an animated wavy wind effect.
The obvious limitation of this method is that the grass can only be looked down on. If you are looking parallel to the grass the effect can not be seen at all.