为了导出一个物体,我们需要先了解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>部分,这个部分描述了一个顶点的结构。在上述的骨架中,只有一个顶点,事实上,在我们后面的程序中,会让一个循环来生成每个顶点,所以,顶点部分的内容,一般会有多个。