noirgel

Member
  • Content count

    5
  • Joined

  • Last visited

Community Reputation

0 Neutral

About noirgel

  • Rank
    Newbie
  1. Thanks a lot!! Best regards
  2. Exactly, an integer with decimals?! wtf. I believe it is meant hexadecimals 0x0000, 0x0011 and 0x1111 (SHORTS not INTS!!!) If there is only these three options (empty, filled and a hint to "in the surface") it would have been enough with 2 bits, compressing the data automatically by a factor of 8 in case of shorts or 16 in case of ints. I don't think any normals are encoded here, because surface representation is in another chunk. People from 3dcoat, could you answer some of this? Thank you!
  3. Your code looks nicer to me than mine, and you've tackled the endianness problem in a cleaner way. But in essence, we are doing the same. By the way, in: DWORD Number of voxel cells. Every cell is a volume 8x8x8 that contains WORDS (16 bits). 0 means that cell is empty, 65535 filled, 32767.5 position of the surface. That last sentence refers to the voxels, once the cells are read, right? Besides, in the specification it is mentiones that the value "INT side" is always 9, but there is no pattern in the binary file that resembles an INT 0x00000009 anywhere. The specification is wrong, misleading or expressed really confusingly. Best regards read3b.zip
  4. Hi! I apologize for posting again without waiting for an answer, but I'm pretty confused with this binary format... I'm trying several combinations, and trying to reverse-engineer from files, but from the point: DWORD Number of voxel cells. Every cell is a volume 8x8x8 that contains WORDS (16 bits). 0 means that cell is empty, 65535 filled, 32767.5 position of the surface. ...it's described in an ambiguous manner, that I can't match with the actual binary format. Could you please explain that part of the specification "For every cell" and what comes just before, please? I would really appreciate, Thank you very much Best regards
  5. Hi, I'm trying to read the voxel format, and I managed to parse some of it but I'm stuck at one point: After it says: DWORD Number of voxel cells. Every cell is a volume 8x8x8 that contains WORDS (16 bits). 0 means that cell is empty, 65535 filled, 32767.5 position of the surface. (Question 1) cells directly come in an array at this point, after the "DWORD number of voxel cells"? doing so I get these values: Number of voxel cells: 20303 x position: 2 y position: -786429 z position: 17432564 cell side: 1 but cell side is supposed to be 9! besides, the y and z position seem to be totally wrong. I'm sure I parse properly up until the name of the shader, however it says there: "In general this set of characters consists of 2 parts 2 zero-terminated strings. First one is name of the shader, second XML data with shaders parameters. Every shader variable has own tag in this XML. If you dont need shader parameters just read all this as a single string." (Question 2) does that mean that even though I get the number of characters of the shader from the previous serialized variable, there is still another null-terminated string after that one? Anyway, I have scanned the binary file for the value 00 00 00 09 in hex, representing the 32-bits integer 9, and only a few occurences, so obviously the "cell side" variable that should be 9 is not there. (Question 3) Or is it a 16-bit integer? Thanks a lot for your time, I think what I'm doing could be useful for 3d coat users Best regards