Mantra noise patches artifacts

   1985   7   1
User Avatar
Member
146 posts
Joined: Jan. 2018
Offline
I've testing Mantra with an intentionally difficult test scene for a future project that will require a strong component of indirect illumination and I've found very strange noise patterns that doesn't seem to go away with more sampling at all. I'm using a very simple scene with no direct component at all and a diffuse limit of 4, allowable paths set to diffuse and specular only. The output resolution is around 6K for each side. There is only one hidden spherical light.

I've tested several combinations of samplings and limits parameters with no success. I know this is not an ideal render case for Mantra, or any path tracer for that matter, but in my case render times are not an issue because the end product will be a series of still images, but these noise patterns are definitely a deal breaker.

BTW, I'm trying to avoid photon mapping for several reasons so this is not an option.

I attach a (mostly) complete image, a reference image of the expected result (using Renderman bidirectional path tracer), and a 100% crop of the indirect diffuse channel (+1.0 exposition), where the problem happens.

Would this qualify as a bug?

Thanks very much!

Attachments:
mantra.png (703.9 KB)
renderman.png (686.2 KB)
diffuse_indirect.png (626.6 KB)

User Avatar
Member
3 posts
Joined: Oct. 2019
Offline
I have noticed these types of patterns when scaling up grainy footage. If memory serves that's typical for the bilinear scaling method. Don't hold me to that though, could be another method as well. Lanzos and Bicubic solve the problem. But why it would show up straight from a render I could not tell you. Still, maybe it'll help you hunt down the problem unless you already have.
User Avatar
Member
7733 posts
Joined: Sept. 2011
Offline
I've run into this issue before. The RNG isn't random enough with that level of recursion. I would call it a bug.

roman_at_rodoworks
I have noticed these types of patterns when scaling up grainy footage. If memory serves that's typical for the bilinear scaling method. Don't hold me to that though, could be another method as well. Lanzos and Bicubic solve the problem. But why it would show up straight from a render I could not tell you. Still, maybe it'll help you hunt down the problem unless you already have.

It's not a scaling artifact. It's a bias in the sampler.
User Avatar
Member
146 posts
Joined: Jan. 2018
Offline
jsmack
I've run into this issue before. The RNG isn't random enough with that level of recursion. I would call it a bug.

roman_at_rodoworks
I have noticed these types of patterns when scaling up grainy footage. If memory serves that's typical for the bilinear scaling method. Don't hold me to that though, could be another method as well. Lanzos and Bicubic solve the problem. But why it would show up straight from a render I could not tell you. Still, maybe it'll help you hunt down the problem unless you already have.

It's not a scaling artifact. It's a bias in the sampler.

I totally agree, it's a sampling issue. Unfortunately, all I'm getting from support is a “read the Reducing noise in Mantra guide, and increase pixel samples to 8x8” which of course is using a sledgehammer to crack nuts and won't recognize there is an issue with Mantra. Jsmack, any recommendation on how to make aware SideFX of the issue and try to fix it?
User Avatar
Member
387 posts
Joined: Nov. 2008
Offline
Is it PBR or Raytrace? You can change the PBR shader. That way, you can get more control.
We had a recently different issue with the Raytrace engine and low sample count, but I'm unable to replicate this issue with PBR in recent production build with 3x3 samples, but it could be some small changes in the way how the scene is built.

Could you attach your example scene?
User Avatar
Member
146 posts
Joined: Jan. 2018
Offline
pezetko
Is it PBR or Raytrace? You can change the PBR shader. That way, you can get more control.
We had a recently different issue with the Raytrace engine and low sample count, but I'm unable to replicate this issue with PBR in recent production build with 3x3 samples, but it could be some small changes in the way how the scene is built.

Could you attach your example scene?

I tried with both PBR and Raytracing, same issue.

I attach the scene (I have used the Houdini GI Light example file as base for this tests)

Thanks!

Attachments:
testingMantra.hiplc (619.9 KB)

User Avatar
Member
7733 posts
Joined: Sept. 2011
Offline
I got the same result, even with higher pixel samples the effect is not completely reduced. This only seems to happen with ‘super’ indirect scenes such as yours. With a slight modification to allow more direct light in, the problem goes away. I also tested the easier scene with karma, but it struggled to resolve the noise. Maybe if I let it go as long as the mantra render did it would be as resolved.

Edit:
I rendered a test with 24x24 samples with fixed 32 ray samples (18,432 samples per pixel, and took over 37 hours to complete!) The low frequency aberrations are absent.
Edited by jsmack - Feb. 16, 2020 23:24:41

Attachments:
testingMantra_highssamples.png (598.8 KB)
woe_mantra.png (1.3 MB)
sampler_woe.zip (86.3 KB)
woe_karma.png (1.8 MB)
woe_mantra_24x24.png (899.2 KB)

User Avatar
Member
146 posts
Joined: Jan. 2018
Offline
jsmack
I got the same result, even with higher pixel samples the effect is not completely reduced. This only seems to happen with ‘super’ indirect scenes such as yours. With a slight modification to allow more direct light in, the problem goes away. I also tested the easier scene with karma, but it struggled to resolve the noise. Maybe if I let it go as long as the mantra render did it would be as resolved.

Edit:
I rendered a test with 24x24 samples with fixed 32 ray samples (18,432 samples per pixel, and took over 37 hours to complete!) The low frequency aberrations are absent.
Thanks jsmack! I'm still on project planning but definitely will have to avoid such indirect depths and rely more on direct lighting. Your tests are good examples and references.
I also tried with Karma but looked even slower than Mantra, but I'm sure (or at least hope) it will pass Mantra on this given time
  • Quick Links