地理地图/游戏地图与openGL

-- 问题:

OpenGL绘制三维地形图,地理地图;
基于OpenGL的地图渲染引擎设计与实现;
OpenGL制作游戏的小地图;
openGL将二维卫星地图渲染成三维地形图 ;
Opengl绘制地图,OpenGL实现地图编辑器,制作简易地图;

OpenGL渲染地理路线 建筑物等。  路线 建筑物等的坐标或经纬度数据?

> 地图与Opengl

  使用opengles绘制灰度地形图- https://blog.csdn.net/hb707934728/article/details/52766057
  使用opengles绘制灰度地形图原理:灰度地形图生成技术的基本原理是利用MxN的网格表示地形,同时提供一副对应尺寸的灰度图,根据灰度图中每个像素的灰度来确定网格中顶点的海拔,黑色像素(RGB各个色彩通道的值为0)代表海拔最低的位置,白色像素(RGB中各个色彩通道的值为255)代表海拔最高的位置,实际开发中用如下公式来计算某像素顶点的海拔高度:实际海拔=最低海拔+最大高差x像素值/255.0

  计算机图形学(1)地图绘制- https://blog.csdn.net/ME__WE/article/details/84675155
在地里信息系统中,地图数据可以分为两类,一类是矢量数据,它是以点、线、多边形三种图元形式表示地图的图形数据,比如行政区、湖泊可以用多边形表示,河流、道路用折线表示。另一类叫做栅格数据,它是以点阵形式表示的图像数据。利用计算机图形学的知识和编程技术,不难将这两种数据绘制出来。

  OpenGL制作游戏的小地图。我们在原始森林里寻找宝藏,没有地图,没有GPS,那结果应该只有一种:不但找不到目标地点,而且很容易迷失方向。同样,在OpenGL绘制的场景中漫游,往往只能看到局部的场景,而无法确定自己现在处于大场景中哪个位置。所以,一个具有定位功能的GPS是十分必要的。

  基于OpenStreetMap与OpenGL的矢量地图三维重建- https://blog.csdn.net/z136411501/article/details/83051592
获取高清地图底图,开源地图:openstreet- https://www.openstreetmap.org
  将2D的地图数据进行了3D上的重建,类似于百度地图与谷歌地图的三维地图。地图数据来自于OpenStreetMap,这是一个地图开源网站,可以XML文件格式导出很精确的地图数据,再基于这些数据使用Qt下的OpenGL进行三维重建工作,

  地图引擎:android的Google Map API 就是基于OpenGL ES 的. 地图的数据与渲染?
基于opengl的地图渲染引擎设计与实现- http://www.docin.com/p-1654111677.html

基于OpenGL和谷歌地图的电子地图实时绘制方法研究
 地图底层框架:支持WTMS、WMS、WFS、WCS取图格式,支持GEOJson、WKT图形呈现,以及OpenGL运作?

  OpenGL实现Google地图瓦片的绘制漫游视频教程- https://edu.csdn.net/course/detail/3420?utm_source=edu_bbs_autocreate
OpenGL绘制图片、FreeImage加载图片、墨卡托投影、瓦片的金字塔模型、FramebufferObject、地图的移动和缩放优化,采用屏幕瓦片绘制优化、采用ImageBuffer优化、采用多线程优化、地图操作优化、模拟,生成全球瓦片(debug)、MFC-对话框中绘制地图、MFC-View中绘制地图、QT中绘制地图、在线浏览Google地图等。

  OpenGL绘制矢量路径的思路- https://blog.csdn.net/ryfdizuo/article/details/9719295
现在各家手机地图中路线都是立体纹理绘制,实现立体路径绘制,建模算法的难点在拐角处处理,尤其锐角,角度很小的时候如何处理。经过一段时间的研究,实现了一种简单而且足够鲁邦的算法,思路非常简单:锐角的时候进行插值(使用的是三次样条插值),将锐角转化成钝角。
Google地图绘制- https://map-render.googlecode.com/svn/trunk/map-render

  软件方法绘制,如QT、Android(skia)都自带2D绘图引擎,支持矢量路径填充并且抗锯齿!如果使用OpenGL绘制矢量,对建模算法以及纹理都有要求,不同的建模算法决定了最终的视觉效果。OpenGL绘制路径,抗锯齿效果由纹理来实现。

