diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2014-12-21 20:35:51 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2014-12-25 00:50:49 +0300 |
commit | 144096faad21626b98133da3a837ff5aa5af4e35 (patch) | |
tree | 7c544a948d91990d323505d0d86e2cc0ec22b239 /intern/cycles/kernel/geom/geom_bvh_traversal.h | |
parent | f27d87d30043c2bb09bee461ce903744e074de8b (diff) |
Cycles: Make it more clear offsets in BVH construction
Previously offsets were calculated based on the BVH node size,
which is wrong and real PITA in cases when some extra data is
to be added into (or removed from) the node.
Now use offsets which are not calculated form the node size.
Diffstat (limited to 'intern/cycles/kernel/geom/geom_bvh_traversal.h')
-rw-r--r-- | intern/cycles/kernel/geom/geom_bvh_traversal.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/intern/cycles/kernel/geom/geom_bvh_traversal.h b/intern/cycles/kernel/geom/geom_bvh_traversal.h index 114d30a479d..5c3b720794e 100644 --- a/intern/cycles/kernel/geom/geom_bvh_traversal.h +++ b/intern/cycles/kernel/geom/geom_bvh_traversal.h @@ -238,7 +238,7 @@ ccl_device bool BVH_FUNCTION_NAME /* if node is leaf, fetch triangle list */ if(nodeAddr < 0) { - float4 leaf = kernel_tex_fetch(__bvh_nodes, (-nodeAddr-1)*BVH_NODE_SIZE+(BVH_NODE_SIZE-1)); + float4 leaf = kernel_tex_fetch(__bvh_nodes, (-nodeAddr-1)*BVH_NODE_SIZE+3); int primAddr = __float_as_int(leaf.x); #if FEATURE(BVH_INSTANCING) |