博客
关于我
Cesium案例解析(六)——3DTilesInspector监视器
阅读量:272 次
发布时间:2019-03-01

本文共 2121 字,大约阅读时间需要 7 分钟。

文章目录

1. 概述

3D Tiles作为传输和渲染大规模3D地理空间数据的格式,应对的都是大规模数据的场景,Cesium提供了一个监视3D Tiles数据的监视器,可以通过这个监视器观察3D Tiles数据的效果。

2. 案例

HTML页面3DTilesInspector.html代码如下:

<!DOCTYPE html><html lang="en"><head>    <meta charset="utf-8">    <meta http-equiv="X-UA-Compatible" content="IE=edge">    <meta name="viewport"        content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no">    <meta name="description" content="Use the 3D Tiles inspector as a debugging tool for different tilesets.">    <meta name="cesium-sandcastle-labels" content="Beginner, Tutorials, Showcases">    <title>Cesium Demo</title>    <script type="text/javascript" src="../Build/Cesium/Cesium.js"></script>    <style>        @import url(../Build/Cesium/Widgets/widgets.css);        html,        body {
                width: 100%;            height: 100%;            margin: 0;            padding: 0;            overflow: hidden;            font-family: sans-serif;            background: #000;        }        .fullSize {
                display: block;            position: absolute;            top: 0;            left: 0;            border: none;            width: 100%;            height: 100%;        }    </style></head><body>    <div id="cesiumContainer" class="fullSize"></div>    <script src="3DTilesInspector.js"></script></body></html>

主要的javascript代码3DTilesInspector.js如下:

'use strict';var viewer = new Cesium.Viewer('cesiumContainer', {
       terrainProvider: Cesium.createWorldTerrain()});viewer.scene.globe.depthTestAgainstTerrain = true;viewer.extend(Cesium.viewerCesium3DTilesInspectorMixin);var inspectorViewModel = viewer.cesium3DTilesInspector.viewModel;var tileset = new Cesium.Cesium3DTileset({
       url: "../dayanta/tileset.json"});viewer.scene.primitives.add(tileset);tileset.readyPromise.then(function () {
       viewer.zoomTo(tileset);});

可以看到添加3DTiles监视器的代码比较简单,将Cesium.viewerCesium3DTilesInspectorMixin对象传入拓展函数viewer.extend()即可。最终显示的效果如下:

3DTiles监视器

可以看到右边出现了一个3D Tiles Inspector窗体,里面包含了与3D Tiles格式相关的状态参数:

3DTiles监视器

其中勾选Performance,就可以显示当前的具体帧数;Screen Space Error也是个很重要的参数,决定了当前模型细分的层级。参数设置的越小,细分的层度就会越高,相应的也会耗费更多的性能。

转载地址:http://mawx.baihongyu.com/

你可能感兴趣的文章
Netty工作笔记0077---handler链调用机制实例4
查看>>
Netty工作笔记0084---通过自定义协议解决粘包拆包问题2
查看>>
Netty常见组件二
查看>>
netty底层源码探究:启动流程;EventLoop中的selector、线程、任务队列;监听处理accept、read事件流程;
查看>>
Netty核心模块组件
查看>>
Netty框架的服务端开发中创建EventLoopGroup对象时线程数量源码解析
查看>>
Netty源码—2.Reactor线程模型一
查看>>
Netty源码—4.客户端接入流程一
查看>>
Netty源码—4.客户端接入流程二
查看>>
Netty源码—5.Pipeline和Handler一
查看>>
Netty源码—6.ByteBuf原理二
查看>>
Netty源码—7.ByteBuf原理三
查看>>
Netty源码—7.ByteBuf原理四
查看>>
Netty源码—8.编解码原理二
查看>>
Netty源码解读
查看>>
Netty的Socket编程详解-搭建服务端与客户端并进行数据传输
查看>>
Netty相关
查看>>
Network Dissection:Quantifying Interpretability of Deep Visual Representations(深层视觉表征的量化解释)
查看>>
Network Sniffer and Connection Analyzer
查看>>
NetworkX系列教程(11)-graph和其他数据格式转换
查看>>