为了导出一个物体,我们需要先了解Ogre的XML文件的结构。如下是一个物体的场景被导出成Ogre XML (.mesh.xml)的骨架:
<?xml version="1.0"?>
<mesh>
<submeshes>
<submesh material="xx" usesharedvertices="false" use32bitindexes="xx">
<faces count="xx">
<face v1="x" v2="x" v3="x" ... vN="x" />
</faces>
<geometry vertexcount="x">
<vertexbuffer positions="true" normals="x" colours_diffuse="x" texture_coords="x" texture_coords_dimensions_N="2">
<vertex>
<position x="x" y="y" z="z" />
<colour_diffuse value=" r g b" />
<normal x="x" y="y" z="z" />
<texcoord u="x" v="y" />
<texcoord v="y" w="z" />
<texcoord w="z" u="x" />
</vertex>
</vertexbuffer>
</geometry>
</submesh>
</submeshes>
</mesh>
为了关注于一个导出插件的制作,我们第一个场景准备只针对一个平面(4个顶点),并且没有材质,因此,所有关注力放在上述的<vertex> </vertex>部分,这个部分描述了一个顶点的结构。在上述的骨架中,只有一个顶点,事实上,在我们后面的程序中,会让一个循环来生成每个顶点,所以,顶点部分的内容,一般会有多个。