It would be quite hard to come with actual numbers when comparing these. The material itself is not very complex, however it does rely on tessellation, which can be quite resource demanding. You can dynamically change the level of subdivision in the material and therefore making it depend on the distance. So the further away you’ll be the less triangles it will have. However you still have to compute the tessellation process.
You could create the same mesh in 3D software, therefore applying the displacement, get a regular mesh and apply the material without tessellation (which is also provided). I’m going to include the process in the documentation, this could be interesting to use as a LOD for instance, although it can be a bit time consuming and can be a bit restricting when it comes to blending various textures for instance. It’s hard to compare performance between triangles and shader instructions. I could however try to throw 100 or 1000 rocks with a high poly mesh and with a low poly + tessellation and compare, don’t know how accurate that would be though.
Everything is a tradeoff, here are the pros and cons I see at the moment :
-
CONS :
- tessellation is resource heavy, no need to hide it, it is also a DX11 feature, I don’t think that is too much of an issue in 2017, but worth noting.
- tessellation doesn’t work with DFAO, I have yet to try with LPV.
- tessellation is only a visual displacement, it doesn’t affect the collisions, this could be a problem if using really large scale displacement as the player could get through the rock in some places.
-
PROS :
- you gain an insane amount of time creating the props, it only takes a few minutes and close to no skill to create quick shapes in Maya, Max, Blender etc… The only skill/knowledge required is to create UV maps. No need to sculpt, no need to retopo/decimate mesh, no need to bake anything.
- a lot of texture memory can be saved since you only use a handful of tileable textures rather than unique baked maps for each rocks. If you were to not use baked maps on sculpts/traditional meshes, you would need a more complex shader, reducing the performance gap between using tessellation or not.
- because the textures are photoscanned, you get an actual realistic scanned displacement, which would be hard to get if you were to sculpt. Also, the albedo perfectly matches the normal and the displacement/silhouette.
TLDR : This is perfect if you want to quickly create nice looking rocks without much work and/or knowledge. If you want to do something more performance friendly then you should invest some time in applying the displacement in a 3D software using the documentation I’m going to provide.