用 Cesium JS 加载建筑 3dTiles

随着现代浏览器的普及,在 WebGIS 应用中,越来越多的场合需要对城市建筑模型进行展示,目前较流行的解决方案有: 1. Cesium 的 3DTiles 2. Mapbox-gl 的 vector source 根据 height 拉伸 3. ArcGIS 本文讨论 Cesium 的 3DTiles,什么是 3DTiles https://github.com/AnalyticalGraphicsInc/3d-tiles/tree/master/specification
阅读更多

MFC Dialog Dynamic Layout 实践

今天接触到一个 MFC Dialog 项目,对于一个 resizeable 的对话框,控件的布局一直是个棘手的问题,由于 MFC 框架较老并且为了保持向前兼容,所以一直没有提供这方面的支持,直到 VisualStudio 2015 在 MFC 中引进了 Dynamic Layout,关于 Dynamic Layout 的说明可以参见 MSDN 的 blog : MFC Dynamic Dialog Layout 。
阅读更多

有关 random 的问题

在开发工程中如果需要生成随机数, 一般是通过 rand 函数, 它可以生成 0 到 RAND_MAX 范围的一个 伪随机数, 如果要让 rand 每次生成的随机序列不同, 可以通过 srand 函数不同的种子值, 一般设定为当前时间 srand(time(NULL)). 以上是我之前对随机数的基本理解, 今天我在编码工程中发现了一些新的随机数相关的问题, 让我对随机数有了进一步的了解, 下面通过几段代码来进行说明.
阅读更多

在 VC 2018 下编译 eXosip

eXosip 是 osip 的一个封装,代码简洁易于使用,支持的平台广泛,但编译起来难以一次成功,下面记录一下我今天在 VC2017 环境下的编译过程
阅读更多

windows py 2.7 下安装 nnpy 的过程

nnpy 是 nanomsg 的 python bindings, 在持续更新中, 作者似乎不太关注 windows 平台, 但是 nanomsg 和 cffi 都是支持 windows 的, 所以 nnpy 也可以安装到 windows 的 python 中, 只是直接安装会报错, 下面记录一下安装的过程。
阅读更多

在 VC 2015 下编译 Live555

Live555 是一个经典的 C++ 开源流媒体解决方案, 像诸如 VLC 等软件都采用它实现流媒体播放相关功能, 从 ChangeLog 上看它创建于 2002 年, 并且还在持续更新中 但由于它较老, 并且主要用在 Linux 下, 所以源码在 Windows 平台下编译有些问题, 下面是在 VC 2015 Community 下编译 Live555 的步骤
阅读更多

NW.js 中 Nodejs 模块开发

NW.js 是一个基于 Nodejs 和 Chromium 的框架, 可以用 HTML5 和 Javascript 方便的开发桌面应用, 其中 Javascript 中也能使用 Nodejs 的模块, 包括第三方的 C++ 模块.
阅读更多