Next: References, Previous: ND Transformation matrices, Up: Conventions
Many OOGL objects accept binary as well as ASCII file formats.
These files begin with the usual ASCII token (e.g. CQUAD
)
followed by the word BINARY
.
Binary data begins at the byte following the first newline after
BINARY
. White space and a single comment may intervene, e.g.
OFF BINARY # binary-format "OFF" data follows
Binary data comprise 32-bit integers and 32-bit IEEE-format floats, both in big-endian format (i.e., with most significant byte first). This is the native format for 'int's and 'float's on Sun-3's, Sun-4's, and Irises, among others.
Binary data formats resemble the corresponding ASCII formats, with ints
and floats in just the places you'd expect. There are some exceptions
though, specifically in the QUAD
, OFF
and COMMENT
file formats. Details are given in the individual file format
descriptions. See QUAD, See OFF, and See COMMENT.
Binary OOGL objects may be freely mixed in ASCII object streams:
LIST { = MESH BINARY ... binary data for mesh here ... } { = QUAD 1 0 0 0 0 1 0 1 0 0 1 0 }
Note that ASCII data resumes immediately following the last byte of binary data.
Naturally, it's impossible to embed comments inside a binary-format OOGL object, though comments may appear in the header before the beginning of binary data.