Blender Git Loki
Git Commits -> Revision 8a65d6c
December 20, 2016, 04:38 (GMT) |
Cycles: Replace T-SVD algorithm with new Jacobi Eigendecomposition solver The code that was used for the T-SVD before came from the WLR reference implementation, but had numerical problems on Windows and would often cause NaNs. This commit replaces it with a new implementation using Eigendecomposition based on the Jacobi Eigenvalue Method. That should: - Give a slight performance boost (probably not noticable, since the T-SVD was no bottleneck to begin with) - Improve numerical accuracy of the results (not very important either since the eigenvalues are only compared against a threshold) - FINALLY solve the black spot issue on Windows - Slightly reduce memory usage (singular values are now constructed on the diagonal of the input matrix) with the potential of more in the future (now only the lower-triangular part is required). - Resolve potential licensing issues - the specific file containing the original code didn't come with any licensing information, and the main file contains an apparently custom license... |
Commit Details:
Full Hash: 8a65d6cf11f727ab0e99a0433edd3ce1e3cf09db
Parent Commit: 9acc795
Lines Changed: +144, -276