Cesium应用篇:3控件(5)CesiumInspector
CesiumInspector控件并不是带来太多功能上的,但对开发人员来说,对于了解Cesium的渲染效果以及性能调优,还是一个很有价值的控件,特别是一些渲染状态下的问题,采用该控件,应该还是会有很多启发性的收获。
废话不多说,直接上代码:
简单一句话,就会出现如下这个超级专业的控件:
里面的具体功能不多,但每一个都很专业,也间接说明了Cesium内部一个很出色的管理机制,下面就一一道来。
Show Frustums
地球半径是6378137,处于精度的考虑,比如深度值和相机抖动等问题,Cesium根据当前区域的可视范围的深度最大值和最小值,会动态的维护裁剪区域,在必要的情况下会由近及远的分成多个裁剪区,这样每个区域的深度区间不至于太大。我还没有仔细看这块的代码,只能先说一个思路,后续涉及到原理篇时在深入研究。
而Show Frustums就是实时显示当前的裁剪区,并会统计在不同裁剪区中Command(渲染对象)的个数。通常,在稳定的情况下,一个裁剪区就足够了,除非存在两个高度差距比较大的物体同时在场景内。当然,在快速缩放的时候,特别是拉平时,可能在瞬间,深度区间会比较大,所以需要多个裁剪区。
如图,现实了不同的裁剪区间的分割,但可视范围稳定后,会更新裁剪区间,尽可能的保持在一个裁剪区内,如下图:
Performance Display
Scene中有一个Performance类,如果开启,会update统计帧数和每一帧的时间,和Chrome的帧数统计对比了一下,还是比较准的。
Globe Depth & Pick Depth
下面来看看两个深度的,大部分场景下,两者的深度值是相同的,除非有模型,且模型在空中,和地面差距比较大的时候,就有一些不同之处了。
我们先打开地形,选择STK影像,正常情况下效果如下:
查看深度效果如下:
可以看到越近则深度越小,越趋近于黑色(0),月原则深度值越大(255)。我们加载一架飞机到此处,再看看会有如何的变化:
由于这架飞机高度为5000,当我们靠近该飞机时,则会构造两个裁剪区域,所以效果如下:
Primitive
我们在看看Primitive,选中该飞机,选择如下选项:
如下图所示,你会看到该模型的bounds,以及自身坐标系的xyz轴:
Terrain
这个功能很强大,选中一个Tile,可以看它的三角网,选择如下属性:
STK是Tin的三角网,基于特征点,同时还有裙边的处理,通过Wireframe都可以清楚的看到。同时你也可以中断LOD策略,这样缩放时可以详细的了解Tile的三角网信息。一目了然,可以充分的认识到STK地形的强大之处,后面讲到地形篇时,我们会详细的介绍STK和高度图两种方式,以及STK在数据层面上很多优化,水面等效果。
OK,Inspector的介绍到此结束,功能不多,但各个都很精致,能帮助我们很好的剖析Cesium的内部渲染机制,也能够对一些复杂的渲染问题,提供一个整体的线索,方便我们对问题的分析定位。
最新文章
- TortoiseSVN客户端重新设置用户名和密码
- spring学习
- strcat、strcpy、memcpy 的使用注意
- LightOj1028 - Trailing Zeroes (I)---求因子个数
- HDU 5014Number Sequence
- 还原数据库备份文件时,关于“System.Data.SqlClient.SqlError:媒体集有2个媒体簇,但只提供了1个。必须提供所有成员”的处理方式
- Qt QDebug等重定向到文件中
- 移动端开发注意事项——meta、rem以及弹性盒
- 利用clonezilla克隆、还原CentOS整个系统
- @Slf4j注解实现日志输出
- IPv6笔记
- redis 动态修改配置与备份文件目录
- UVa 1426 Discrete Square Roots (扩展欧几里德)
- cookie的常用操作
- [剑指Offer]47-礼物的最大价值(DP)
- 修改Linux的基本配置
- vcenter SSO
- iOS - 开发一套代码多个app展示不同图标和名称
- mybatis的dao向mapper.xml传入多参数
- Docker 修改镜像源地址
热门文章
- Odoo 二次开发教程(四)-只读、唯一性验证和ORM方法介绍
- MySQL主从复制技术的简单实现
- 关于[super dealloc]
- SQL Server2016 新功能实时查询统计信息
- 程序员的经济学系列——你不可不知的生存智慧——第一篇:小X是要成为IT精英的男人!
- Hadoop学习笔记—18.Sqoop框架学习
- Mac 软件篇
- mysql 截取身份证出生日期
- 使用变量 数据类型转换 逻辑控制语句(begin ...end; case...end; if...else; while)
- SqlServer英文单词全字匹配