We are currently using Embree 2.9.0. - a single static scene with one or more TriangleMesh _or_ QuadMesh.
Everything is running and working fine _almost_ everywhere. We tested the software on Intel and non-intel CPUs, Opteron racks, VMs, 6 years old laptopts, whatever, and _everything_ is working great.
Except, that is, for a single PC with a core i7 2700k, There (and only there) QuadMeshes have an inverted normal on one of its 2 tris. And we simply cannot figure out why. Its a Windows 10 machine 64bit with 8 GB RAM and a 2700k. nothing special. still, QuadMeshes simply refuse to have the same normal direction on both triangles. I just would like to stress that this behaviour can only be seen on that particular machine only. Wherever else, the software handles QuadMeshes pretty good.
Now, I understand that without having a piece of source code it may be quite difficult to have an idea, I was just wondering if you ever experienced anything like that, or if it was a rare but known issue.
We tried setting RTC_SCENE_ROBUST, but aside from that, there are not much more flags we can play with. Anyway we simply dropped QuadMeshes and use TriangleMeshes everywhere (which I believe Embree internally does anyway), and everthing is fine.
PS: should you need pieces of source just contact me
the inverted normal sounds strange and could be a buggy code path. Could you give us some more information:
- Does the inverted normal happen for the Embree tutorials too or only inside your app?
- Is this for the single ray interface only or do you trace packets/streams of rays?
- Could you pass 'verbose=2' to the embree configuration string to enable a more verbose output and send us the output?
If this does not provide further inside we might need a small reproducer (either binary or source code).