Cycles: Keep all hair strands
authorSergey Sharybin <sergey.vfx@gmail.com>
Mon, 18 Feb 2019 13:17:16 +0000 (14:17 +0100)
committerSergey Sharybin <sergey.vfx@gmail.com>
Mon, 18 Feb 2019 14:25:10 +0000 (15:25 +0100)
commit03013c231794e7d6c6bb37e146b7fe1e01eb278c
tree6c75244955541efc41c099bfcb1af7949ddc1126
parent7b6da0ace7790682f61e5bfb560581151984f016
Cycles: Keep all hair strands

Previously, hair strands of zero length of too few control
points would have been ignored. This is fine for a render
without motion blur. But once motion blur is enabled it is
becoming more tricky to match topology.

Even more, it was causing access (and possibly writes) past
the array boundaries in case when time step 0 ignored some
strands and steps around it did not.

If this is becoming problematic for BVH to do reliable
intersections this is to be solved on the BVH builder side.
The export from Blender to Cycles shouldn't really make
decisions there.
intern/cycles/blender/blender_curves.cpp