用于渲染关于复杂三维对象的矢量数据的平滑叠加层的制作方法

文档序号:9402003阅读:369来源:国知局
用于渲染关于复杂三维对象的矢量数据的平滑叠加层的制作方法
【技术领域】
[0001]本公开一般地涉及计算机绘图,并且更具体地,涉及在计算机绘图应用中结合三维物体渲染矢量数据。
【背景技术】
[0002]计算机处理能力和宽带技术中的改进已经使得交互式三维模型得到发展。举例来说,交互式地理信息系统可提供对地理区域的三维表示的导览和显示。用户可通过控制指定三维表示的哪个部分被渲染并且被呈现给用户的虚拟照相机来导览三维表示。
[0003]三维模型可包括几何结构和纹理映射到所述几何结构的纹理。举例来说,除了将建筑、桥、和其它对象模型化的建筑几何结构之外,地理区域的三维模型还可包括将地球的地形模型化的地形几何结构。地理图像(诸如航空或卫星图像)和其它图像可纹理映射到地形几何结构和/或建筑几何结构以提供地理区域的更真实的模型。
[0004]可结合三维模型渲染矢量数据。矢量数据可包括诸如标记、覆盖物、道路覆盖物、文本、和其它数据的数据。结合三维模型渲染矢量数据的一种方法是在由模型限定的三维空间中渲染矢量数据。这可需要复杂投影计算并且可需要追踪许多射线以相对于三维模型的表面正确地放置矢量数据。还可能难以使用这种方法持续正确地放置矢量数据。
[0005]结合三维模型渲染矢量数据的另一方法是将矢量数据纹理映射到三维模型。然而,三维模型内的某些对象可包括多块状物、尖利的以及笨拙的几何结构。因此,将矢量数据直接地纹理映射到三维模型可导致矢量数据变得不可读或被错误地放置。

【发明内容】

