The structure of the FunMedia 3D-object:


back

6 Char - 'FUN-3D'

The file is structured with 'Chunks' and has the ending *.3DO.
Each Chunk has 4 byte for the identification followed from 4 byte for the length. The appropriate data follow.
At present the following Chunks are defined (not completely):
4 byte - 'LICH'
4 byte - size
2 byte - source of light x-value
2 byte - source of light y-value
2 byte - source of light z-value
2 byte - light intensity

4 byte - 'PKT '
4 byte - size
4 byte - number of points
n*6 byte - in each case n times 2 byte for x, y, z

4 byte - 'FLAT'
4 byte - size
4 byte - number of surfaces
n times
2 byte - points of the surface (so far 4 or 3)
2 byte - texture number
2 byte - transparency
2 byte - ??
2 byte - ??
2 byte - ??
4*2 byte - for point number
4*4 byte -
for X and Y coordinate of the appropriate texture in %. These data indicates where the corner points of the area on the texture are. Since the textures could be at any sice, these specification is from 0 to 1000. If a four sided area takes the whole texture the values would be: 0,0,1000,0,1000,1000,0,1000. The sequence of the points is in the clockwise direction!
4 byte - 'MAT'
4 byte - size
4 byte - number of textures
2 byte - width
2 byte - height
2 byte - depth of shade (can be different - > flexible)
2 byte - amount of pictures (textures can also be films)
? byte - graphic data

4 byte - 'ENTF'
4 byte - size
2 byte - distance of the observer

4 byte - 'AMB'
4 byte - size
2 byte - ambience of light in %

4 byte - 'MOD'
4 byte - size
2 byte - lighting model (1=no, 2=simple, 3=gouraud, 4=pong)

4 byte - 'ZBUF'
4 byte - size
2 byte - Z-buffer (0=no, use Maler-algorithm , 1=yes)

4 byte - 'BFC'
4 byte - size
2 byte - back face culling (do not show surfaces that point to the rear - only with closed bodies!)

End of file:

4 byte - 'END'
4 byte - 0