Vector openGL中的行星:矢量数据还是纹理贴图?

Vector openGL中的行星:矢量数据还是纹理贴图?,vector,opengl-es,geometry,gis,Vector,Opengl Es,Geometry,Gis,我对3D完全陌生,从Jeff Lamarche的介绍开始,他介绍了openGL ES for iPhone,到目前为止,我能够画一个旋转球体,这将是我应用程序的基础 我想做的是渲染一个行星地球,这要归功于2D GIS矢量数据(多边形、带纬度/经度或x/y坐标的线或点)。 我希望能够打开/关闭不同的图层,并且可能能够识别将要触摸的对象 我的问题是: 将矢量数据光栅化以将其用作图像纹理或将矢量数据应用到球体上会更容易吗(请记住,我希望打开/关闭图层,启用触摸功能的对象是可选的) 使用blender之

我对3D完全陌生,从Jeff Lamarche的介绍开始,他介绍了openGL ES for iPhone,到目前为止,我能够画一个旋转球体,这将是我应用程序的基础

我想做的是渲染一个行星地球,这要归功于2D GIS矢量数据(多边形、带纬度/经度或x/y坐标的线或点)。 我希望能够打开/关闭不同的图层,并且可能能够识别将要触摸的对象

我的问题是:

将矢量数据光栅化以将其用作图像纹理或将矢量数据应用到球体上会更容易吗(请记住,我希望打开/关闭图层,启用触摸功能的对象是可选的)

使用blender之类的软件绘制行星并添加图层,而不是从我已经拥有的球体(程序球体)开始,会更容易吗


从blender到opengl的导出工具工作得好吗?

这种问题通常很难回答。从技术上讲,如果你想写一个像谷歌地球或KDE大理石这样的程序,你的意图听起来很像。由于您引用的是GIS数据,因此需要非常高的分辨率。纹理仅适用于分辨率有限的数据


GIS应用程序通常使用混合方法工作,其中一些矢量数据直接渲染(道路、水域、边界),而其他矢量数据则渲染为纹理和纹理,或者更准确地说,纹理瓷砖用作缓存,例如用于密集城市中的建筑轮廓等。然而,来自OSM的数据可以直接呈现为矢量数据,因为它们不是非常密集。

Blender的“导出到OpenGL”脚本是一个快速的破解,不应该在任何类型的实际应用程序中使用。OpenGL不是文件格式,OpenGL也没有指定任何类型的模型文件格式。你可以导出成某种文件格式,然后编写一个加载器从中检索数据并将其传递给OpenGL渲染函数。实际上我只有少量数据,比例将是全局比例,用户不会放大很多。总而言之,这是一个全局地图,我想在3D渲染。大约20个点,大约10条线和一些多边形。最后,我要寻找的是一种计算矢量数据坐标的方法,使它们出现在球体的表面上,也就是说,不在球体三角形的上方或下方。。。难道没有任何功能可以将二维对象投影到三维对象上吗?否则,考虑到光栅选项,我的图像将需要一个alpha通道,这是否可行?只需20个点,10条线,你就可以将它们直接绘制为向量,而不是使用纹理。但是,您可能希望直线跟随球体的曲面曲率。为此,您需要细分直线并应用球面插值,这项任务并不困难。关于将2D对象投影到3D对象的问题可能是将球坐标转换为3D空间,2D坐标是方位角(φ)和偏角(θ),半径不变。看看如何将球坐标转换成笛卡尔坐标。多亏了Datenwolf,也可以对多边形应用球面插值吗?@Guillaume:多边形本来就是平面的。但是,将多边形细分(细分)为更精细的网格非常简单。如果这些多边形已经在球面坐标中,那么细分已经是球面插值的。我可以很容易地将线和点转换并导入Blender。。。但不是多边形。在将轮廓导入为直线(多边形内没有点)后,我可以填充它,但这根本不遵循球体的形状。只有在搅拌机里才能这样做吗?可以捕捉并将我的对象应用到球体上的atool?