Blender Git Commit Log

Git Commits -> Revision 60f164b

Revision 60f164b by Sergey Sharybin (cycles_bvh)
June 14, 2016, 12:29 (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 are the things:

- Traversal code was already using ints to store final offset, so
there can't be regressions really.

- We know that node size is 16 bytes aligned, so we use SHR/SHL magic
to increase address space of nodes still.

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: 60f164b6aa325c31572940d56dc2b0b04f62fa0f
Parent Commit: 66f8aba
Lines Changed: +80, -97

15 Modified Paths:

/intern/cycles/bvh/bvh.cpp (+12, -16) (Diff)
/intern/cycles/kernel/geom/geom.h (+0, -7) (Diff)
/intern/cycles/kernel/geom/geom_bvh_curve.h (+18, -18) (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_curve.h (+4, -4) (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)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021