source: GTP/trunk/Lib/Illum/GPUObscurancesGT/docs/ogremeshxml.dtd @ 930

Revision 930, 5.2 KB checked in by igarcia, 18 years ago (diff)
Line 
1<!ELEMENT mesh (sharedgeometry?, submeshes,
2        skeletonlink?, boneassignments?, levelofdetail?, submeshnames?, poses?, animations?)>
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   #REQUIRED>
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           #REQUIRED >
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<!ELEMENT vertex (position, normal?, colour_diffuse?, colour_specular?,
73        texcoord*)>
74<!ELEMENT position EMPTY>
75<!ATTLIST position
76        x       CDATA   #REQUIRED       
77        y       CDATA   #REQUIRED       
78        z       CDATA   #REQUIRED >
79<!ELEMENT normal EMPTY>
80<!ATTLIST normal
81        x       CDATA   #REQUIRED       
82        y       CDATA   #REQUIRED       
83        z       CDATA   #REQUIRED >
84<!ELEMENT colour_diffuse EMPTY>
85<!-- 'value' is a space-separated string containing r,g,b and optionally alpha
86         for example value="1.0 0.0 0.0 0.5" or value="0.7 0.5 0.2" -->
87<!ATTLIST colour_diffuse
88        value   CDATA   #REQUIRED>
89<!ELEMENT colour_specular EMPTY>
90<!-- 'value' is a space-separated string containing r,g,b and optionally alpha
91         for example value="1.0 0.0 0.0 0.5" or value="0.7 0.5 0.2" -->
92<!ATTLIST colour_specular
93        value   CDATA   #REQUIRED>
94<!ELEMENT texcoord EMPTY>
95<!ATTLIST texcoord
96        u       CDATA   #REQUIRED       
97        v       CDATA   "0"     
98        w       CDATA   "0" >
99<!ELEMENT submeshnames (submeshname+)>
100<!ELEMENT submeshname EMPTY>
101<!ATTLIST submeshname
102        name    CDATA   #REQUIRED
103        index   CDATA   #REQUIRED >
104<!ELEMENT poses (pose+)>
105<!-- A single pose references a single set of geometry data with a set of offsets.
106        If target is 'mesh', targets the shared geometry, if target is submesh, targets
107        the submesh identified by 'index'.
108-->
109<!ELEMENT pose (poseoffset+) >
110<!ATTLIST pose
111        target  (mesh|submesh) #REQUIRED
112        index   CDATA   "0"
113        name    CDATA   "">
114<!-- poseoffset lists the vertices that change position, and by how much -->
115<!ELEMENT poseoffset EMPTY>
116<!ATTLIST poseoffset
117    index       CDATA   #REQUIRED
118        x               CDATA   #REQUIRED
119        y               CDATA   #REQUIRED
120        z               CDATA   #REQUIRED >
121<!ELEMENT animations (animation+)>
122<!ELEMENT animation (tracks)>
123<!ATTLIST animation
124        name    CDATA   #REQUIRED
125        length  CDATA   #REQUIRED >
126<!ELEMENT tracks (track+)>
127<!ELEMENT track (keyframes)>
128<!-- Morph animation is a keyframed set of absolute vertex positions. Cannot
129     be blended with other morph animations or pose animation.
130     Pose animation is a set of keyframes referencing poses and a weight,
131         with one track per set of vertex data.
132         Can be blended with other poses but not with morph animation.
133        If target is 'mesh', targets the shared geometry, if target is submesh, targets
134        the submesh identified by 'index'.
135-->
136<!ATTLIST track
137        target  (mesh|submesh) #REQUIRED
138        index   CDATA   "0"
139        type    (morph|pose) #REQUIRED>
140<!-- keyframes are applicable for all tracks, but for morph tracks
141     they contain positions, and for pose tracks they contain pose references -->
142<!ELEMENT keyframes (keyframe*)>
143<!ELEMENT keyframe (position*, poseref*)>
144<!ATTLIST keyframe
145        time    CDATA   #REQUIRED >
146<!-- Pose reference, links to pose via numeric index. target of parent track
147        must agree with target of referenced pose. For a single track, each
148        keyframe can reference multiple poses at different weights. -->
149<!ELEMENT poseref EMPTY>
150<!ATTLIST poseref
151        poseindex       CDATA   #REQUIRED
152        influence       CDATA   "1.0">
153       
154
155       
156                               
157       
158
159
160
161
Note: See TracBrowser for help on using the repository browser.