//header section uint32 magic = "3db_"; uchar polygons_per_section; //number of polygons per section //vertex section uint16 sections; for(i=0; i<sections+1; i++) { //sections for(j=0; j<polygons_per_section; j++) { //read vertecies float x, y, z; } } uint32 attributes; //number of attributes //0 color //1 texture placement for(i=0; i<attributes; i++) { uint32 attribute_size; for(j=0; i<attribute_size;j++) read(attribute_chunk); } uchar strings; //number of string attributes for(i=0; i<strings; i++) { //0 texture map //1 bump map //2 alpha mask } //child section uint32 children; //number of child objects for(i=0; i<children; i++) { char *path; //path name of child relative to object float x, y, z; //location relative to object uint16 a, b, c; //rotation relative to object uchar inherit; //inherit attributes }