After finishing a geometry shader that replaces a triangle with 3+ grass blades, I found out that I can’t use Surface Shaders with Geometry Shaders, meaning that I will have to reimplement everything that the Surface Shader would do for me.
So I am asking for those who understand this better than me.
Which is better: Procedurally generating the blade grass mesh in the geometry shader, or using Instancing to drop a bunch of grass meshes and use the vertex shader to bend/animate the grass.
Consider that both approaches will generate ‘the same amount of grass blades’.
If using the geometry shader does not let me generate a whole lot more grass blades per ‘performance drop’, then it’s not worth the effort to reimplement the surface shader and just figure out Instancing.
In the end I want to get a grass that is at least close to the Zelda: Breath of the Wild one