Final Render

Output
Normalized z-buffer
Sample count

Render time 0:05:23. Adaptive 8-64 samples per pixel. Mitchell-Netravali Reconstruction filtering. Halton 2,7 for AA. Halton 5,3 in circular coordinates with inverse CPD for DoF. Here, I generate a set of 4 random numbers for each pixel. I use these random numbers to shift the Halton sequence (with wrap around).

Test Scene Without Random Perturbation

Output
Normalized z-buffer
Sample count

Adaptive sampling, 8-64 SPP, Halton samples WITHOUT "random perturbation". Render time 0:01:23.

Test Scene With Random Perturbation

Output
Normalized z-buffer
Sample count

Adaptive sampling, 8-64 SPP, Halton samples WITH "random perturbation". Render time 0:01:26.

Visual "Bug"

Output
Normalized z-buffer
Sample count

Adaptive sampling 8-128 SPP, Halton 2,3 for AA and Halton 5,7 for DoF. Render time 0:10:45. Causes some areas to "stand out" (no blur). I suspect this is an issue with Halton sampling, where the low number of (minimum) samples (8) sometimes erroneously have a low sample variance in colour. I can fix this issue by either changing the minimum to 16, or doing the "random perturbation" as described in the first section.

Machine Specs

Processor 1.4 GHz Intel Core i5
RAM 4 GB 1600 MHz DDR3
Graphics Intel HD Graphics 5000 1536 MB
Software Xcode 9.0 on macOS Sierra 10.12.6