View matrix MS Windows vs Linux
A very obscure question but maybe someone will know the answer.
I have created view matrix files with the same rfluxmtx
command and materials and scene geometry, but the files come out noticeably different between MS Windows and Linux (different machines for both). I've compared the numbers. It seems to be more than just due to just the Monte Carlo method because if I re-run the command on the same machine, the VMXs do not differ by that much, if at all.
Does it have to do with the precision of Windows vs Linux? Maybe the "random" function inherent to rfluxmtx
is machine dependent (as it can be in C++ if you don't seed it.).
here are the commands (originally from OS Radiance measure but I am using them on the command line). Of course in Linux it's cat
instead of type
and the \
become /
. Also, I copied the folders directly from the first machine (Windows) to the second machine (Lubuntu).
type "materials\materials_vmx.rad" scene\shades\WG10_SHADE.rad scene\shades\WG11_SHADE.rad scene\shades\WG12_SHADE.rad scene\shades\WG1_SHADE.rad scene\shades\WG2_SHADE.rad scene\shades\WG3_SHADE.rad scene\shades\WG4_SHADE.rad scene\shades\WG5_SHADE.rad scene\shades\WG6_SHADE.rad scene\shades\WG7_SHADE.rad scene\shades\WG8_SHADE.rad scene\shades\WG9_SHADE.rad > receivers_vmx.rad
oconv materials\materials.rad scene\090_10_Wn_Spc.rad scene\090_20_Wn_Spc.rad scene\090_30_Wn_Spc.rad scene\090_40_Wn_Spc.rad scene\180_10_Wn_Spc.rad scene\180_20_Wn_Spc.rad scene\180_30_Wn_Spc.rad scene\180_40_Wn_Spc.rad scene\270_10_Wn_Spc.rad scene\270_20_Wn_Spc.rad scene\270_30_Wn_Spc.rad scene\270_40_Wn_Spc.rad > octrees\model_vmx.oct
rfluxmtx -ab 6 -ad 4050 -as 256 -dj 1 -dp 1 -dt 0 -dc 1 -lw 0.001 -n 1 -ds .15 -faa -y 594 -I -v - receivers_vmx.rad -i octrees\model_vmx.oct < numeric\merged_space.map
Well, this is interesting. If you are certain the commands and the input are identical, then let's see your commands and output(s).
Need more info?
Different by how much? Is it a systematic error, where one or the other is consistently greater, or have you noticed something else? The random number generator in rcontrib (called by rfluxmtx) is seeded by the clock, so the variance between runs should roughly equal the variance between machines.
Good question: Point by point, % diffs look >> 100%, but order of magnitudes diffs are ~7%. Either way I've run it a few more times on Linux and now the differences do seem just random. My original confusion was based on significant differences in results from an annual illuminance simulation. When I compared all the input files in the project, only the view matrices seemed significantly different. Maybe annual sim diffs are due to low-resolution Klems-basis BSDF combined with random rays for view (i.e. a small change in ray angle lands on a big change in BSDF transmittance)?
Our plan over the next months is to develop a tool that will help figure out the resolution needed for window matrix and area subdivision, as it's been a perennial problem for everyone using 3+ phase methods....