三维模型 DAE 导出格式结合 OpenGLES 要素浅析
太阳火神的美丽人生 (http://blog.csdn.net/opengl_es)
本文遵循“署名-非商业用途-保持一致”创作公用协议
首先来看看一个从 3dmax 导出的 DAE 格式模型的文本内容结构,其内容是 XML 结构组织的,所以就当作 XML 来看就行。
使用浏览器打开,并折叠顶层节点,如下图:dae 模型下载
这里有 asset、library_effects、library_materials、library_geometries、library_controllers、library_images、library_visual_scenes、library_animations、scene 九个节点,也许不止这些,但这些里我们关心的也仅仅是 library_effects、library_materials、library_geometries、library_images 这四个而已。
下面就从一张图片如何被贴到一个三维几何体表面这一过程来分析,这一个XML模型文件,本来是静态的,但当你把它生动地描述出来之后,可能对 OpenGLES 的工作过程就基本掌握了。OpenGLES 的状态机原理,在这里也有一定体现噢,状态之间的转换,本身就是静中蕴动,慢慢全会这一悬机吧,总感觉 OpenGL 发明者对中国太极拳有很深的领悟,以静制动,把握关键!
先来看看图片如何在这里模型文件中引用的:
VWS_B_Male2-2.jpg 是一个与当前 dae 模型同目录的 jpg 图片文件,其尺寸要求是 2 的次幂。
记住这里的 image 的 id 是 VWS_B_Male2-2_jpg ,我们还要用它来继续追踪。
注意这里的 id 是 scene_material,这是材质球?那引用它的 material 是什么?
另外,scene_material 还有一处引用,就是我们要追踪的:
这是几何体 geometry 的一块表皮 mesh 的组成三角形上要贴的材质是 scene_material,而这个材质是引用的那一张图片,具体如何从这张图片上裁切,就得根据纹理坐标来定了。
以上完成了 OpenGLES 工作流程的描述。