WebKit Bugzilla

Full Text Bug Listing

Summary: | CSSMatrix value attributes (m11-m44) should be transposed (?) | ||
---|---|---|---|

Product: | WebKit | Reporter: | Brendan Kenny <bckenny> |

Component: | CSS | Assignee: | Nobody <webkit-unassigned> |

Status: | UNCONFIRMED --- | ||

Severity: | Normal | CC: | cmarrin, simon.fraser |

Priority: | P2 | ||

Version: | 528+ (Nightly build) | ||

Hardware: | All | ||

OS: | All |

Description
Brendan Kenny
2010-05-11 17:10:00 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? 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. 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. |