Can someone explain to me what is that 2D displacement and how it differs from normal one? I've looked at Vray manual, but its description is rather vague. I constantly read 2D displacement this, 2D displacement that, but i never had a chance to work with it and i have no clue why it is so magic.
To be honest, I don't really know how it is computed backend. All I know is that it gives decent results with a much smaller memory footprint than 3D displacement (in Vray) which is the main issue here. Basically, we're all asking for crisp displacement and less memory usage. I'm still not really sure it is the best way to go tho. I'm still convinced there are other solutions to explore. Looking at Fstorm displacement, I'm quoting :
"FStorm displacement doesn’t subdivide the initial surface, doesn’t take much GPU memory and is camera independent. It can be applied to almost unlimited surfaces."
It looks like it is based on some sort of volumetric displacement, potentially the same kind of tech used for geopattern. Maybe it's not even possible to do that kind of stuff on CPU, I don't know.. There are some rough explanations on the manual page :
https://fstormrender.ru/manual/displacement/But I think this is to be explored before taking any hurry decision on what's the better option.
edit : It also looks like it is computing only one tile and conforming it to the base mesh while keeping continuity. That could explain the low memory footprint.
This paper looks interesting in that regard :
http://www.cs.technion.ac.il/~gershon/papers/srf_disp_map.pdfexamples :
XYZ based displacement
Pattern deformation
UV based displacement
edit 2 : Also, looking a the kind of stair-stepping artifacts shown on the example below, it looks like displacement is rendered from the bounding volume (see the manual) using ray marching technique, hence the non-subdivision method. (still total assumption there)