Hi
I am a beginner in the wonderful world of ray tracers.
I have a c++ ray tracing application I am dealing with. This application runs on windows, macos and linux.
My experiements seem to show my application does not give the same result on all platforms. I have digged a litle bit. It seems that embree does not always give the same answer when a ray intersects a mesh.
- On the same machine if you are using different isa, you get different result in my application
- On different platforms I got different results. The test on linux and windows is done on the same machine (dual boot)
- On macos, I got different results on a macbook pro m1 pro and a mac mini m2 pro. (different xcode and different operating system). I cannot access the second one, it is a remote computer.
Following a ray in debug in parallel on two platforms is not an easy thing to do. It seems that my application is always able to provide the same ray on all platforms, so the source of differences is somewhere else. My application is compiled with compilation flags that allows me to the get same behaviour when handling foats.
When I have done it in parallel between a x86_64 Windows pc and a macbook pro m1, I saw that for the exact same ray I have different result returned by embree.
Did anyone experience this behaviour ?
Is it a reasonable expectation to get the same results on all platforms ?
Can we expect to get the same results on the same machine without considering the operating system ?
Hi
I am a beginner in the wonderful world of ray tracers.
I have a c++ ray tracing application I am dealing with. This application runs on windows, macos and linux.
My experiements seem to show my application does not give the same result on all platforms. I have digged a litle bit. It seems that embree does not always give the same answer when a ray intersects a mesh.
Following a ray in debug in parallel on two platforms is not an easy thing to do. It seems that my application is always able to provide the same ray on all platforms, so the source of differences is somewhere else. My application is compiled with compilation flags that allows me to the get same behaviour when handling foats.
When I have done it in parallel between a x86_64 Windows pc and a macbook pro m1, I saw that for the exact same ray I have different result returned by embree.
Did anyone experience this behaviour ?
Is it a reasonable expectation to get the same results on all platforms ?
Can we expect to get the same results on the same machine without considering the operating system ?