|Grass field with variations|
|Pictures of the variation in height. Difference in inclination can also be seen.|
However, a problem was also discovered during this iterative cycle. Although it's very, very difficult to notice, some grass blades are sometimes levitating in the air because of their random positioning.
|A couple of levitating grass blades|
An approximative solution is to at least try to reduce the distance the grass blade has from the closest point on the field. An easy implementation is to look at how far away the randomization brought the grass blade, and then either let the grass blade's y-coordinate remain the same as its home vertex or let it become the average of two vertices. Long story short, in some cases the y-position will now be the average of two vertex positions, rather than always the y-coordinate of the vertex that is currently being iterated on.
|Less drastic levitations|
That's the final procedural parameter implemented.