//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
	}