Matrix inversion

You discovered a bug in the engine, and you are sure that it is not a problem of your code? Just post it in here. Please read the bug posting guidelines first.
Post Reply
MasterD
Posts: 153
Joined: Sun Feb 15, 2004 4:17 pm
Location: Lübeck, Germany
Contact:

Matrix inversion

Post by MasterD »

Affecting all versions since 1.0 (I think 0.14 was still "working as expected"*):
The inverse of a given matrix cannot be constructed, even if the matrix is not singular.

Given a matrix with a close-to-zero determinant, the construction of the inverse is rejected, even if the inverse matrix is not instable.

See also: http://irrlicht.sourceforge.net/phpBB2/ ... hp?t=38064

The check for for the determinant for being zero using

Code: Select all

core::iszero()
is in some cases misleading, as the inverse can be constructed easily.

Other 3D engines don't care about the determinant at all (Ogre, OSG). So disrespecting the determinant could be the canonical way for a 3D engine. Therefore I say that the construction of the inverse of a given matrix is either: A) always assumed to be possible. B) only rejected when it is very near to zero.


*0.14 checked for determinant == 0.0f, so you don't have to look at old sources ;-)
YASS - Yet another Space Shooter
under Devolpment, see http://yass-engine.de
Post Reply