Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Gavrilov <angavrilov@gmail.com>2020-11-21 21:45:14 +0300
committerAlexander Gavrilov <angavrilov@gmail.com>2021-10-20 12:58:19 +0300
commit16eafdadf6040fb84bacf657ac0bf16a78e1057e (patch)
treef4f89df1993cc18a60775f2a1a21bc6fd67878ea /source/blender/blenkernel/BKE_blender_version.h
parentdf445cc571bd1cf7fab4c5c8474f5e185a757fe2 (diff)
Fix precision issues and a bug in vec_roll_to_mat3_normalized.
When the input vector gets close to -Y, y and theta becomes totally unreliable. It is thus necessary to compute the result in a different way based on x and z. The code already had a special case, but: - The threshold for using the special case was way too low. - The special case was not precise enough to extend the threshold. - The special case math had a sign error, resulting in a jump. This adds tests for the computation precision and fixes the issues by adjusting the threshold, and replacing the special case with one based on a quadratic Taylor expansion of sqrt instead of linear. Replacing the special case fixes the bug and results in a compatibility break, requiring versioning for the roll of affected bones. Differential Revision: https://developer.blender.org/D9551
Diffstat (limited to 'source/blender/blenkernel/BKE_blender_version.h')
-rw-r--r--source/blender/blenkernel/BKE_blender_version.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/source/blender/blenkernel/BKE_blender_version.h b/source/blender/blenkernel/BKE_blender_version.h
index 5ee86f9446e..899d21683e4 100644
--- a/source/blender/blenkernel/BKE_blender_version.h
+++ b/source/blender/blenkernel/BKE_blender_version.h
@@ -39,13 +39,13 @@ extern "C" {
/* Blender file format version. */
#define BLENDER_FILE_VERSION BLENDER_VERSION
-#define BLENDER_FILE_SUBVERSION 35
+#define BLENDER_FILE_SUBVERSION 36
/* Minimum Blender version that supports reading file written with the current
* version. Older Blender versions will test this and show a warning if the file
* was written with too new a version. */
#define BLENDER_FILE_MIN_VERSION 300
-#define BLENDER_FILE_MIN_SUBVERSION 26
+#define BLENDER_FILE_MIN_SUBVERSION 36
/** User readable version string. */
const char *BKE_blender_version_string(void);