> GIS ,地图中的道路绘制- https://blog.csdn.net/ryfdizuo/article/details/39891231
GIS属于可视化领域。一所谓可视化技术是利用计算机图形学和图形处理技术,将数据转化成图形或者图像在屏幕上显示出来,并进行交互处理的理论、方法和技术。个人理解地图中也有几个关键点:
 原始数据可以是图像也可以是矢量数据,如我们底图是点、线、面等矢量数据,卫片、街景是图像数据。
 渲染即显示到屏幕上,现在各家手机端都是基于opengl,不论图形还是图像最终显示到屏幕都必须像素化(光栅化)。
 交互性 地图APP中分量最重的就是交互,背后隐藏的巨大的需求。

GIS中绝大多数数据还是以二维为主,面数据绘制最简单,标注点数据在预处理时做重叠避让处理绘制时不会相互遮挡,只有线之间有遮挡和层次关系。
 道路立交、平交关系表达;ZLevel立交数据。

  地图底图数据的来源和添加方法,ArcGIS,QGIS插件
  ARCGIS清晰的地图,底图,道路街景图;在进行数据可视化的时候,一幅高清的底图十分重要,有一个在线地图插件“SIMPLEGIS”非常好用,该插件只适用于ARCGIS10.2及其以下版本(WIN10系统也可以用)下载链接:http://www.rscloudmart.com/application/120173.htm
用户手册:链接:https://pan.baidu.com/s/1NrdqP2eommUvNX2Z0Jfb3Q,提取码:mw1o

> 百度地图集成与定制
百度地图底图编辑工具- http://lbsyun.baidu.com/

Android百度地图集成与定制- https://www.jianshu.com/p/75562c425bef
Android BaiduMapDemo- https://github.com/dongaqa/AndroidBaiduMapDemo
  地图覆盖物。如标注、矢量图形元素(包括:折线、多边形和圆等)、定位图标等。覆盖物拥有自己的地理坐标,当您拖动或缩放地图时,它们会相应的移动。
地图覆盖物都会被分类放到不同的层,每个层也有先后顺序,会覆盖后面的层。
 自定义View(MapView.addView(View););
 弹出窗图层(InfoWindow);
 定位图层(BaiduMap.setMyLocationEnabled(true););
 指南针图层(当地图发生旋转和视角变化时,默认出现在左上角的指南针);
 标注图层(Marker),文字绘制图层(Text);
 几何图形图层(点、折线、弧线、圆、多边形);
 底图标注(指的是底图上面自带的那些POI元素);
 百度城市热力图(BaiduMap.setBaiduHeatMapEnabled(true););
 实时路况图图层(BaiduMap.setTrafficEnabled(true););
 热力图图层(HeatMap);
 地形图图层(GroundOverlay);
 瓦片图层(TileOverlay);
 基础底图(包括底图、底图道路、卫星图、室内图等);

-- 有待进一步了解:  
  3d地图中的模型是如何实现的?不需要贴纹理的非精细3d建模,在有底图数据(这个应该可以获取到的吧)以及部分属性数据(高度等)的情况下,很好生成。OpenLayers+Google Map API+OSM Buildings
  百度的3D基本确定是webGL,WebGL是用于前端绘图的,现在百度用的是矢量瓦片,webgL是结合html5的canvas绘制地图的,webGL继承自openGL,但是openGL是用于游戏开发的,说白了就是轻量简化版,关于三维图制作,精细制作肯定是手绘,就行画画一样,像百度这种大规模的绘制,需要建筑物的高程和顶部形状就可以了,数字表面模型了解一下。
  利用GPS确定地点和当前时间,通过阴影长度推算建筑物高度
  baidu的模型与google的不同,细看就会发现类似甚至重复的构件非常多,大部分的纹理还不合比例。这样的模型与其说是建出来的,还真不如说是“画”出来的。整个过程应该是在程序辅助下的大量手工劳动。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值