Page MenuHome

Cycles: use more PMJ patterns and make their size adaptive.
ClosedPublic

Authored by Nathan Vegdahl (cessen) on Nov 20 2022, 6:19 AM.

Details

Summary

This resolves some issues with correlation artifacts at higher
sample counts. See T101356

Diff Detail

Repository
rB Blender

Event Timeline

Nathan Vegdahl (cessen) requested review of this revision.Nov 20 2022, 6:19 AM
Nathan Vegdahl (cessen) created this revision.
Nathan Vegdahl (cessen) edited the summary of this revision. (Show Details)Nov 20 2022, 6:19 AM

I'm not totally sure I've done everything here correctly, particularly in terms of handling alloc/free and passing the pattern size around.

Sorry for nit-picking.
In intern/cycles/kernel/sample/jitter.h on line 19 you have:
/* NUM_TAB_SOBOL_SAMPLES should be a power of two... */
Shouldn't it be NUM_PMJ_SAMPLES since we haven't switched over to tabulated Sobol yet?

Gah! Yes, thanks for catching that. Copy-paste mistake.

  • Fix copy-paste error in comment.
  • Run clang-format.

Seems to work well in my tests, including converging to consistent result with test file from T101356.

This revision is now accepted and ready to land.Nov 21 2022, 7:08 PM