|Summary:||CSSMatrix value attributes (m11-m44) should be transposed (?)|
|Product:||WebKit||Reporter:||Brendan Kenny <bckenny>|
|Version:||528+ (Nightly build)|
Description Brendan Kenny 2010-05-11 17:10:00 PDT
Comment 1 Chris Marrin 2010-05-12 14:57:04 PDT
Currently the implementation uses m<column><row>. The spec disagrees with this by saying "For instance m12 represents the value in the 2nd column of the first row" which implies m<row><column>. I believe m<column><row> is the justifiable order. Since this is a column major matrix, it seems reasonable that the column number comes first. So I think we should leave the implementation as it is and just change the spec. Agreed?
Comment 2 Brendan Kenny 2010-05-12 15:14:40 PDT
That makes perfect sense from the array/storage perspective. My only hesitation would be that in math and graphics texts it's the norm to have "column major" matrices (with vectors as columns and multiplied on the right) but refer to entries in the matrix as m_i,j where i is the row and j is the column. That said, it's just notation. I'm fine either way as long as it's in the spec so other implementations will (some day) follow the same convention.
Comment 3 Brendan Kenny 2010-05-12 15:25:47 PDT
FWIW another option is to avoid ambiguity and list the values as m0, m1, m2, ..., m15 (or m1 through m16) down each column in the style of opengl. It would also match the order of the "matrix3d(...)" transformation function.