pbrt-v4
pbrt-v4 copied to clipboard
MLTIntegrator regression (?) in pbrt-v4
It seems MLT produces results different from other integrators. Usually the output is just a bit darker than normal and I thought that maybe some settings are off a bit. However, with Dambreak scene MLT generates something quite green...
BDPT, regularization true

MLT, regularization false

MLT, regularization true

Cheers
Thanks for reporting this! I can reproduce this issue locally and something is clearly very broken.. From debugging so far, the issue seems to be related to volumetric scattering (i.e., it appears in other scenes with volumetric scattering, but MLT seems fine in scenes that do not.) I will continue to try to chase this down...
I bumped into this with a similar scene but without mediums.
What I noticed is that the MLTIntegrator has trouble when the Film uses "maxcomponentvalue" along with transmission of non constant spectrum. In the dambreak scene, the Film has a "float maxcomponentvalue" [ 10 ] as well as an eta that has varying wavelengths ie- Material "dielectric" "spectrum eta" "glass-BAF10".
Simple Scene
In the following scene there is a diffuse disk and a sphere with a dielectric material. When setting "spectrum eta" so something that isn't "constant" you start to see some significant wavelength noise. Then when combined with the Film's "maxcomponentvalue" option

Dambreak Scene
Applying the same breakdown to the Dambreak we see -
MLT, no maxcomponentvalue, constant eta spectrum

MLT, no maxcomponentvalue, varying eta spectrum

MLT, maxcomponentvalue 10, constant eta spectrum

MLT, maxcomponentvalue 10, varying eta spectrum

Simple Scene Source
LookAt 0 40 100
0 30 0
0 1 0
Camera "perspective"
"float fov" [ 50 ]
Film "rgb"
"string filename" [ "dambreak0.exr" ]
"float maxcomponentvalue" [ 10 ]
"integer yresolution" [ 256 ]
"integer xresolution" [ 256 ]
Sampler "halton"
"integer pixelsamples" [ 8192 ]
#Integrator "volpath"
Integrator "mlt"
"integer bootstrapsamples" [ 100000 ]
"integer chains" [ 1000 ]
"integer mutationsperpixel" [ 5000 ]
"float largestepprobability" [ 0.08 ]
WorldBegin
AttributeBegin
LightSource "infinite"
"float scale" [ 0.5 ]
AttributeEnd
AttributeBegin
Material "dielectric"
"spectrum eta" [ 350 1.5 750 1.5 ]
Translate 0 40 0
Shape "sphere"
"float radius" [ 15 ]
AttributeEnd
AttributeBegin
Material "diffuse"
Rotate -90 1 0 0
Shape "disk"
"float radius" [ 1000 ]
AttributeEnd