Blender Git Loki
Git Commits -> Revision 1a20121
Revision 1a20121 by Sergey Sharybin (master) July 7, 2016, 15:25 (GMT) |
Cycles: Switch node address to absolute values in BVH tree This seems to be straightforward way to support heterogeneous nodes in the same tree. There is some penalty related on 4gig limit of the address space now, but here's are the thing: Traversal code was already using ints to store final offset, so there can't be regressions really. This is a required commit to make it possible to encode both aligned and unaligned nodes in the same array. Also, in the future we can use this to get rid of __leaf_nodes array (which is a bit tricky to do since trickery in pack_instances(). |
Commit Details:
Full Hash: 1a2012145d6e7953c225b4f9873a4bc6415c7fd6
Parent Commit: 17e7454
Lines Changed: +82, -78
13 Modified Paths:
/intern/cycles/bvh/bvh.cpp (+36, -22) (Diff)
/intern/cycles/kernel/geom/geom.h (+0, -4) (Diff)
/intern/cycles/kernel/geom/geom_bvh_shadow.h (+6, -6) (Diff)
/intern/cycles/kernel/geom/geom_bvh_subsurface.h (+6, -6) (Diff)
/intern/cycles/kernel/geom/geom_bvh_traversal.h (+6, -6) (Diff)
/intern/cycles/kernel/geom/geom_bvh_volume.h (+6, -6) (Diff)
/intern/cycles/kernel/geom/geom_bvh_volume_all.h (+6, -6) (Diff)
/intern/cycles/kernel/geom/geom_qbvh.h (+2, -2) (Diff)
/intern/cycles/kernel/geom/geom_qbvh_shadow.h (+3, -4) (Diff)
/intern/cycles/kernel/geom/geom_qbvh_subsurface.h (+2, -3) (Diff)
/intern/cycles/kernel/geom/geom_qbvh_traversal.h (+3, -5) (Diff)
/intern/cycles/kernel/geom/geom_qbvh_volume.h (+3, -4) (Diff)
/intern/cycles/kernel/geom/geom_qbvh_volume_all.h (+3, -4) (Diff)
/intern/cycles/kernel/geom/geom.h (+0, -4) (Diff)
/intern/cycles/kernel/geom/geom_bvh_shadow.h (+6, -6) (Diff)
/intern/cycles/kernel/geom/geom_bvh_subsurface.h (+6, -6) (Diff)
/intern/cycles/kernel/geom/geom_bvh_traversal.h (+6, -6) (Diff)
/intern/cycles/kernel/geom/geom_bvh_volume.h (+6, -6) (Diff)
/intern/cycles/kernel/geom/geom_bvh_volume_all.h (+6, -6) (Diff)
/intern/cycles/kernel/geom/geom_qbvh.h (+2, -2) (Diff)
/intern/cycles/kernel/geom/geom_qbvh_shadow.h (+3, -4) (Diff)
/intern/cycles/kernel/geom/geom_qbvh_subsurface.h (+2, -3) (Diff)
/intern/cycles/kernel/geom/geom_qbvh_traversal.h (+3, -5) (Diff)
/intern/cycles/kernel/geom/geom_qbvh_volume.h (+3, -4) (Diff)
/intern/cycles/kernel/geom/geom_qbvh_volume_all.h (+3, -4) (Diff)