I was wondering, are there any plans for further work on the displacement feature from the material output? I find the idea as such pretty cool, but from my experimenting with it, I got the impression there is something missing for it to become really useful.
The problem I’m regularly running into with it, is that it doesn’t deal with highly-detailed (fine noise) textures nicely. Apparently it doesn’t do any antialiasing when sampling the texture, so input on a scale smaller than the tesselation size will contribute to the calculated node displacement in a undesirable way.
Everything would probably come out nice when setting the adaptive subdivision to subpixel size. But it seems currently typical memory resources are insufficient for that (Tried to set it to 0.25px, and it turned out 32G of memory are not enough).
So maybe the feature should be made more configurable? I was thinking along the lines of:
- For calculating node displacement, antialias/low-pass-filter the input texture on a configurable scale (probably relative to local face size)
- Provide input to the shader to allow to deal with the residual in a flexible way, like bump mapping it by whatever means works best. Probably making available (through the geometry input node) both the normals before and after the displacement would be good enough.