三维模型 DAE 导出格式结合 OpenGLES 要素浅析

太阳火神的漂亮人生 (http://blog.csdn.net/opengl_es)

本文遵循“署名-非商业用途-保持一致”创作公用协议

转载请保留此句:太阳火神的漂亮人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS、Android、Html5、Arduino、pcDuino否则,出自本博客的文章拒绝转载或再转载,谢谢合作。


首先来看看一个从 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 工作流程的描写叙述。





posted on 2017-08-08 19:05  yutingliuyl  阅读(373)  评论(0编辑  收藏  举报