FBX file understanding resource?

I downloaded the FBX SDK and found the following citation :

NoteThe FBX file format is not documented

My issue comes from a test on a triangulate plane.

No surprise about the Vertices list.

Now the PolygonVertexIndex list return number between -4 to 3…

        PolygonVertexIndex: *6 {
a: 0,3,-3,0,1,-4
} 

Well I though each vertex matched a given index from the vertices list by group of 3 coordinates, but negatives value on index is a little bit strange O_o…

Does some has some extra info about those negatives number? :?:

Well, quickly found the following citation here :

The one trick here is that the end-of-polygon indicator is a negative sign on the index minus one

But this doesn’t really explain why I am still having index of 0 and 4.
It should be from 0 to 3 for a plane (= 4 vertices), isn’t it?

niark noobs question…

negativeIndex = (index * -1) - 1

So you’re trying to figure out the ascii version of an .fbx file?

Yeah…

And still looking for a documentation about the FBX poly stripping method…

Nothing into the SDK documentation, it is written they do not explain this part…

I finally come to write my own format during January but still interesting to understand the FBX one…:|:

The FBX file format is not documented.

[QUOTE=sama.van;13623]

        PolygonVertexIndex: *6 {
a: 0,3,-3,0,1,-4
} 

The one trick here is that the end-of-polygon indicator is a negative sign on the index minus one
[/QUOTE]

Looks like the end of polygon index is just a ‘bitwise not’ of the actual index. In C/C++ or Python this is the ~ operator. ~(-3) equals 2, and coversely; ~2 equals -3.

So the plane consists of two polygons; the first one has [0, 3, 2] vertex indices and the other one has [0, 1, 3].

[QUOTE=madyasiwi;14582]In C/C++ or Python this is the ~ operator. ~(-3) equals 2, and coversely; ~2 equals -3.[/QUOTE]

Cool info! Didn’t know that, thanks!

I’ll jump on it soon as I have some free spot… and will keep the thread updated with my progression ^_^!.