Summary: | ProjectFloat.gluInvertMatrixf() improperly claims some matrices are non-invertible | ||
---|---|---|---|
Product: | [JogAmp] Jogl | Reporter: | Wade Walker <wwalker3> |
Component: | opengl | Assignee: | Wade Walker <wwalker3> |
Status: | CONFIRMED --- | ||
Severity: | enhancement | CC: | gouessej, sgothel |
Priority: | P5 | ||
Version: | 2 | ||
Hardware: | All | ||
OS: | all | ||
Type: | --- | SCM Refs: | |
Workaround: | --- |
Description
Wade Walker
2011-03-19 00:11:55 CET
I've duplicated this failure. Now researching why it occurs. any progress on this ? I looked at it, and it seems like the supplied matrix is ill-conditioned (note the 14 orders of magnitude difference between the smallest and largest numbers in the inverse matrix). Any matrix inversion algorithm will fail on some matrix or another, though the algorithm we're using is not the most robust one mentioned in "Numerical Recipes in C". I didn't want to replace the whole algorithm without first creating a big set of regression tests, which didn't seem like a good use of my time right now unfortunately. So I'd classify this as "nice to have" rather than a bug, since it's just a matter of us not being as robust as we might be. |