Autobump and displacement
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
Hi All,
I have been having a banding-like artifact issue with Arnold autobump displacement for some time now, both in Maya and Houdini, in multiple versions of Arnold across several years (also including multiple versions of Maya and Houdini, as well as Gaffer albeit with a different asset). While it does at first glance look like a banding issue caused by 8-bit or 16-bit displacement, the maps are 32-bit, and the issue disappears when turning autobump off, or when rendering the exact same displacement maps in other renderers like VRay.
That being said, because the no autobump workflow requires using an incredible number of subdivisions iterations in order to capture all of the detail present in the 17 x 32-bit displacement udims , it does not seem to be a robust solution, especially when tests in other renderers like VRay do not have the same issue. It seems like a bug or limitation in how Arnold autobump functions or I am missing some fundamental setting or some have suggested there could be a floating point issue with the displacement maps themselves (I do not currently have a license for Nuke in order to investigate).
When I last investigated this issue I easily spent over 40 hours trying every combination of subdivision bounds, subd iterations, uv type (smooth, pin, unppined, etc), filenode settings (<udim>, old school manual uv tile offsets in 2d placement nodes combined in layered texture).
1. If I delete all sections of the model except faces linked to udim 1001, the artifact nearly goes away entirely. As a test, I created 17 versions of the model, starting with one mesh that included only the faces for udim 1001, then including faces for 1001-1002, then 1001-1003, 1001-1004, 1001-1005, 1001-1006, 1001-1007, 1001-1008, 1001-1009, and so on until 1001-1017. With each additional section/udim of the model included, the issue gets worse. I included 'Ni_autobump_tests.zip' in this post which shows the normals pass from this render test (the banding effect is visible in all channels, not just normals).
2. If I use lower subdivision iterations it reduces/eliminates the issue, however using lower subdivision iterations causes other types of artifacts, specifically, the combination of the lower number of subdivisions and autobump, causes sculpted creases to have a sort of wavey line, so the autobump captures the detail of the displacement maps, but the actual tessellation isn't high enough to properly capture the 'crease'.
Has anyone else encountered an issue similar to this? happy to provide any additional information required and I can upload a test scene from maya and or houdini with downressed displacement maps.
Here is render test on my artstation page, note this was rendered with autobump turn off and subdivision iterations cranked high enough to gobble up a rather incredible amount of ram:
https://www.artstation.com/artwork/Oy0YX6
Thankyou,
-Travis