Ogre meshxml DTD

From Schmid.wiki
Jump to: navigation, search

Ogre .mesh.xml Document Type Definition (DTD) as of 2007-03-30

<!ELEMENT mesh (sharedgeometry?, submeshes, 
	skeletonlink?, boneassignments?, levelofdetail?, submeshnames?, poses?, animations?, extremes?)>
<!ELEMENT sharedgeometry (vertexbuffer+)>
<!ATTLIST sharedgeometry
	vertexcount CDATA #REQUIRED>
<!ELEMENT submeshes (submesh+)>
<!ELEMENT submesh (textures?,faces,geometry?,boneassignments?)>
<!ATTLIST submesh 
	material 			CDATA 			#REQUIRED
	usesharedvertices	(true|false)	"true"
	use32bitindexes		(true|false)	"false"
	operationtype       (triangle_list|triangle_strip|triangle_fan)	"triangle_list">
<!ELEMENT textures (texture+)>
<!ELEMENT texture EMPTY>
<!ATTLIST texture
	alias	CDATA	#REQUIRED
	name	CDATA	#REQUIRED>
<!ELEMENT faces (face+)>
<!ATTLIST faces 
	count		CDATA	#REQUIRED>
<!ELEMENT face EMPTY>
<!ATTLIST face 
	v1		CDATA	#REQUIRED
	v2		CDATA	#IMPLIED
	v3		CDATA	#IMPLIED>
<!ELEMENT geometry (vertexbuffer+)>
<!ATTLIST geometry
	vertexcount		CDATA		#REQUIRED >
<!ELEMENT skeletonlink EMPTY>
<!ATTLIST skeletonlink
	name	CDATA	#REQUIRED>
<!ELEMENT boneassignments (vertexboneassignment+)>
<!ELEMENT vertexboneassignment EMPTY>
<!ATTLIST vertexboneassignment 
	vertexindex		CDATA	#REQUIRED
	boneindex		CDATA	#REQUIRED
	weight			CDATA	"1.0">
<!ELEMENT levelofdetail ( (lodmanual|lodgenerated)+ )>
<!ATTLIST levelofdetail 
	numlevels		CDATA			#REQUIRED
	manual			(true|false)	"false">
<!ELEMENT lodmanual EMPTY>
<!ATTLIST lodmanual
	fromdepthsquared	CDATA 	#REQUIRED
	meshname			CDATA	#REQUIRED>
<!ELEMENT lodgenerated (lodfacelist)>
<!ATTLIST lodgenerated
	fromdepthsquared	CDATA 	#REQUIRED
	meshname			CDATA	#REQUIRED>
<!ELEMENT lodfacelist (face)+>
<!ATTLIST lodfacelist
	submeshindex		CDATA	#REQUIRED
	numfaces			CDATA	#REQUIRED>
	
<!ELEMENT vertexbuffer (vertex+)>
<!ATTLIST vertexbuffer
	positions 					(true|false)	"false"
	normals 					(true|false)	"false"
	colours_diffuse 			(true|false)	"false"
	colours_specular 			(true|false)	"false"
	texture_coords				(0|1|2|3|4|5|6|7|8) 	"0"
	texture_coord_dimensions_0 	(0|1|2|3)		 	"2"
	texture_coord_dimensions_1 	(0|1|2|3)		 	"2"
	texture_coord_dimensions_2 	(0|1|2|3)		 	"2"
	texture_coord_dimensions_3 	(0|1|2|3)		 	"2"
	texture_coord_dimensions_4 	(0|1|2|3)		 	"2"
	texture_coord_dimensions_5 	(0|1|2|3)		 	"2"
	texture_coord_dimensions_6 	(0|1|2|3)		 	"2"
	texture_coord_dimensions_7 	(0|1|2|3)		 	"2"
	tangents					(true|false)	"false"
	binormals					(true|false)	"false">
<!ELEMENT vertex (position, normal?, tangent?, binormal?, colour_diffuse?, colour_specular?, 
	texcoord*)>
<!ELEMENT position EMPTY>
<!ATTLIST position 
	x	CDATA	#REQUIRED	
	y	CDATA	#REQUIRED	
	z	CDATA	#REQUIRED >
<!ELEMENT normal EMPTY>
<!ATTLIST normal 
	x	CDATA	#REQUIRED	
	y	CDATA	#REQUIRED	
	z	CDATA	#REQUIRED >
<!ELEMENT tangent EMPTY>
<!ATTLIST tangent 
	x	CDATA	#REQUIRED	
	y	CDATA	#REQUIRED	
	z	CDATA	#REQUIRED >
<!ELEMENT binormal EMPTY>
<!ATTLIST binormal 
	x	CDATA	#REQUIRED	
	y	CDATA	#REQUIRED	
	z	CDATA	#REQUIRED >
<!ELEMENT colour_diffuse EMPTY>
<!ATTLIST colour_diffuse 
	value	CDATA	#REQUIRED>
<!ELEMENT colour_specular EMPTY>
<!ATTLIST colour_specular 
	value	CDATA	#REQUIRED>
<!ELEMENT texcoord EMPTY>
<!ATTLIST texcoord
	u	CDATA	#REQUIRED	
	v	CDATA	"0"	
	w	CDATA	"0" >
<!ELEMENT submeshnames (submeshname+)>
<!ELEMENT submeshname EMPTY>
<!ATTLIST submeshname 
	name	CDATA	#REQUIRED
	index	CDATA	#REQUIRED >
<!ELEMENT poses (pose+)>
<!ELEMENT pose (poseoffset+) >
<!ATTLIST pose
	target	(mesh|submesh) #REQUIRED
	index   CDATA   "0"
	name	CDATA	"">
<!ELEMENT poseoffset EMPTY>
<!ATTLIST poseoffset
    index	CDATA	#REQUIRED
	x		CDATA	#REQUIRED
	y		CDATA	#REQUIRED
	z		CDATA	#REQUIRED >
<!ELEMENT animations (animation+)>
<!ELEMENT animation (tracks)>
<!ATTLIST animation
	name	CDATA	#REQUIRED 
	length  CDATA   #REQUIRED >
<!ELEMENT tracks (track+)>
<!ELEMENT track (keyframes)>
<!ATTLIST track 
	target	(mesh|submesh) #REQUIRED
	index	CDATA	"0"
	type    (morph|pose) #REQUIRED>
<!ELEMENT keyframes (keyframe*)>
<!ELEMENT keyframe (position*, poseref*)>
<!ATTLIST keyframe
	time	CDATA	#REQUIRED >
<!ELEMENT poseref EMPTY>
<!ATTLIST poseref 
	poseindex	CDATA	#REQUIRED
	influence	CDATA	"1.0">
<!ELEMENT extremes (submesh+)>
<!ELEMENT submesh_extremes (position+)>
<!ATTLIST submesh_extremes
	index	CDATA	#REQUIRED>
Personal tools