Hello,
When creating an AWDSceneBlock in libawd, the transform matrix is set by default to the 4x4 identity matrix (scene.cc line 17). When writing the scene to a file, only the first 12 elements are written, because it is supposed to be a 4x3 matrix (scene.cc line 45). The problem is, truncating the 4x4 identity matrix to the first 12 elements doesn’t make a 4x3 identity matrix, because the matrix is stored column by column and not line by line. The resulting 4x3 matrix is :
(1 0 0 0)
(0 0 0 1)
(0 1 0 0)
This causes the scene block to have an incorrect transform matrix by default.
ps : there is also en error in the specification document, at the top of page 21 : the document states that the transform matrix is a 128 byte 4x4 matrix, but it is encoded de facto as a 48 byte 4x3 matrix.
Martin Bousquet
ps 2 : i know this is not the section to report bugs, but i don’t seem to find the section github about libawd…