Comments (8)
Unfortunately I can't reproduce this bug on my system.
Could you please check you are running the latest version with the submodules up-to-date?
git pull --rebase origin master
git submodule update --recursive
Are you on Ubuntu? And which compiler are you using?
Thanks!
from mitsuba2.
Hi @Speierers,
This is on macOs Catalina and the code is fresh from just before creating the ticket. I might have added the “packet_” modes after the initial build and rebuilt subsequently, maybe it could be the cause. I’ll check this morning.
Cheers,
Thomas
from mitsuba2.
Hi,
I was wondering if there was any update to this issue. I am on macOS catalina 10.15 and just compiled mitsuba from release v2.2.1 (fresh clone) and am running into the same issue when comparing packet_rgb
to scalar_rgb
. I see the same symptom as above: packet mode images have 1/2 the channel values (+ noise) as scalar images. This occured in all channels,
I have tried most combinations(but not exhaustive) of the following primarily using cbox.xml and cbox-rgb.xml from the resources directory:
integrators: direct, path
film: pixel_format: rgb, rgba, luminance
film: file_format: exr, pfm
One last thing that i've done, and im not super confident in it since I am still learning how to run mitsuba, is run a depth AOV and it seems like the same problem is happening, packet is returning half the depth as scalar mode.
Im still getting up to speed so I'll add anything else I can find that is relevant. I am really keen to find a solution for this, especially if there are potentially different results between mac and other targets.
from mitsuba2.
The above is with setting direct integrator(2500 shading samples), sampler samples to 1 and reconstruction filter stddev to very very small(.00001) it seems like packet mode on mac is just losing every other column oWith many samples + a larger reconstruction filter this looks like half the value.
Using slightly more reasonable inputs the output of the profiler revealed some interesting results.
Im not 100% sure how to interpret this output, but to me it seems that packet only records approximately half the samples as scalar on mac.
from mitsuba2.
Great information @greg-cohoon! I will re-run some tests with the latest version to see if it is still the same for me, probably should be but keen to confirm.
from mitsuba2.
Hi,
I did a little more digging based on @greg-cohoon 's info. I created attached sample scene, which is simply a camera looking straight into an area light of unit radiance, so all the pixels should see that same radiance. I used the box
rfilter, because gaussian using a zero stddev causes an error in Debug mode.
I ran experiments on MacOS and an Ubuntu VM running in Parallels on MacOS. I tried all combinations of Debug/Release, independent/ldsampler sampler and scalar/packet. Below table summarizes the results:
Some conclusions:
scalar
always works as expected.packet
produces incorrect results in Release mode on MacOS. They are slightly different between the 2 samplers (see images below).- Running
packet
in Debug mode causes crashes on both platforms. - Somehow, on Ubuntu,
packet
works fine in Release mode, but trips assertions in Debug mode. That's kind of concerning...
Based on all this, I'm not even sure the assertion errors are related to the incorrect results when using packet
on MacOS, since those error also exist on Ubuntu, put produce correct results in Release mode there.
Scene file (renamed to txt as github doesn't allow xml): debug_scene_arealight.txt
Note the use of $sampler_type, you can specify this on the command line using -D sampler_type=independent
from mitsuba2.
Hi,
Thanks a lot for the investigation! Unfortunately I do not have access to a machine with MacOS so I will be unable to help on this issue.
I am pretty sure the assertions you get on Ubuntu in Debug mode are unrelated to this issue.
I would bet that something is wrong in the ImageBlock::put()
method. Could be related to the enoki::scatter_add()
call maybe?
from mitsuba2.
I did some digging. I see that the value active
var changes from [1, 1, 1, 1, 1, 1, 1, 1]
on line integrator.cpp:221 to [1, 1, 1, 1, 0, 0, 0, 0]
on line integrator.cpp:243 for no apparent reason. I tested with scene provided by @tomas16 on macos. Maybe there is something weird on how functions are created in packet version and variables are passed onto them.
from mitsuba2.
Related Issues (20)
- [🔨 compilation issue] 'cmake -GNinja' step HOT 3
- [❔ other question] How to convert/extract enoki.autodiff_cuda.Float32 type array from Bitmap class? HOT 4
- [❔ other question]runtime API error = 0719 HOT 1
- [🐛 bug report] importing Pytorch after mitsuba => Segmentation fault (core dumped) HOT 1
- [❔ other question] Performance on Windows much lower than Linux? HOT 5
- [🐛 bug report] hdrfilm.cpp: duplicate channel detection HOT 3
- [❔ other question] how to uninstall mitsuba2 in linux? HOT 4
- The examples of Differentiable rendering applications HOT 2
- [🐛 bug report] OptiX "arithmetic involving uninitialized variable!" with Certain Scenes HOT 1
- [✨ feature request] Tutorial on differential rendering material acquisition HOT 1
- Something about code HOT 1
- Caught a critical exception: main [properties.cpp:401] └1∩Æ∞☺
- [✨ feature request] Does the mitsuba2 support bsdf for cloth model? HOT 1
- 用java或C++用物件導向的概念設計程式解下面的問題:讀取一組時間,計算出時針與分針的夾角,時間的格式是0:00到12:00,小時數可能為1或2位數,分鐘數總是2位數,00到59之間。輸出腳讀為0到180之間的值,角度的精確度到千分之一。例如9:00是90.000度,不是-90,也不是270,2:00則是60 HOT 1
- Rendered polarized images' intensity doesn't change according to the change of polarization angle- [❔ other question] HOT 1
- [❔ other question] setting the variant("llvm_spectral_polarized"), the code didn't work HOT 2
- [❔ other question]How can we output UV map in python? HOT 1
- - [❔ other question] I want to optimize the values in the transform component of my sensor plugin HOT 1
- Unable to compile: Windows 10: Visual Studio Community 2022 HOT 1
- White noise in spectral rendering - [❔ other question] HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mitsuba2.