Blender Git Commit Log

Git Commits -> Revision 6c60d98

Revision 6c60d98 by Sergey Sharybin (cycles_hair_bvh)
April 21, 2016, 16:28 (GMT)
Cycles: Initial implementation of unaligned BVH builder

The idea is to use unaligned boundbox nodes for hair BVH, which should
in theory improve performance of ray-to-hair intersection.

Only tree building is done currently, still needed to work on packing
and traversal code.

The idea oh builder is the following:

- We calculate SAH of regular split
- Then we calculate alignment orientation for the BVH range, using
first curve from the range to define orientation.
- Then we calculate SAH using alignment from the previous step.
- If SAH calculated for a found orientation is better than regular
orientation we create unaligned node.
- All leaf nodes are unaligned.

There is some code duplication which we can avoid, and some parts are
not really optimized yet.

Commit Details:

Full Hash: 6c60d9864fd76f022e3ed3b58b8f2844dbf76153
Parent Commit: 1ed18b9
Lines Changed: +596, -42

2 Added Paths:

/intern/cycles/bvh/bvh_unaligned.cpp (+114, -0) (View)
/intern/cycles/bvh/bvh_unaligned.h (+66, -0) (View)

11 Modified Paths:

/intern/cycles/bvh/bvh_binning.cpp (+203, -12) (Diff)
/intern/cycles/bvh/bvh_binning.h (+19, -2) (Diff)
/intern/cycles/bvh/bvh_build.cpp (+93, -15) (Diff)
/intern/cycles/bvh/bvh_build.h (+16, -11) (Diff)
/intern/cycles/bvh/bvh_node.cpp (+10, -0) (Diff)
/intern/cycles/bvh/bvh_node.h (+16, -2) (Diff)
/intern/cycles/bvh/bvh_params.h (+6, -0) (Diff)
/intern/cycles/bvh/CMakeLists.txt (+2, -0) (Diff)
/intern/cycles/render/mesh.cpp (+34, -0) (Diff)
/intern/cycles/render/mesh.h (+4, -0) (Diff)
/intern/cycles/util/util_transform.h (+13, -0) (Diff)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021