OpenGL之三维GIS

本文介绍了如何使用OpenGL进行三维GIS开发,探讨了三维地形地貌的生成技术,包括DEM数据的处理和三维显示。通过OpenGL的基本图形操作接口,如光照、材质、帖图等,实现了逼真的三维效果。并分享了作者在开发过程中的几点心得,如内存映射加速数据加载、规则三角网与不规则三角网的处理等。
摘要由CSDN通过智能技术生成

  相对于二维图形开发,大家一般认为三维开发要难很多。其实也不一定。相比二维开发,三维开发一般都是在三维图形引擎的基础之上进行的,比如常用的OpenGL或DirectX,而在工程和行业应用领域中,OpenGL比较流行一样(DX在多媒体相关开发中比较流行)。三维引擎一般提供了比较好的底层接口,包括显存/内存数据交换、快速体绘制算法、视场、光照、帖图及一些工具箱等的支持,大家在此基础上很方便地就能显示一个旋转的立方体、茶壶等,更复杂的模型如体育馆、火车头、人脸等,就需要用专业软件做建模工作(如3DMax、AutoCAD等);而在地理领域,要生成三维的地形地貌,所涉及的技术要点就稍微有些不同。我们可以首先看看CS中的三维场景,大家都会感觉CS中的场景精美、视图变换与刷新很快,操作敏捷,其实CS每一场景中的三维要素并不复杂,都是一些加了帖图的墙面、斜坡等(用专业的说法就是需要生成和刷新的三角面并不多),而要生成一段简单的山坡地形,就有可能涉及成万上亿的三角面,因为地理世界是分形的(fractal),没有规律的,三维引擎首先要生成这么多的三角面,再计算其法向量(光照要用的),再在上面帖图,还要保证很好的体绘制速度(还没考虑地貌上加树林、民居等),这样就为计算机系统带来了存储量和计算时间的要求,这两点,才真正是三维GIS要考虑的重点之重点。

  让我们来先看看下面的两个DEM(数字高程模型),这些模型都是来自于卫星遥感或其他测量工作:

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值