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的更多相关文章

  1. iOS开发UI篇—UIScrollView控件实现图片缩放功能

    iOS开发UI篇—UIScrollView控件实现图片缩放功能 一.缩放 1.简单说明: 有些时候,我们可能要对某些内容进行手势缩放,如下图所示 UIScrollView不仅能滚动显示大量内容,还能对 ...

  2. iOS开发UI篇—UIScrollView控件介绍

    iOS开发UI篇—UIScrollView控件介绍 一.知识点简单介绍 1.UIScrollView控件是什么? (1)移动设备的屏幕⼤大⼩小是极其有限的,因此直接展⽰示在⽤用户眼前的内容也相当有限 ...

  3. iOS开发UI篇—UITableview控件简单介绍

    iOS开发UI篇—UITableview控件简单介绍 一.基本介绍 在众多移动应⽤用中,能看到各式各样的表格数据 . 在iOS中,要实现表格数据展示,最常用的做法就是使用UITableView,UIT ...

  4. iOS开发UI篇—UITableview控件基本使用

    iOS开发UI篇—UITableview控件基本使用 一.一个简单的英雄展示程序 NJHero.h文件代码(字典转模型) #import <Foundation/Foundation.h> ...

  5. iOS开发UI篇—UITableview控件使用小结

    iOS开发UI篇—UITableview控件使用小结 一.UITableview的使用步骤 UITableview的使用就只有简单的三个步骤: 1.告诉一共有多少组数据 方法:- (NSInteger ...

  6. iOS开发UI篇—UIScrollView控件实现图片轮播

    iOS开发UI篇—UIScrollView控件实现图片轮播 一.实现效果 实现图片的自动轮播            二.实现代码 storyboard中布局 代码: #import "YYV ...

  7. 【转】 iOS开发UI篇—UIScrollView控件实现图片轮播

    原文:http://www.cnblogs.com/wendingding/p/3763527.html iOS开发UI篇—UIScrollView控件实现图片轮播 一.实现效果 实现图片的自动轮播 ...

  8. WPF 精修篇 用户控件

    原文:WPF 精修篇 用户控件 增加用户控件 数据绑定还是用依赖属性 使用的事件 就委托注册一下 public delegate void ButtonClick(object b,EventArgs ...

  9. iOS开发——基本常识篇&各种控件默认高度

    各种控件默认高度   1.状态栏 状态栏一般高度为20像素,在打手机或者显示消息时会放大到40像素高,注意,两倍高度的状态栏在好像只能在纵向的模式下使用.如下图 用户可以隐藏状态栏,也可以将状态栏设置 ...

  10. 【转】iOS开发——基本常识篇&各种控件默认高度

    原文:http://www.cnblogs.com/iCocos/p/4595614.html 各种控件默认高度   1.状态栏 状态栏一般高度为20像素,在打手机或者显示消息时会放大到40像素高,注 ...

随机推荐

  1. css简单评论页面

    <!DOCTYPE html> <html> <head> <meta charset='utf-8'> <style> *{margin: ...

  2. 对Java数组中去除重复项程序分析

    我作为一个Java菜鸟,只会用简单的办法来处理这个问题.如果有大神看到,请略过,感激不尽! 所以首先先分析这道题目:数组中重复的数据进行删除,并且要让数组里的数据按原来的顺序排列,中间不能留空. 既然 ...

  3. MySQL主从复制技术的简单实现

    配置环境: 主从服务器操作系统均为 ubuntu15.10 主从服务器MySQL版本均为 MySQL5.6.31 主服务器IP:192.168.0.178 从服务器IP:192.168.0.145 主 ...

  4. redis配置文件英译汉

    # By default Redis asynchronously dumps the dataset on disk. This mode is # good enough in many appl ...

  5. SQL Server 变更数据捕获(CDC)监控表数据

    一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 实现过程(Realization) 补充说明(Addon) 参考文献(References) ...

  6. 剑指Offer面试题:31.两个链表的第一个公共节点

    一.题目:两个链表的第一个公共节点 题目:输入两个链表,找出它们的第一个公共结点. 链表结点定义如下,这里使用C#语言描述: public class Node { public int key; p ...

  7. 《Entity Framework 6 Recipes》翻译系列(2) -----第一章 开始使用实体框架之使用介绍

    Visual Studio 我们在Windows平台上开发应用程序使用的工具主要是Visual Studio.这个集成开发环境已经演化了很多年,从一个简单的C++编辑器和编译器到一个高度集成.支持软件 ...

  8. 构建基于Chromium的应用程序

    chromium是google chrome浏览器所采用的内核,最开始由苹果的webkit发展而出,由于webkit在发展上存在分歧,而google希望在开发上有更大的自由度,2013年google决 ...

  9. HttpResponseMessage 调用.net web api

    // // GET: /Home/ //释迦苦僧 public ActionResult Index() { HttpClient client = new HttpClient(); client. ...

  10. react UI交互 简单实例

    <body><!-- React 真实 DOM 将会插入到这里 --><div id="example"></div> <!- ...