mirror of
https://github.com/panda3d/panda3d.git
synced 2025-10-03 10:22:45 -04:00
don't be so fussy about nearly-singular matrices
This commit is contained in:
parent
a31c8dd8ee
commit
a03cf3ff2c
@ -818,7 +818,11 @@ invert_from(const FLOATNAME(LMatrix3) &other) {
|
||||
|
||||
FLOATTYPE other_det = MATRIX3_DETERMINANT(other._m.m);
|
||||
|
||||
if (IS_NEARLY_ZERO(other_det)) {
|
||||
// We throw the value out only if it's smaller than our "small"
|
||||
// threshold squared. This helps reduce overly-sensitive
|
||||
// rejections.
|
||||
if (IS_THRESHOLD_ZERO(other_det, (NEARLY_ZERO(FLOATTYPE) * NEARLY_ZERO(FLOATTYPE)))) {
|
||||
// if (IS_NEARLY_ZERO(other_det)) {
|
||||
#ifdef NOTIFY_DEBUG
|
||||
linmath_cat.warning() << "Tried to invert singular LMatrix3.\n";
|
||||
#endif
|
||||
|
@ -242,7 +242,11 @@ decompose_mat(int index[4]) {
|
||||
}
|
||||
}
|
||||
|
||||
if (IS_NEARLY_ZERO(big)) {
|
||||
// We throw the value out only if it's smaller than our "small"
|
||||
// threshold squared. This helps reduce overly-sensitive
|
||||
// rejections.
|
||||
if (IS_THRESHOLD_ZERO(big, (NEARLY_ZERO(FLOATTYPE) * NEARLY_ZERO(FLOATTYPE)))) {
|
||||
// if (IS_NEARLY_ZERO(big)) {
|
||||
return false;
|
||||
}
|
||||
vv[i] = 1.0f / big;
|
||||
|
Loading…
x
Reference in New Issue
Block a user