ffd4c0afb25f152a4d086090e0784ff60a301959
Parallelizes implementation for computing the NURBS basis cache. Removing the unnecessary linear 'find span' search. Due to formulation of the span find implementation, breakpoints are now evaluated in the following span rather then in the previous. This does not affect the point evaluation results, but adjusts how they are computed in the basis cache. On top of the threading improvement, removal of the linear search also means the computational complexity goes from O(n^2) to O(n). For a very large NURBS curve (250K points), performance is increased by roughly 40 000 times, and is now interactive! For cases with large number of small curves. Tests with 25K curves and 10 control points per curve also indicated a slight performance improvement, with roughly a 13% reduction in execution time. Pull Request: https://projects.blender.org/blender/blender/pulls/144000
…
Blender
Blender is the free and open source 3D creation suite. It supports the entirety of the 3D pipeline—modeling, rigging, animation, simulation, rendering, compositing, motion tracking and video editing.
Project Pages
Development
License
Blender as a whole is licensed under the GNU General Public License, Version 3. Individual files may have a different but compatible license.
See blender.org/about/license for details.
Description
Languages
C++
78%
Python
14.9%
C
2.9%
GLSL
1.9%
CMake
1.2%
Other
0.9%
