Yes, you’re on the right track So yes, multiple layers of the mesh, each with a reducing alpha value, the further it is from the base mesh, to fake the appearance of each pixel ending in a sharp tip.
The other thing to note is the texture(s) being used. In the demo, there is a fur texture that defines where the blades of grass are - this is tiled and repeated (check the Grass Scale slider). The other textures (top an bottom) provide the colour across the blade. In the demo, the fur texture not only provides the location of the grass blades but also the blades length - this is an alpha value combined with the layer alpha value. Then of course there is the height map which is also combined - so you can cut the grass.
In the grass demo, there are somewhere 50 layers (if memory serves me well - which it doesn’t that often), so the problem is that you will increase the number of polys quite quickly.
I’ve noticed some performance issues with this process and at the moment I’ve not found a solution. The transparent nature of the meshes affects performance. The texture scaling (unfortunately) affects performance and obviously the size rendered size of the object affects performance.
I’ve got a more recent version in the wings which is implemented better but unforuntately doesn’t yeild much (if any) additional performance but does allow you to change the numebr of layers dynamically. I really must find time to get onto it.
To help performance it might be an interesting experiment to only use the grass on suitably close squares.
Hope that helps somewhat.