Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: downloads/Tools/XMLConverter/docs/ogremeshxml.dtd @ 6

Last change on this file since 6 was 6, checked in by anonymous, 17 years ago

=…

File size: 5.7 KB
Line 
1<!ELEMENT mesh (sharedgeometry?, submeshes, 
2        skeletonlink?, boneassignments?, levelofdetail?, submeshnames?, poses?, animations?, extremes?)>
3<!ELEMENT sharedgeometry (vertexbuffer+)>
4<!ATTLIST sharedgeometry
5        vertexcount CDATA #REQUIRED>
6<!ELEMENT submeshes (submesh+)>
7<!ELEMENT submesh (textures?,faces,geometry?,boneassignments?)>
8<!ATTLIST submesh 
9        material                        CDATA                   #REQUIRED
10        usesharedvertices       (true|false)    "true"
11        use32bitindexes         (true|false)    "false"
12        operationtype       (triangle_list|triangle_strip|triangle_fan) "triangle_list">
13<!ELEMENT textures (texture+)>
14<!ELEMENT texture EMPTY>
15<!ATTLIST texture
16        alias   CDATA   #REQUIRED
17        name    CDATA   #REQUIRED>
18<!ELEMENT faces (face+)>
19<!ATTLIST faces 
20        count           CDATA   #IMPLIED>
21<!ELEMENT face EMPTY>
22<!-- Do not need all 3 vertex indexes if triangle_strip or triangle_fan
23     since every face after the first one is defined by a single vertex -->
24<!ATTLIST face 
25        v1              CDATA   #REQUIRED
26        v2              CDATA   #IMPLIED
27        v3              CDATA   #IMPLIED>
28<!ELEMENT geometry (vertexbuffer+)>
29<!ATTLIST geometry
30        vertexcount             CDATA           #IMPLIED >
31<!ELEMENT skeletonlink EMPTY>
32<!ATTLIST skeletonlink
33        name    CDATA   #REQUIRED>
34<!ELEMENT boneassignments (vertexboneassignment+)>
35<!ELEMENT vertexboneassignment EMPTY>
36<!ATTLIST vertexboneassignment 
37        vertexindex             CDATA   #REQUIRED
38        boneindex               CDATA   #REQUIRED
39        weight                  CDATA   "1.0">
40<!ELEMENT levelofdetail ( (lodmanual|lodgenerated)+ )>
41<!ATTLIST levelofdetail 
42        numlevels               CDATA                   #REQUIRED
43        manual                  (true|false)    "false">
44<!ELEMENT lodmanual EMPTY>
45<!ATTLIST lodmanual
46        fromdepthsquared        CDATA   #REQUIRED
47        meshname                        CDATA   #REQUIRED>
48<!ELEMENT lodgenerated (lodfacelist)>
49<!ATTLIST lodgenerated
50        fromdepthsquared        CDATA   #REQUIRED
51        meshname                        CDATA   #REQUIRED>
52<!ELEMENT lodfacelist (face)+>
53<!ATTLIST lodfacelist
54        submeshindex            CDATA   #REQUIRED
55        numfaces                        CDATA   #REQUIRED>
56       
57<!ELEMENT vertexbuffer (vertex+)>
58<!ATTLIST vertexbuffer
59        positions                                       (true|false)    "false"
60        normals                                         (true|false)    "false"
61        colours_diffuse                         (true|false)    "false"
62        colours_specular                        (true|false)    "false"
63        texture_coords                          (0|1|2|3|4|5|6|7|8)     "0"
64        texture_coord_dimensions_0      (0|1|2|3)                       "2"
65        texture_coord_dimensions_1      (0|1|2|3)                       "2"
66        texture_coord_dimensions_2      (0|1|2|3)                       "2"
67        texture_coord_dimensions_3      (0|1|2|3)                       "2"
68        texture_coord_dimensions_4      (0|1|2|3)                       "2"
69        texture_coord_dimensions_5      (0|1|2|3)                       "2"
70        texture_coord_dimensions_6      (0|1|2|3)                       "2"
71        texture_coord_dimensions_7      (0|1|2|3)                       "2"
72        tangents                                        (true|false)    "false"
73        binormals                                       (true|false)    "false">
74<!ELEMENT vertex (position, normal?, tangent?, binormal?, colour_diffuse?, colour_specular?, 
75        texcoord*)>
76<!ELEMENT position EMPTY>
77<!ATTLIST position 
78        x       CDATA   #REQUIRED       
79        y       CDATA   #REQUIRED       
80        z       CDATA   #REQUIRED >
81<!ELEMENT normal EMPTY>
82<!ATTLIST normal 
83        x       CDATA   #REQUIRED       
84        y       CDATA   #REQUIRED       
85        z       CDATA   #REQUIRED >
86<!ELEMENT tangent EMPTY>
87<!ATTLIST tangent 
88        x       CDATA   #REQUIRED       
89        y       CDATA   #REQUIRED       
90        z       CDATA   #REQUIRED >
91<!ELEMENT binormal EMPTY>
92<!ATTLIST binormal 
93        x       CDATA   #REQUIRED       
94        y       CDATA   #REQUIRED       
95        z       CDATA   #REQUIRED >
96<!ELEMENT colour_diffuse EMPTY>
97<!-- 'value' is a space-separated string containing r,g,b and optionally alpha
98         for example value="1.0 0.0 0.0 0.5" or value="0.7 0.5 0.2" -->
99<!ATTLIST colour_diffuse 
100        value   CDATA   #REQUIRED>
101<!ELEMENT colour_specular EMPTY>
102<!-- 'value' is a space-separated string containing r,g,b and optionally alpha
103         for example value="1.0 0.0 0.0 0.5" or value="0.7 0.5 0.2" -->
104<!ATTLIST colour_specular 
105        value   CDATA   #REQUIRED>
106<!ELEMENT texcoord EMPTY>
107<!ATTLIST texcoord
108        u       CDATA   #REQUIRED       
109        v       CDATA   "0"     
110        w       CDATA   "0" >
111<!ELEMENT submeshnames (submeshname+)>
112<!ELEMENT submeshname EMPTY>
113<!ATTLIST submeshname 
114        name    CDATA   #REQUIRED
115        index   CDATA   #REQUIRED >
116<!ELEMENT poses (pose+)>
117<!-- A single pose references a single set of geometry data with a set of offsets.
118        If target is 'mesh', targets the shared geometry, if target is submesh, targets
119        the submesh identified by 'index'.
120-->
121<!ELEMENT pose (poseoffset+) >
122<!ATTLIST pose
123        target  (mesh|submesh) #REQUIRED
124        index   CDATA   "0"
125        name    CDATA   "">
126<!-- poseoffset lists the vertices that change position, and by how much -->
127<!ELEMENT poseoffset EMPTY>
128<!ATTLIST poseoffset
129    index       CDATA   #REQUIRED
130        x               CDATA   #REQUIRED
131        y               CDATA   #REQUIRED
132        z               CDATA   #REQUIRED >
133<!ELEMENT animations (animation+)>
134<!ELEMENT animation (tracks)>
135<!ATTLIST animation
136        name    CDATA   #REQUIRED 
137        length  CDATA   #REQUIRED >
138<!ELEMENT tracks (track+)>
139<!ELEMENT track (keyframes)>
140<!-- Morph animation is a keyframed set of absolute vertex positions. Cannot
141     be blended with other morph animations or pose animation.
142     Pose animation is a set of keyframes referencing poses and a weight,
143         with one track per set of vertex data.
144         Can be blended with other poses but not with morph animation.
145        If target is 'mesh', targets the shared geometry, if target is submesh, targets
146        the submesh identified by 'index'.
147-->
148<!ATTLIST track 
149        target  (mesh|submesh) #REQUIRED
150        index   CDATA   "0"
151        type    (morph|pose) #REQUIRED>
152<!-- keyframes are applicable for all tracks, but for morph tracks
153     they contain positions, and for pose tracks they contain pose references -->
154<!ELEMENT keyframes (keyframe*)>
155<!ELEMENT keyframe (position*, poseref*)>
156<!ATTLIST keyframe
157        time    CDATA   #REQUIRED >
158<!-- Pose reference, links to pose via numeric index. target of parent track
159        must agree with target of referenced pose. For a single track, each
160        keyframe can reference multiple poses at different weights. -->
161<!ELEMENT poseref EMPTY>
162<!ATTLIST poseref 
163        poseindex       CDATA   #REQUIRED
164        influence       CDATA   "1.0">
165<!-- Optional extremity points on submeshes for sub-object transparency sorting -->
166<!ELEMENT extremes (submesh+)>
167<!ELEMENT submesh_extremes (position+)>
168<!ATTLIST submesh_extremes
169        index   CDATA   #REQUIRED>
170
171       
172
173       
174                               
175       
176
177
178
179
Note: See TracBrowser for help on using the repository browser.