三维模型 DAE 导出格式结合 OpenGLES 要素浅析
三维模型 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 另一处引用,就是我们要追踪的:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvb3BlbmdsX2Vz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
这是几何体 geometry 的一块表皮 mesh 的组成三角形上要贴的材质是 scene_material,而这个材质是引用的那一张图片,详细怎样从这张图片上裁切,就得依据纹理坐标来定了。
以上完毕了 OpenGLES 工作流程的描写叙述。
三维模型 DAE 导出格式结合 OpenGLES 要素浅析的更多相关文章
- ArcGIS中地图导出格式比较(转)
转自:http://blog.sina.com.cn/s/blog_6438c8360101eqfx.html 有人问过这样的问题,用于出挂图的地图格式应该怎么选择?熟悉ArcGIS的用户都知道, ...
- crm SSRS 报表 导出格式控制
如果是使用的网页嵌入ReportView的方式的,可以在aspx上加入js来控制导出格式: <script src="js/jquery-1.9.0.js"></ ...
- PowerDesigner自定义Word导出格式
本文主要讲解如何将PDM的表结构导出成word以及如何自定义导出格式和显示效果,希望对大家有所帮助...(以下步骤以PowerDesigner 15版本为例) 一.新建导出报表,进入报表设计界面: 1 ...
- Birt设置导出格式和去掉多余按钮的方法
1.设置导出格式: webcontent>birt>pages>dialog>ExportReportDialogFragment.jsp页面: 找到for ( int i = ...
- Dev GridControl数据导出格式问题
环境:DevExpress9.3,Vs2008 DevExpress的GridControl提供方便的数据导出到Excel功能,导出中用户可以根据GridControl的格式进行导出(ExportTo ...
- ABAP-ALV报表导出格式恢复初始画面
进入一个ALV表格,想下载数据,一般点清单-->输出-->电子数据表. 会出来一个对话框,可选择导出成各类格式. 在下端有一个“始终使用选定的格式”,一旦勾上,就再也不会弹出选择框了. 以 ...
- 如何设置FusionCharts图片导出格式
通过设置FusionCharts的<chart exportEnabled='1' ...>属性,就可以导出图表,图表的右键菜单将会显示所有可能导出的格式- JPEG, PNG and P ...
- phpexecel 导入导出,格式
1.日期时间合并到c中 =a1 &b1 或 =a1 + b1 这些都是运算符 2.此时c1的值是这条公式,而并不是公式运算的结果 复制c,粘贴到d,选择粘贴值 3.此时c是时间日期格式的,如需 ...
- 《FLASH CC 2015 CANVAS 中文教程》——1、导出canvas动画,文件结构浅析
注::如果你对 FLASH 这个软件操作不够熟悉,建议你可以先看看FLASH动画之类的书. :FLASH CC 在文中直接简称为CC. :以下所以文章中所说的快捷键 如果你按了不起作用,请检查是否有其 ...
随机推荐
- mysql 虚拟列
http://blog.csdn.net/yueliangdao0608/article/category/351407
- printf回到上一行开头以及回到本行开头的方法
回到上一行开头 #include <stdio.h> #include <unistd.h> int main(void) { ; ){ printf("%d\n&q ...
- 小米手机不能直接运行Android Studio程序
小米手机不能直接运行Android Studio程序 转载自:http://www.jianshu.com/p/6588c69b42cf Problem description: Android St ...
- Ant简单工程的构建
1.在Ant的官方网站http://ant.apache.org/bindownload.cgi下载Ant最新版本(我下载的是apache-ant-1.8.2-bin.zip),Ant无需安装,直接解 ...
- springboot2.X整合mybatis
github地址:https://github.com/BenchChen/springboot 1) 创建springboot-maven项目,并修改pom文件 <?xml version=& ...
- iOS: FFmpeg的使用一
现状:现在视频直播非常的火,所以在视频直播开发中,使用的对视频进行遍解码的框架显得尤为重要了,其实,这种框架蛮多的,这次主要介绍一下FFmpeg视频播放器的集成和使用,FFmpeg是视频编解码的利器. ...
- JavaScript实现计算器功能
截图 : cal.js var Class = {} ; Class.calculation = function(){ var calculation = {} ; calculation.resu ...
- 【crontab】“bad minute”及“errors in crontab file, can't install”错误处理
今天有朋友提到,在使用crontab定制后台定时备份任务时报出“bad minute”及“errors in crontab file, can't install”错误.经确认,根本原因是cront ...
- HDU 1710 Binary Tree Traversals(二叉树)
题目地址:HDU 1710 已知二叉树先序和中序求后序. #include <stdio.h> #include <string.h> int a[1001], cnt; ty ...
- Activity与Service通信
Activity与Service通信的方式有三种: 继承Binder类 这个方式只有当你的Acitivity和Service处于同一个Application和进程时,才可以用,比如你后台有一个播放背景 ...