Embree 2.0 supports instancing, see tutorial02. We consider support for hair important, as triangulating hair yields in too many triangles to handle efficient. Thus, hair support will likely come in a future release.
I'm currently looking at Embree and would like which strategy you use for building your SBVH with instancing support ?
I see 2 main methods to build such structure :
1) Create 2 BVH, a top-level tree that contains and handle all the instance (pointing to other trees) and several sub BVH, one per object/instance. It seems to me that it will degrade to performance because on the top-level tree I cannot do spatial split !!
It will degrade the performance mainly when I have a lot of objects and a few instances only.
2) Create one SBVH, where each instance is a leaf that contains a simple bounding box, for such leave I will not do any spatial-splitting.
The main problem is that the Instance-Leaf will contains an object_id and I should be able to traverse the tree only for this object_id.
But is it possible to do with a SBVH where we have a list of triangle (with duplicates etc...), they are not ordered by object, so it seems I
have to traverse the whole scene... and it will be expensive ?
Or maybe you have another strategy ? Is there some information about that somewhere ?
WebRepÉvaluation globaleCe site n'a pas été évalué(pas assez de votes)
Embree support the SBVH only over triangular geometry. Thus you can enable the SBVH for your objects you are instancing, but not for the top-level BVH over the object instances.