三维模型 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 另一处引用,就是我们要追踪的:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvb3BlbmdsX2Vz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />

这是几何体 geometry 的一块表皮 mesh 的组成三角形上要贴的材质是 scene_material,而这个材质是引用的那一张图片,详细怎样从这张图片上裁切,就得依据纹理坐标来定了。

以上完毕了 OpenGLES 工作流程的描写叙述。

三维模型 DAE 导出格式结合 OpenGLES 要素浅析的更多相关文章

  1. ArcGIS中地图导出格式比较(转)

    转自:http://blog.sina.com.cn/s/blog_6438c8360101eqfx.html   有人问过这样的问题,用于出挂图的地图格式应该怎么选择?熟悉ArcGIS的用户都知道, ...

  2. crm SSRS 报表 导出格式控制

    如果是使用的网页嵌入ReportView的方式的,可以在aspx上加入js来控制导出格式: <script src="js/jquery-1.9.0.js"></ ...

  3. PowerDesigner自定义Word导出格式

    本文主要讲解如何将PDM的表结构导出成word以及如何自定义导出格式和显示效果,希望对大家有所帮助...(以下步骤以PowerDesigner 15版本为例) 一.新建导出报表,进入报表设计界面: 1 ...

  4. Birt设置导出格式和去掉多余按钮的方法

    1.设置导出格式: webcontent>birt>pages>dialog>ExportReportDialogFragment.jsp页面: 找到for ( int i = ...

  5. Dev GridControl数据导出格式问题

    环境:DevExpress9.3,Vs2008 DevExpress的GridControl提供方便的数据导出到Excel功能,导出中用户可以根据GridControl的格式进行导出(ExportTo ...

  6. ABAP-ALV报表导出格式恢复初始画面

    进入一个ALV表格,想下载数据,一般点清单-->输出-->电子数据表. 会出来一个对话框,可选择导出成各类格式. 在下端有一个“始终使用选定的格式”,一旦勾上,就再也不会弹出选择框了. 以 ...

  7. 如何设置FusionCharts图片导出格式

    通过设置FusionCharts的<chart exportEnabled='1' ...>属性,就可以导出图表,图表的右键菜单将会显示所有可能导出的格式- JPEG, PNG and P ...

  8. phpexecel 导入导出,格式

    1.日期时间合并到c中 =a1 &b1 或 =a1 + b1 这些都是运算符 2.此时c1的值是这条公式,而并不是公式运算的结果 复制c,粘贴到d,选择粘贴值 3.此时c是时间日期格式的,如需 ...

  9. 《FLASH CC 2015 CANVAS 中文教程》——1、导出canvas动画,文件结构浅析

    注::如果你对 FLASH 这个软件操作不够熟悉,建议你可以先看看FLASH动画之类的书. :FLASH CC 在文中直接简称为CC. :以下所以文章中所说的快捷键 如果你按了不起作用,请检查是否有其 ...

随机推荐

  1. MOSFET shunt regulator substitutes for series regulator

    You would normally use a series linear regulator or a dc/dc converter to obtain 3V dc from a higher ...

  2. iptables学习与研究(使用LOG记录失败日志)

    原文地址: http://blog.csdn.net/fafa211/article/details/2307581 通常情况下,iptables的默认政策为DROP,不匹配的数据包将被直接丢弃.但在 ...

  3. Eclipse启动项目时,删除workspaces无用的工作区间

    选择菜单栏的window-->Preferences-->General-->Startup and Shutdown-->workspaces, Recent workspa ...

  4. 分享一个基于 Node.js 的 Web 开发框架 - Nokitjs

    简介 Nokit 是一个简单易用的基于 Nodejs 的 Web 开发框架,默认提供了 MVC / NSP / RESTful 等支持,并提供对应项目模板.管理工具. 资源 GitHub https: ...

  5. AlphaGo:用机器学习技术古老的围棋游戏掌握AlphaGo: Mastering the ancient game of Go with Machine Learning

    AlphaGo: Mastering the ancient game of Go with Machine Learning Posted by David Silver and Demis Has ...

  6. python的with和__enter__ 、 __exit__

    __enter__(): 在使用with语句时调用,会话管理器在代码块开始前调用,返回值与as后的参数绑定 __exit__():   会话管理器在代码块执行完成好后调用,在with语句完成时,对象销 ...

  7. iOS:删除storyBoard,纯代码实现UITabBarController的视图切换功能

    storyboard是一个很强大的编写代码的辅助工具,可以帮助布局多个视图之间的联系,既直观又能减少代码量:但是,作为一个程序员,在不使用storyboard的情况下,纯代码编写是必须的技能. 下面就 ...

  8. utf8_general_ci、utf8_unicode_ci和utf8_bin的区别

    utf8_general_ci 不区分大小写,这个你在注册用户名和邮箱的时候就要使用. utf8_general_cs 区分大小写,如果用户名和邮箱用这个就会照成不良后果. utf8_bin: com ...

  9. mac下的一些命令

    1.显示隐藏文件 defaults write com.apple.finder AppleShowAllFiles -bool true 2.隐藏隐藏文件 defaults write com.ap ...

  10. java后台与jsp前台特殊字符处理(字符串编码与解码)

    在后台与前台数据交互时如果有特殊字符就很容易出现问题,所以就需要对字符串进行编码传输,在获取后再进行解码: 1.Java后台进行编码与解码 URLEncoder.encode(str,"ut ...