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的内部渲染机制,也能够对一些复杂的渲染问题,提供一个整体的线索,方便我们对问题的分析定位。
Cesium应用篇:3控件(5)CesiumInspector的更多相关文章
- iOS开发UI篇—UIScrollView控件实现图片缩放功能
iOS开发UI篇—UIScrollView控件实现图片缩放功能 一.缩放 1.简单说明: 有些时候,我们可能要对某些内容进行手势缩放,如下图所示 UIScrollView不仅能滚动显示大量内容,还能对 ...
- iOS开发UI篇—UIScrollView控件介绍
iOS开发UI篇—UIScrollView控件介绍 一.知识点简单介绍 1.UIScrollView控件是什么? (1)移动设备的屏幕⼤大⼩小是极其有限的,因此直接展⽰示在⽤用户眼前的内容也相当有限 ...
- iOS开发UI篇—UITableview控件简单介绍
iOS开发UI篇—UITableview控件简单介绍 一.基本介绍 在众多移动应⽤用中,能看到各式各样的表格数据 . 在iOS中,要实现表格数据展示,最常用的做法就是使用UITableView,UIT ...
- iOS开发UI篇—UITableview控件基本使用
iOS开发UI篇—UITableview控件基本使用 一.一个简单的英雄展示程序 NJHero.h文件代码(字典转模型) #import <Foundation/Foundation.h> ...
- iOS开发UI篇—UITableview控件使用小结
iOS开发UI篇—UITableview控件使用小结 一.UITableview的使用步骤 UITableview的使用就只有简单的三个步骤: 1.告诉一共有多少组数据 方法:- (NSInteger ...
- iOS开发UI篇—UIScrollView控件实现图片轮播
iOS开发UI篇—UIScrollView控件实现图片轮播 一.实现效果 实现图片的自动轮播 二.实现代码 storyboard中布局 代码: #import "YYV ...
- 【转】 iOS开发UI篇—UIScrollView控件实现图片轮播
原文:http://www.cnblogs.com/wendingding/p/3763527.html iOS开发UI篇—UIScrollView控件实现图片轮播 一.实现效果 实现图片的自动轮播 ...
- WPF 精修篇 用户控件
原文:WPF 精修篇 用户控件 增加用户控件 数据绑定还是用依赖属性 使用的事件 就委托注册一下 public delegate void ButtonClick(object b,EventArgs ...
- iOS开发——基本常识篇&各种控件默认高度
各种控件默认高度 1.状态栏 状态栏一般高度为20像素,在打手机或者显示消息时会放大到40像素高,注意,两倍高度的状态栏在好像只能在纵向的模式下使用.如下图 用户可以隐藏状态栏,也可以将状态栏设置 ...
- 【转】iOS开发——基本常识篇&各种控件默认高度
原文:http://www.cnblogs.com/iCocos/p/4595614.html 各种控件默认高度 1.状态栏 状态栏一般高度为20像素,在打手机或者显示消息时会放大到40像素高,注 ...
随机推荐
- mailto
什么是mailto链接? mailto链接是一种html链接,能够设置你电脑中邮件的默认发送信息.但是需要你电脑中安装默认的E-mail软件,类似Microsoft Outlook等等.加入您已经安装 ...
- 生成Json文件
- 不要对外公开泛型List成员
最近在阅读Framework Design Guidelines,本着现学现用的原则,于是就用FxCop工具对代码进行规范性检查时,发现了很多问题,其中包括命名以及一些设计上的规范. 其中,Do no ...
- UITest 单元测试常用的断言
XCTFail(format…) 生成一个失败的测试: XCTFail(@"Fail"); XCTAssertNil(a1, format...) 为空判断, a1 为空时通过,反 ...
- salesforce 零基础学习(四十五)Approval Lock & UnLock相关注意事项
我们都知道,当一条记录进入审批流程以后会自动加锁,apex提供Approval类的lock和unlock方法可以让我们使用代码对记录进行加锁和解锁. 项目中遇到一个需求,需要当某种情况下对记录进行先解 ...
- angularjs指令参数transclude
angularjs指令参数transclude transclude翻译为嵌入,和之前看到的vue中的slots作用差不多,目的是将指令元素的子内容嵌入到指令的模板中 定义指令 <div sid ...
- HTTP学习一:HTTP基础知识
1 HTTP介绍 HTTP协议(HyperText Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传送协议. 它的发展是万维网协会(World Wid ...
- js实现图片轮播
效果图
- MVC4做网站后台:用户管理 —用户
这块进行用户管理,可以浏览.查询已注册的用户,修改用户资料,删除用户等.没有做添加用户,不知是否必要.列表页还是使用easyui的datagrid.这个思路跟用户组的方式差不多. 1.接口Interf ...
- 【原创】开源Math.NET基础数学类库使用(05)C#解析Delimited Formats数据格式
本博客所有文章分类的总目录:[总目录]本博客博文总目录-实时更新 开源Math.NET基础数学类库使用总目录:[目录]开源Math.NET基础数学类库使用总目录 前言 ...