[0006]本发明的方面和优点将在以下描述中予以部分地阐明,或可从描述显而易见,或可通过实践本发明来学习。
[0007]本公开的一个例示性方面指向结合三维模型渲染矢量数据的计算机实现的方法。所述方法包括在显示设备上的用户界面中呈现视口和在所述视口中渲染三维模型。所述方法进一步包括渲染覆盖所述三维模型的透明叠加(draping)层以及将所述矢量数据纹理映射到所述透明叠加层以使得所述矢量数据看似沿着所述视口中的所述三维模型的表面而定位。本公开的其它示例性方面指向用于结合三维模型(诸如地理区域的三维模型)渲染矢量数据的系统、装置、非暂时性计算机可读媒介、用户界面和设备。
[0008]参考以下描述和所附权利要求,本发明的这些和其它特征、方面和优点将变得更好理解。并入本说明书中且构成本说明书的一部分的附图图示本发明的实施例,并且与描述一起用于解释本发明的原理。
【附图说明】
[0009]参照附图,在说明书中阐明针对本领域的技术人员的完全和能够实现的本发明的公开(包括其最佳模式),在附图中:
[0010]图1描绘根据本公开的示例性实施例的场景的三维模型的简化表示;
[0011]图2描绘根据本公开的示例性实施例的呈现于视口中的三维模型的部分;
[0012]图3描绘根据本公开的示例性实施例的用于结合三维模型渲染矢量数据的示例性方法的流程图;
[0013]图4描绘根据本公开的示例性实施例的用于渲染平滑透明叠加层的示例性渲染方法的流程图;
[0014]图5描绘根据本公开的示例性实施例的用于生成平滑透明叠加层的示例性方法的流程图;以及
[0015]图6描绘根据本公开的示例性实施例的示例性性计算系统。
【具体实施方式】
[0016]现在详细参照本发明的实施例,本发明的实施例中的一个或多个的示例图示于附图中。通过对本发明的解释而非对本发明的限制来提供每一示例。实际上,对本领域的技术人员显而易见地,可在本发明中做出各种修改和变化而不背离本发明的范围或精神。举例来说,图示或描述为一个实施例的一部分的特征可与另一实施例一起使用来产生又一实施例。因此,本发明旨在涵盖归属于所附权利要求和其等效物的范围内的这些修改和变化。
[0017]通常,本公开指向用于结合三维模型渲染矢量数据(例如,文本、标记、覆盖物、道路等等)的系统和方法。特定来说,可生成并且渲染覆盖三维模型的平滑透明叠加层。平滑透明叠加层可适形于三维模型的一个或多个表面。矢量数据可纹理映射到平滑透明叠加层以使得矢量数据看似沿着三维模型中的表面而定位。以这种方式,本公开的系统和方法可具有减少可由于将矢量数据直接地映射到具有复杂几何结构(例如,硬边缘、隆起物等等)的三维模型中的表面而引起的视觉痕迹的技术效应。
[0018]在一个实施例中,三维模型可以是地理区域的模型。三维模型可包括将地理区域的地形模型化的地形几何结构和将地理区域中的建筑、桥和其它对象模型化的建筑几何结构。举例来说,三维模型可以是使用立体重建技术生成的多边形网格(例如,三角形网格)。在对地理区域的表示进行渲染期间,可渲染覆盖地形几何结构的平滑透明叠加层。举例来说,平滑透明叠加层可适形于由地形几何结构限定的表面。矢量数据可纹理映射到平滑透明叠加层以使得矢量数据看似沿着地形几何结构的表面而定位。在特定方面中,可渲染平滑透明叠加层和矢量数据以使得可由地理区域的表示中的建筑几何结构遮挡矢量数据。
[0019]根据本公开的示例性方面,可使用各种渲染算法来渲染结合三维模型描绘矢量数据的场景。举例来说,在一个实施例中,可用相对于地形几何结构的深度偏移来渲染平滑透明叠加层。根据另一示例性实施例,渲染算法可用与场景相关联的模板缓冲区中的第一模板值渲染建筑几何结构。然后,可用模板缓冲区中的第二模板值渲染地形。可针对与第二模板值相关联的场景中的所有像素清除深度缓冲区。然后,可用深度写入和深度测试二者渲染透明叠加层。这提供了对地形几何结构前面的透明叠加层的渲染。然而,在其中建筑几何结构在地形几何结构前面的区域中,透明叠加层仍可被建筑几何结构遮挡。
[0020]可从三维模型生成平滑透明叠加层。举例来说,在一个实施方案中,可通过访问三维模型生成透明叠加层。可从三维模型提取地形几何结构。地形几何结构可根据适当的平滑算法(例如,高斯平滑算法)而被平滑化以生成平滑地形几何结构。然后,举例来说,可使用适当的网格化算法从平滑地形几何结构生成透明叠加层。可针对三维模型的每一细节层级生成透明叠加层。另外,用于每一细节层级的透明叠加层可在空间上划分成多个地理空间数据对象并且被存储于层次树数据结构中。
[0021]现在参考图,现在将详细地论述本公开的示例性实施例。图1描绘了根据本公开的示例性实施例的场景100的示例性三维模型110的简化表示。虽然图1出于说明和讨论的目的图示了三维模型的二维表示,但是使用本文中所提供的公开的本领域的技术人员将认识到,二维表示可表示三维元素。
[0022]三维模型110可表示地理区域。举例来说,三维模型110可以是由地理信息系统提供的地理区域的模型,诸如由谷歌公司提供的谷歌地图?地图应用和谷歌地球?虚拟全球应用。三维模型110还可以是其它适当的三维模型。
[0023]三维模型110可以是多边形网格,诸如三角形网格或其它网格。网格可包括被用于将地理区域的几何结构模型化的多个多边形(例如,三角形)。在一个示例中,三维模型110可以是从地理区域的航空或卫星图像生成的立体重建。三维模型110可包括地形几何结构112和建筑几何结构114。地形几何结构112可将地理区域的地形模型化。建筑几何结构114可将地理区域中的建筑和其它对象模型化。
[0024]结合三维模型110来渲染矢量数据140 (例如,文本、覆盖物、道路等等)。特定来说,矢量数据140被纹理映射到平滑透明叠加层120。平滑透明叠加层120是覆盖地形几何结构112的表面的透明层(即,不可见层)。特定来说,平滑透明叠加层120适形于地形几何结构112的表面。在图1中,平滑透明叠加层120并不适形于或覆盖由建筑几何结构114限定的表面。
[0025]举例来说,已经通过适当的平滑算法(例如,高斯平滑算法)将平滑透明叠加层120的几何结构平滑化以使得平滑透明叠加层120提供用于纹理映射矢量数据140的适当的平滑表面。在三维模型110的渲染期间,矢量数据140被纹理映射到平滑透明叠加层120以使得矢量数据140看似沿着三维模型110的表面(诸如沿着三维模型110的地形几何结构112)而定位。建筑几何结构114可遮挡被纹理映射到平滑透明叠加层120的至少一部分任何矢量数据140。
[0026]可从虚拟照相机130的视角渲染三
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1