三维模型 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 工作流程的描写叙述。