Closed Disgruntoad closed 2 months ago
I realized I should reproduce this error on a stable release, so I recompiled for v3.5.2 and current master. Here are the results.
Stratified, spp=1024, Mitsuba v3.5.2
Stratified, spp=1024, Mitsuba current master (0e36435230d7ef3ce454f27358e0be0a6d7f6e0f)
So it does appear that this error is present in the current master branch, though not the stable versions of Mitsuba. I'll move back to v3.5.2. I would recommend modifying the instructions (https://mitsuba.readthedocs.io/en/stable/src/developer_guide/compiling.html) to checkout the most recent stable version unless you're doing dev work.
Your dev team may already be aware of this issue, but in case they're not, fyi.
Hi @Disgruntoad
Thanks for the bug report! Our test suite doesn't cover non-independent
samplers that well. So, I'm not surprised this slipped through the cracks so far.
We'll have a look.
Fixed in #1308
Thank you for reporting this @Disgruntoad
I'm fairly new to rendering so maybe this is a mistake on my part.
Summary
All these renders are using the
cuda_spectral
variant.I was attempting to render the banner 2 scene from https://mitsuba.readthedocs.io/en/stable/src/gallery.html
I replaced the material types for the background wall and the central object. The wall is a measured bsdf from EPFL's RGL lab (https://rgl.epfl.ch/materials) and the object is a simulated rough dielectric of glass interior & air exterior (ggx distribution).
I was running into high convergence samples per pixel for the independent sampler -- convergence occurs only after
spp=32768
which is a bit higher than I'd ideally set the value to. Other sampling methods should converge faster, so I attempted to render with them, but I'm getting some really odd artifacts. The distribution of artifacts varies slightly between samplers, but they all have the same odd characteristics.I include an example of the independent and stratified samplers, both generated with spp=1024, max_depth=256.
Independent, spp=1024:
Stratified, spp=1024
Independent, spp=16384:
Stratified, spp=16384:
For reference, here is the stratified render with the object as a rough conductor of Cu (ggx distribution).
Stratified, spp=1024:
Stratified, spp=16384:
And just to be clear, I use the stratified sampler as a demonstration, but this behavior is exhibited by all non-independent samplers.
Am I doing something wrong? Are these samplers not well-suited for dielectric materials?
System configuration
System information:
OS: Ubuntu 24.04 CPU: 14900k GPU: 4090 Python version: 3.12.4 LLVM version: 18.1.3 CUDA version: 12.6 NVidia driver: 560.28.03
Dr.Jit version: 0.4.2 Mitsuba version: master (d394bc405511b95dcb8306d8c12f71860800336e) Compiled with: CC=clang-18, CCX=clang++-18 Variants compiled: ['scalar_mono', 'scalar_rgb', 'scalar_spectral', 'llvm_mono', 'llvm_rgb', 'llvm_spectral', 'llvm_ad_spectral_polarized', 'cuda_mono', 'cuda_mono_polarized', 'cuda_rgb', 'cuda_spectral', 'cuda_spectral_double', 'cuda_spectral_polarized', 'cuda_spectral_polarized_double', 'cuda_ad_spectral']