Author Topic: How to get a cleaner result out of the warp node  (Read 1040 times)

Hi there fellow substanciers.

Probably a noob question coming up: is there a way to get a clean result out of the warp node? After a quick search here I only found a suggestion to switch inputs to 16bit/channel, but that only slightly enhanced the result.

Here is the height map I'm working on for reference:

It is being warped by a shape node set to "bell". I have tried a few things already along the lines of adding blur HQ nodes here and there or fiddling with a blurred curvature map but I really can't get anything cleaner than this for the moment.

My Warp node also has this pixelation problem. Regardless of the noise input. Perlin or gausian or Clouds(+BlurHQ) etc.. Directional warp does not show this noise. all inputs in this graph and the warp node itself is 16b per channel. and the size of this texture is 2K atm. issue persists at all resolutions.

For the second poster using Perlin Noise...

Almost all warp nodes you'll find work by telling each pixel where to sample from an image. The reason why this isn't working for you is that for any significant warping amount, you're asking the program to sample this pixel from, for example, 6, 10, and the next pixel from 6, 14. It's not that the noise input isn't smooth enough, just that there's that much of a value distance between those two pixels, and it's reaching across a gap between a white pixel and a black pixel. Your results come when the next one says something like 6, 13, which goes back onto a white...

A solution to this might be to use a blurred input for the image, then blur a bit and snap back into focus using Levels. This would only work for mask-like images, though, and not height maps...  A warp function that could PUSH pixels instead of pulling them would be best, but aside from vector graphic programs, that sort of function is quite hard to achieve (imagine an image that's not made up of a grid, but a collection of colored dots in arbitrary places, that you then have to connect up and place on a grid)

If you're content with only slight warping, something with less high-frequency noise like Gaussian Spots, or a Fractal Sum Base with the Max Level set fairly low might let you get away with using regular Warp.

For the original poster, though, I think the issue must be your resolution. Bell shape should definitely be smooth enough to warp without artifacts at 1k, but when testing at higher res, it does start breaking down. It must be the pixel count getting too close to the difference between one shade and the next. I'm not quite sure about the solution to that. Maybe downscaling at first is possible... either way, good luck!

Thanks a lot Cory McG for such a detailed explanation of the problem.
I ended up testing Vector Morph and Vector Warp nodes after a colleague's kind suggestion. For now Vector Warp kinda worked although I would love to see a better work around.
Thanks anyway for your time.