Procedural grass (spawned on gpu..?)

Bit of an odd question.

Is it possible to use some kind of material setup to add geometry (grass) dynamically?


  • have a mesh face with upwards normal and certain uv coords
  • on that face create more geometry on gpu ( Geometry Shader spawn vertex, tessellation, voodoo magic and other words I heard on the bus)
  • arrange the new vertices to textured grass planes
  • ???
  • smoother lod and profit on performance?

I am using procedural geometry already.
I could use 9 chunks of grass meshes and move and edit them in real time to lod for more performance.
Like a grid that follows the player, but less/more in size than world chunks… It’s plan B, I guess.

I understand that my explanation is quite crude as I only have limited understanding what Geometry shaders and tessellation do or how they are done in UE4.

You can do this for landscape using the grass system.

Currently grass only spawns on the landscape.

You could conceivably make your own grass sytem that can project downwards on anything by using a rendered depthmap of your entire level, but it would be quite technical to get it set up. You could look at how the kite demo uses a depth map of the landscape to automatically create rock edges of lake meshes.

I saw the landscape feature, but I assumed it only handled **where to ** spawn grass not how to(what implementation) spawn grass.
That on the grounds you can paint the grass…

Is there a explanation how it does the grass spawning?
I would assume vertex paint or a texture for positions, and procedural mesh or plain object placement for spawning?

I am using Procedural Mesh Component to generate my landscape, I don’t know if I am able to(skill wise) follow the tutorial for the landscape way.


Is per face tessellation possible?
It would make this video even more helpful :slight_smile: