Non-Standard Matrix Numbering - Can we fix this please?

Started by Builder_K, May 23, 2014, 18:58:11

Previous topic - Next topic

Builder_K

Why do lwjgl's matrices use non-standard numbering?  For example, (m03, m13, m23) should be translation coordinates (x,y,z).  Instead they are (m30, m31, m32). This is causing serious grief when porting other libraries.  (In my particular case, JBullet uses Java3D matrices)

I've never seen a library that uses the Transposed numbering that lwjgl does.

So... to fix it.  It could be done with 17 refactor --> rename calls in eclipse (possible 27 if Matrix3f is completely separate from Matrix4f).  This would only break functionality for users who directly access the matrix elements.  Since these are the users who should know what they are doing, they will likely appreciate the change.  They would simply need to perform the same 17 (or 27) refactor commands.

Or is there some reason that this standard is used?

Thoughts?  (I'm willing to implement the changes, but I don't want to cause problems.)

spasi

The vector package is entirely optional, you don't need it to use LWJGL (I personally never have). You could write your own vecmath library, or use a 3rd-party one.

In any case, it's too late for such a breaking change to LWJGL 2. Development focus has shifted to LWJGL 3, which is a complete rewrite and will not include a vecmath package.