Download

Starting point for GPU terrain?

Hey I want to make detailed procedural terrain but would like to use the GPU to create most of the detail.

If I make a low res version of the heightmap + normals on the CPU and set a material for it to use could I then use a vertex shader to add detail and then apply the material shader on the updated terrain? This would require some engine changes which is fine, but if anyone could point me in the right direction it would be much appreciated!

Physics is something I’ll have to deal with later, but I’m wholly unconcerned with it atm.

Thanks for the help, sorry if this is a stupid question!

Im doing something similar to this. I create a flat plane that has a certain amount of poly’s. I then use a custom vertex factory to tessellate this plane and displace based on the heightmap and apply detail maps (extra displacement) and such on top of this. For the collision, I use the same heightmap to generate a collision shell over the top of the tessellated terrain.

What you will want to look at is FLocalVertexFactory for implementing a custom vertex factory and FSceneProxy for creating a custom scene proxy (Actual render object). Take a look at the CustomMeshComponent plugin to get an idea on how to build custom render objects. If your planning on doing this with the existing landscape, I am not sure how feasible that is. I created my own landscape system to accommodate these changes.

Awesome thank you!

Yeah I’m not sure how feasible it is to integrate into the existing tech. I’ve messed with terrain engines before, so rolling my own doesn’t sound too bad.