Cesium中简单的LOD动态加载大量三维模型
2016-03-02 20:37
369 查看
Cesium中提供了三维模型加载API,但是很显然一般三维场景的模型成千上万,如果单纯采用默认的三维模型加载方案会出现浏览器吃不消致使崩溃或者高延迟低帧率等影响正常可视化交互的问题。诚然官方团队已经开始了一个号称革新技术的3Dtiles的三维模型批量加载处理方案,但目前其一直还在开发中,而且也还没有看到一个数据处理项目,当然github上的相关分支中也能看到运行不错的例子了。从一个公司或者一个团队自己的应用开发角度出发,能够拥有自己可以控制的三维模型加载方式的好处是不言而喻的,一方面可以很好的做到业务流程的控制,另方面显然的对自己的业务数据也有一定的保密作用。3Dtile的实施方法其实就是为批量模型加载添加一个快速索引和数据集的整体性描述,从而减少渲染循环中需要处理的实体数据量,最终实现三维模型加载效率的提升。
在最近闲暇时完成了简单的LOD动态加载大量三维模型核心代码扩展。目前单纯采用的是R树索引,支持动态数据的加入和剔除,可配置为无缓存和缓存两种模式,无缓存模式是动态调度数据并剔除视野范围内的数据的,这样的好处是减低Cesium在加载范围三维模型时的资源消耗,当然这样数据资源的释放会增加网络负担和因为数据加载带来的数据延迟;为了能更好的节省网络开销和一定程度上提高数据的交互能力,本扩展也支持缓存模式,即数据一经加载其所占资源并不释放而只控制其数据的渲染与否。效果如下面几图展示。
这些图片截自于个人录制的LOD展示视频,实验数据是从某位朋友那里拿到的费城区域部分数据,大约有430+的模型,懒得上传到视频网上了,这里给一个百度网盘地址,有兴趣可以下载下来看下:http://pan.baidu.com/s/1boijkwn 当然也可以加入Cesium交流群:115883691
里面的群共享文件中也有。如有兴趣或者相关疑问欢迎加我QQ:491453302或者关注我的微博:Web3DGIS 可了解个人和团队相关研究进展。
在最近闲暇时完成了简单的LOD动态加载大量三维模型核心代码扩展。目前单纯采用的是R树索引,支持动态数据的加入和剔除,可配置为无缓存和缓存两种模式,无缓存模式是动态调度数据并剔除视野范围内的数据的,这样的好处是减低Cesium在加载范围三维模型时的资源消耗,当然这样数据资源的释放会增加网络负担和因为数据加载带来的数据延迟;为了能更好的节省网络开销和一定程度上提高数据的交互能力,本扩展也支持缓存模式,即数据一经加载其所占资源并不释放而只控制其数据的渲染与否。效果如下面几图展示。
这些图片截自于个人录制的LOD展示视频,实验数据是从某位朋友那里拿到的费城区域部分数据,大约有430+的模型,懒得上传到视频网上了,这里给一个百度网盘地址,有兴趣可以下载下来看下:http://pan.baidu.com/s/1boijkwn 当然也可以加入Cesium交流群:115883691
里面的群共享文件中也有。如有兴趣或者相关疑问欢迎加我QQ:491453302或者关注我的微博:Web3DGIS 可了解个人和团队相关研究进展。
相关文章推荐
- 20145208 《Java程序设计》第0周学习总结
- 试题库问题 2011-12-29
- C++析构函数为什么要为虚函数
- 【C#】基础知识—运算符
- LeetCode258:Add Digits
- 另一个前端优化
- JS原型和闭包
- UVA - 12230 Crossing Rivers (期望)
- ios autolayout中NSLayoutAttributeLeft(Right)与NSLayoutAttributeLeading(Trailing)区别
- Easyui---模态对话框实现ESC键一键锁屏(输入密码解锁)
- 【C#】基础知识—数据类型、数据类型转换
- vs2010开发activex(MFC)控件/ie插件(一)
- 网站前端优化
- hdu2562
- 将项目部署到Tomcat7时遇到的一点小问题
- 最长递增子序列问题 2011-12-29
- hdu Rescue (bfs)
- 放大镜效果实现
- 在嵌入式设备中使用protobuf
- vs生成的exe程序和相关dll打包