I'm analyzing an rather ancient 3D mesh format (from 1995 or 1996). Inside the files, there are blocks of what I think are vertices.
For example, the following is a direct hex dump from such a part:
7855DAFF
5BE60E00
353D0200
C82D0B00
5BE60E00
353D0200
C82D0B00
5BE60E00
B61AEDFF
7855DAFF
5BE60E00
B61AEDFF
7855DAFF
59D2FDFF
363D0200
C82D0B00
59D2FDFF
363D0200
C82D0B00
59D2FDFF
B61AEDFF
7855DAFF
59D2FDFF
B61AEDFF
These blocks are introduced by a little header, which has a value that could be the number of vertices that are present in the corresponding data block. For this excerpt, there is a 0x08
. Since we have 24 values of 32bit, I think it is safe to assume that these blocks are actual vertices (0x08 * 3 = 24
, with xyz
). Other headers also have this value and their data blocks also have the exact number of dwords ([value in header] * 3 => number of dwords
).
But, now I'm struggling at deciphering the number format that was used. It isn't IEEE754; a friend of mine also pointed out that the hardware that was used these days didn't perform well with floating-point numbers and therefore often fixed-point numbers where used.
So, any idea what kind of format this could be ?