用于在三维地图中高效渲染云天气效果图形的方法和系统与流程

文档序号:18889518发布日期:2019-10-15 21:32阅读:743来源:国知局
用于在三维地图中高效渲染云天气效果图形的方法和系统与流程

本公开内容一般地涉及驾驶员信息和驾驶员辅助系统(也已知为车辆中信息系统)的领域,并且更具体地涉及向车辆操作员提供图形显示以用于地图和导航应用的系统和方法。



背景技术:

除非在本文中另行指示,否则在本章节中所描述的材料不是对于本申请中的权利要求的现有技术,并且不通过被包括在本章节中而被承认为是现有技术。

现代机动车辆通常包括一个或多个驾驶员信息和驾驶员辅助系统(其在下文中被称为车辆中信息系统),该系统向车辆中的乘员提供多种多样的信息和娱乐选项。由车辆中信息系统所提供的常见服务包括但不限于:车辆状态和诊断信息、地图和导航应用、免提电话通讯(telephony)、广播和音乐回放、以及交通状况警报。车辆中信息系统通常包括多个输入和输出设备。例如,用于操作广播和音频系统的传统按钮和控制旋钮通常被使用在车辆信息系统中。车辆输入的更新近的形式包括将输入和显示组合到单个屏幕中的触摸屏输入设备,以及语音激活的功能,其中车辆中信息系统响应于语音命令。输出系统的示例包括机械仪器计量表、输出显示面板(诸如,液晶显示器(lcd)面板)、以及产生合成话音的音频输出设备。

三维(3d)图形方法已经被广泛地使用在不同的驾驶员辅助和驾驶员信息应用中。一个典型的示例是基于3d地图的导航系统。与传统的二维(2d)地图相比,3d地图被认为是更有助于容易的驾驶员定向和快速的位置识别。例如,由多个在线和离线服务(包括由apple、google和nokia所供应的服务)提供逼真的3d地图和导航服务。现代3d图形可以产生宽范围的高度现实的图形效果。在3d地图和导航应用的情境中,图形显示系统可以生成地标,诸如地理特征、街道、建筑物、以及其它极详细的地标。此外,一些3d地图系统可以应用图形效果,该图形效果在3d虚拟环境中描绘天气和光照条件,其对应于在地图应用中再现的真实地理区中的实际天气条件。例如,3d图形系统可以基于地理区中的当前天气条件而产生云的图形渲染。

虽然现代3d图形硬件和软件能够再现宽范围的图形,但是诸如云之类的图形效果的生成通常需要大量硬件执行资源来以合理的渲染速度产生图形效果,以用于使用3d地图应用。存在包括可以执行现实三维云的复杂图形渲染的图形处理单元(gpu)的现代处理设备,但是被集成到机动车辆中的包括图形系统的许多硬件平台以及不昂贵的移动电子设备的那些硬件平台可能缺乏对于产生云的现实图形描绘而言所必要的硬件。此外,甚至现在包括日益强大的图形硬件的一些移动电子设备可能消耗不合期望的大量电力来产生图形,其通常导致耗尽的电池,这对于在行进时的地图应用的使用而言可能是事与愿违的。因此,在三维虚拟环境中渲染云以便以计算上高效的方式来在地理区中产生云覆盖的图形渲染的改进方法和系统将会是有益的。



技术实现要素:

在一个实施例中,已经开发了一种用于生成三维(3d)虚拟环境的图形的方法。该方法包括:利用处理器来接收天气数据,包括与地理区相对应的云覆盖信息;利用处理器来从存储器中取回与云相对应的纹理;利用处理器、基于被应用到纹理的阈值滤波器来生成经滤波的纹理,该生成包括与天气数据中的云覆盖信息相对应的滤波器阈值;利用处理器来将经滤波的纹理映射到与3d虚拟环境中的天幕(skydome)相对应的几何表面;利用处理器、基于各向同性的单散射颜色模型来对被存储在存储器中的几何表面上的所映射的经滤波的纹理中的多个纹素(texel)进行着色;以及利用连接到处理器的显示设备、基于被着色并且被映射到几何表面的经滤波的纹理的该多个纹素来生成与地理区相对应的3d虚拟环境的图形描绘,其包括与具有云的天幕相对应的几何表面的至少一部分。

在另一实施例中,已经开发了一种用于生成三维(3d)虚拟环境的图形的方法。该方法包括:利用处理器来接收天气数据,包括与地理区相对应的云覆盖信息、风速信息和风向信息;利用处理器来从存储器中取回与云相对应的第一纹理;利用处理器来从存储器中取回与云相对应的第二纹理,该第二纹理不同于第一纹理;利用处理器来生成第三纹理,该第三纹理与具有第一纹理和第二纹理之间的第一偏移的第一纹理和第二纹理的组合相对应,该第一偏移与风速信息和风向信息相对应;利用处理器、基于被应用到第三纹理的阈值滤波器来生成第一经滤波的纹理,该生成包括与天气数据中的云覆盖信息相对应的滤波器阈值;利用处理器来将第一经滤波的纹理映射到与3d虚拟环境中的天幕相对应的几何表面;利用处理器、基于各向同性的单散射颜色模型来对被存储在存储器中的几何表面上的所映射的第一经滤波的纹理中的多个纹素进行着色;以及利用连接到处理器的显示设备、基于被着色并且被映射到几何表面的第一经滤波的纹理的该多个纹素来生成与地理区相对应的3d虚拟环境的第一图形描绘,其包括与具有云的天幕相对应的几何表面的至少一部分。该方法进一步包括利用处理器来生成第四纹理,该第四纹理与具有第一纹理和第二纹理之间的第二偏移的第一纹理和第二纹理的另一组合相对应,该第二偏移与风速信息和风向信息相对应,该第二偏移不同于第一偏移;利用处理器、基于被应用到第四纹理的阈值滤波器来生成第二经滤波的纹理,该生成包括与天气数据中的云覆盖信息相对应的滤波器阈值;利用处理器来将第二经滤波的纹理映射到与3d虚拟环境中的天幕相对应的几何表面;利用处理器、基于各向同性的单散射颜色模型来对被存储在存储器中的几何表面上的所映射的第二经滤波的纹理中的多个纹素进行着色;以及利用显示设备、基于被着色并且被映射到几何表面以产生云的动画描绘的第二经滤波的纹理的该多个纹素来生成与地理区相对应的3d虚拟环境的第二图形描绘,其包括与具有云的天幕相对应的几何表面的至少一部分。

在另一实施例中,已经开发了一种用于生成三维(3d)虚拟环境的图形的系统。该系统包括显示设备、网络设备、存储器、以及操作地连接到显示设备、网络设备和存储器的处理器。存储器被配置成存储经编程的指令、与云相对应的纹理、以及与3d虚拟环境中的天幕相对应的几何表面。处理器被配置成执行经编程的指令以:通过使用网络设备来接收天气数据,包括与地理区相对应的云覆盖信息;从存储器中取回与云相对应的纹理;基于被应用到纹理的阈值滤波器来生成经滤波的纹理,该生成包括与天气数据中的云覆盖信息相对应的滤波器阈值;将经滤波的纹理映射到与3d虚拟环境中的天幕相对应的几何表面;基于各向同性的单散射颜色模型来对被存储在存储器中的几何表面上的所映射的经滤波的纹理中的多个纹素进行着色;以及通过使用该显示设备、基于被着色并且被映射到几何表面的经滤波的纹理的该多个纹素来生成与地理区相对应的3d虚拟环境的图形描绘,其包括与具有云的天幕相对应的几何表面的至少一部分。

附图说明

图1是车辆中信息系统的示意图,该车辆中信息系统被配置成生成三维(3d)虚拟环境、包括3d虚拟环境中的云的显示。

图2是用于生成包括云的3d虚拟环境的图形的过程的框图,该云对应于由3d虚拟环境所表示的真实世界区中的天气条件。

图3是一图解,其描绘了通过使用图2的过程中的阈值滤波器操作而被修改的过程性生成的云纹理。

图4是一图解,其描绘了在图2的过程中接收所映射的云纹理的双曲表面。

图5是一图解,其描绘了用于在3d虚拟环境中描绘风速和风向的云图形的动画。

具体实施方式

出于促进理解本文中所公开的实施例的原理的目的,现在参考附图以及在以下所撰写的说明书中的描述。不意图任何由参考对主题范围的限制。本公开内容还包括对所图示的实施例的任何变更和修改,并且包括如本公开内容所属的领域中的技术人员通常将会想到的所公开的实施例的原理的进一步的应用。

如本文中所述使用的,术语“纹理”是指被应用到三维虚拟环境中的表面以产生图形效果的图像数据集。本申请描述了使用纹理来生成与云相对应的图形效果的实施例。如本文中所使用的,术语“纹素”是指被包含在纹理内的图像数据的像素。

图1描绘了系统100,系统100包括车辆中信息系统104,车辆中信息系统104以计算上高效的方式来生成三维(3d)虚拟环境的图形显示,包括反映真实世界地理位置中的天气条件的天空和云的表示。车辆中信息系统104包括处理器108,处理器108操作地连接到存储器120、显示设备144、可选定位系统148、网络设备152和可选的车辆传感器170。车辆中信息系统104的硬件实施例包括但不限于:个人计算机(pc)硬件、嵌入式系统硬件(包括用于在机动车辆中使用的嵌入式计算硬件)、以及移动电子设备(包括智能电话和平板计算设备)。在系统100中,无线数据网络180将车辆中信息系统104连接到一个或多个在线天气信息源190。

在车辆中信息系统104中,处理器108包括一个或多个集成电路,该集成电路实现中央处理单元(cpu)112和图形处理单元(gpu)116的功能。在一些实施例中,处理器是芯片上系统(soc),其将cpu112和gpu116、以及可选地其它组件(包括存储器120、网络设备152和定位系统148)的功能集成到单个集成设备中,而在其它实施例中,cpu112和gpu116经由外围连接设备(诸如,快速pci或另一合适的外围数据连接)而彼此连接。在一个实施例中,cpu112是商业上可得到的中央处理设备,其实现诸如x86、arm、power或mips指令集族中的一个的指令集。gpu116包括用于显示2d和3d图形两者的硬件和软件。在一个实施例中,处理器108通过使用gpu116中的硬件功能来执行软件程序(包括驱动器和其它软件指令),以通过使用例如opengl、opengles、vulkan或direct3d图形应用编程接口(api)来生成3d图形。例如,gpu116包括一个或多个硬件执行单元,该硬件执行单元实现纹理映射、片段着色器、顶点着色器、以及可选地几何着色器、镶嵌(tessellation)着色器和计算着色器,以用于处理和显示2d和3d图形。在操作期间,cpu112和gpu116执行从存储器120中取回的所存储的经编程的指令140。在一个实施例中,所存储的经编程的指令140包括操作系统软件以及生成3d图形的一个或多个软件应用程序,包括地图和导航应用。所存储的程序指令140包括软件,该软件控制cpu112和gpu116的操作以基于本文中所述的实施例来生成云的图形描绘。

处理器108执行地图和导航程序,并且利用图形变换来生成3d图形输出,该图形变换以直观的方式描绘了在车辆外部的地理区中的地图特征和天气条件,诸如天空中的云覆盖。处理器108通过如下操作而被配置有软件和硬件功能:将经编程的指令存储在操作地连接到处理器108的一个或多个存储器中,以及将硬件功能操作地连接到处理器和/或其它电子、机电、或机械组件以提供来自传感器或数据源的数据,以使得处理器能够实现以下所讨论的过程和系统实施例。

存储器120包括非易失性存储器和易失性存储器两者。非易失性存储器包括固态存储器(诸如,nand闪速存储器、磁性和光学存储介质、或任何其它合适的数据存储设备),其当车辆中信息系统104被去激活或丢失电力时保留数据。易失性存储器包括静态和动态随机存取存储器(ram),其在车辆中信息系统104的操作期间存储软件和数据,包括图形数据和地图特征数据。在一些实施例中,gpu116和cpu112均能够访问分离的ram设备(例如,用于cpu112的ddrsdram的变型,以及用于gpu116的gddr、hbm、或其它ram的变型),而在其它实施例中,cpu112和gpu116访问共享的存储器设备。除了经编程的指令140之外,存储器120还存储三维虚拟环境图形数据124。图形数据124包括处理器108用来生成3d虚拟环境的三维图形的几何模型、纹理和其它数据。在图1的实施例中,图形数据124包括与被显示在3d虚拟环境的天空中的云的结构相对应的云纹理数据128中的一个或多个纹理。图形数据124还包括抛物线天幕表面132,抛物线天幕表面132形成了表示3d虚拟环境中的天空的几何表面。在车辆中信息系统104的操作期间,处理器108基于由3d虚拟环境所表示的地理区中的当前或预测的天气条件来修改云纹理数据128,并且将纹理映射到抛物线天幕表面以用于在车辆中信息系统104中显示。

车辆中信息系统104包括可选网络设备152,可选网络设备152被配置成通过数据网络180而从外部计算系统(诸如,在线天气信息源190)发送和接收天气数据。网络设备152的示例包括有线网络适配器(诸如,以太网和通用串行总线(usb)适配器)和无线网络适配器(诸如,无线广域网(wwan)、802.11或蓝牙无线局域网(wlan)适配器)。

如图1中所描绘的,在线天气信息源190包括以可由车辆中信息系统104通过数据网络180访问的方式来提供数据的任何在线服务。例如,在线天气信息源190包括实况天气服务,该实况天气服务提供与车辆周围的天气有关的信息,包括云、风、温度、降水和道路危险条件。

车辆中信息系统104包括操作地连接到处理器108的可选的定位系统设备148。定位系统的示例包括全球定位系统(gps)接收器,该全球定位系统(gps)接收器使用一个或多个卫星导航系统、对车辆中信息系统104相对于固定无线发射器的位置进行标识的无线电三角测量接收器、以及惯性导航系统。在操作期间,处理器108执行地图和导航软件应用,该地图和导航软件应用从定位系统148中取回位置信息以标识车辆中信息系统104的地理位置,并且调节虚拟环境的显示以对应于车辆中信息系统104的位置。在导航应用中,处理器108标识车辆中信息系统104的位置和移动,以用于生成到所选目的地的路线并且在3d虚拟环境中显示路线。

在操作期间,处理器108从多个源接收与车辆周围的环境相对应的天气信息。在图1的实施例中,源包括车辆传感器170、在线信息源190以及定位系统148。处理器108间接地使用某些环境数据。例如,定位系统148提供关于车辆位置的数据,并且处理器108使用位置数据作为对在线信息源190的查询的部分,以例如标识在车辆周围的区中或沿着车辆将在未来行进在其中的车辆路线的另一个区中的天气。

在车辆中信息系统104中,显示设备144是集成显示设备(诸如,lcd或其它可视显示设备),其利用车辆中信息系统104的外壳而被集成,或者显示设备144是外部显示设备,其通过有线或无线接口而操作地连接到车辆中信息系统104,以从处理器108接收输出信号来生成3d虚拟环境的显示。在其中车辆中信息系统104是车辆中嵌入式计算设备的实施例中,显示设备144是位于车辆控制台中的lcd或其它平坦面板显示器,或者显示设备144是平视显示器(hud)或其它投影显示器,其在车辆中的挡风玻璃或其它显示表面上显示3d虚拟环境。其它显示设备实施例包括例如立体显示器,其形成3d虚拟环境的两个不同2d图像以模拟虚拟环境的真实三维显示。

在车辆中信息系统104中,车辆传感器170包括车辆中的生成与车辆条件或车辆周围的环境相对应的数字数据的任何设备,处理器108使用该数字数据来调节静态地图特征的可视描绘。在不同车辆配置中所使用的传感器的示例包括但不限于相机、光传感器、温度计、湿度计、运动传感器、速度计、范围寻找传感器等等。在一些实施例中,处理器108使用车辆传感器170来补充来自在线天气信息源190的天气信息数据,以检测车辆周围的区中的云覆盖水平。在一些实施例中,车辆中时钟是对车辆周围的当天时间进行记录的另一传感器。在一些实施例中,当车辆处于不同的地理位置中时,定位系统148或网络设备152接收时间数据来设置时钟,并且标识在不同时间处的太阳或月亮在天空中的位置。在图1的示例中,定位系统148还充当指示车辆的位置、和可选地行进方向以及速度的传感器。在一些车辆中,可以从执行车辆中的其它功能的子系统间接地提供附加的传感器数据。

图1描绘了作为硬件系统的一个实施例的车辆中信息系统104,其特别地被配置成在3d虚拟环境中生成云的图形。附加地,并入了类似的硬件组件(包括移动电子设备,诸如智能电话、平板设备、可穿戴设备等等)的其它实施例可以特别地被配置成执行本文中所述的方法。

图2描绘了用于在三维虚拟环境中生成云的图形的过程200。在以下描述中,对执行功能或动作的过程200的提及是指处理器的操作,该处理器用于执行所存储的程序指令以结合其它硬件元件来执行功能或动作。出于说明性目的,结合系统100和车辆中信息系统104来描述过程200。

过程200开始于用于生成一个或多个纹理的可选的过程性纹理生成过程,该一个或多个纹理形成了用于在车辆中信息系统104中生成云的图形的基础(框204)。在一个实施例中,处理器108对perlin噪声源进行采样以生成云纹理数据128中的一个或多个纹理。使用perlin噪声以用于过程性纹理生成对于本领域是众所周知的并且没有在本文中被更详细地提出。框204的处理可以由处理器108如在图2的示例中那样执行。在另一实施例中,纹理生成过程由外部计算设备执行,该外部计算设备以离线的方式生成纹理数据。车辆中信息系统108在执行3d映射程序或生成云图形的其它图形软件程序应用之前,将先前生成的云纹理数据128存储在存储器120中。在其中存储器120具有足够容量来存储云纹理数据128的实施例中,云纹理数据128的离线生成减小了处理器108在操作期间的计算负担。

随着车辆中信息系统104从在线天气信息源190接收针对地理区的天气数据,过程200继续(框208)。天气数据源包括例如web(网络)服务和其它公共可用的天气信息系统,诸如美国国家天气服务以及全世界其它国家中的等同天气服务,其提供当前和预测的天气条件信息。天气信息包括例如天气数据,该天气数据描述给定地理区中的云覆盖、风速和风向。在过程200期间,车辆中信息系统104可以通过使用例如从定位系统148所接收的位置数据来接收针对紧邻车辆的区的天气数据,该位置数据用于标识车辆的地理位置。在另一配置中,车辆中信息系统104接收针对不同于车辆位置的地理区(诸如,潜在地位于距车辆当前位置的大距离处的车辆目的地)的天气数据,以使得车辆中信息系统104能够基于在真实世界中的目的地的物理位置处的实际云覆盖,来在与目的地相对应的3d虚拟环境中显示云覆盖。在一些实施例中,车辆中信息系统104基于当前天气条件数据来生成预测地理区中的当前条件的云的图形,而在其它实施例中,车辆中信息系统104通过使用所预测的天气数据、基于地理区中在未来时间处的所预测的天气条件来生成图形。例如,如果到目的地处的估计到达时间(eta)是未来四小时,则车辆中信息系统104可以从在线天气源190取回所预测的天气条件数据,并且使用所预测的云覆盖水平来提供目的地处在车辆的eta时的云图形描绘。

在过程200期间,处理器108将阈值滤波器应用到处理器108从存储器120中的云纹理数据128中取回的至少一个云纹理(框212)。阈值滤波过程在纹理中选择纹素,该纹素用于基于指示地理区中的云量水平的天气数据来形成云图形。如以下更详细地描述的,阈值滤波器从纹理中选择纹素,该纹素基于数值阈值选择过程来形成云的形状。在车辆中信息系统104中,处理器108标识与天气数据中的云覆盖信息相对应的数值阈值,其中一些实施例中的数值阈值与云覆盖水平逆相关。例如,在一个实施例中,通过使用8位数据(在0至255的范围中的值)来对纹理中的纹素值进行编码。处理器108如下来生成在适当数值范围中的数值阈值:直接基于来自天气数据的云覆盖百分比(例如,针对50%云覆盖的为128的阈值,针对100%云覆盖的为0的阈值),或基于针对包括定性而不是直接定量的云覆盖信息的天气数据的预定值(例如,针对“大部分晴”的为225的阈值,针对“部分多云”的为180的阈值,针对“大部分多云”的为75的阈值等等)。附加地,在其中天气数据指示完全没有云的晴朗天空条件的情形中,处理器108可以省略过程200的其余部分以生成不包括任何云的图形。

在处理器108中,阈值滤波器操作可以通过使用cpu112、gpu116或这两个硬件组件的组合来执行。例如,在一个实施例中,gpu116执行片段着色器程序,该片段着色器程序对在过程性生成的纹理的拷贝中的每个经采样的纹素进行处理以应用阈值。如果纹素的数值满足或超过阈值,则片段着色器程序使得纹理中的纹素的数值处于未修改的状态中(例如,如果阈值是110并且纹素值是200,则输出纹素值也是200)。然而,如果纹素值在阈值以下,则片段着色器将纹素设置成预定值(诸如0),这实际上从最终渲染的图形中删除了纹素以描绘云的各部分之间的间隙(例如,如果阈值是110并且纹素值是97,则输出纹素值被设置成0)。处理器108被配置成在后续渲染操作期间忽略预定值以确保云在所删除的纹素的位置中不被渲染。在采用具有阿尔法通道的纹理的另一实施例中,片段着色器不改变每个纹素的固有值,而是代替地为满足或超过阈值的每个纹素将阿尔法通道值设置成1.0(完全不透明),并且将阿尔法通道值设置成0.0(完全透明)以实际上删除在阈值以下的每个纹素。在纹理中没有被删除的所选纹素以纹理形成云的形状,其中阈值影响了描绘云的纹理与云之间的示出天空的间隙相比的总体比例。在一些实施例中,cpu112通过如下操作来修改纹理中的纹素:以与上文针对gpu116所描述的过程类似的过程来执行所存储的程序指令。

随着处理器108将经滤波的云纹理映射到形成三维虚拟环境中的天幕的双曲表面,过程200继续(框216)。映射过程确保:当在3d虚拟环境中从不同角度观看云的时候,云具有自然的外观。为了实现更现实的云纹理映射,处理器108将经滤波的云纹理映射到与3d虚拟环境中的天幕相对应的抛物线几何表面。其它映射技术(如球面和平面映射)通常被使用在图形工业中来对天幕进行可视化。相比之下,基于实验结果,与以上两个映射相比,抛物线映射递送了从水平到垂直视图的更好的过渡。附加地,随着参数改变,抛物线映射还可以覆盖球面、平面映射。在大多数硬件实施例中,gpu116包括纹理映射单元硬件,该纹理映射单元硬件将经滤波的云纹理映射到抛物线表面。

图4更详细地描绘了抛物线映射过程,其包括被映射到与天幕相对应的抛物线几何表面408的经滤波的云纹理404。将抛物线表面408的中心点410取作从沿着3d虚拟环境中的z轴的虚拟相机直接置顶的视点,处理器108将沿着z轴的云噪声纹理意愿映射到虚拟相机以上的抛物线表面。如图4中所描绘的,中心点410对应于抛物线几何表面的顶点。虽然图4出于说明性目的而描绘了单个纹理404,但是在一些实施例中,单个经滤波的纹理或多个经滤波的纹理被平铺以覆盖较大的区域,并且经平铺的纹理被映射到抛物线表面408。

再次参考图2,随着处理器108将颜色应用到与云相对应的所映射的纹理中的全部纹素,过程200继续(框220)。在车辆中信息104的一个实施例中,处理器108通过使用与红色、绿色和蓝色水平相对应的三个分离的子纹素颜色值而生成颜色,显示设备144将该红色、绿色和蓝色水平组合在一起以在所渲染的场景中产生每个纹素的最终输出颜色。如以上参考框212的处理所描述的,处理器108通过使用阈值化过程来生成云的形状和密度,但是该过程不给予与所渲染的云相关联的最终颜色。例如,白色的晴天云可以与较暗的风暴云具有相同的一般大小和形状,但是两种云具有不同的颜色。附加地,3d虚拟环境中的太阳、月亮和潜在地其它光源的相对位置影响云的颜色。

为了将颜色应用到云纹素,处理器108将子散射颜色应用到云,并且基于所有输入来合成云的最终颜色。为了在gpu流水线中消耗较少的处理资源,过程200实现经修改的各向同性的单散射模型(其是各向同性的mie模型的经修改的版本)以渲染云颜色。虽然,一般现有技术的mie模型涉及基于各项的无穷级数的求和而对散射光的强度的计算,但是过程200采用了比mie模型的无穷级数在计算上更高效、同时仍在3d映射应用中递送准确的云颜色的数值近似。处理器108执行通过以下函数描述的简化计算:

cloudcolor=skycolor*(1.0-cloudintensity)+extinctcolor*cloudambient

在前述函数中,skycolor(天空颜色)参数是针对没有任何云存在的三维虚拟环境(例如正常、雾或沙尘暴)中的天空的默认颜色值。cloudambient(云环境)参数是被选为用于3d虚拟环境的总体颜色主题的部分的云的默认颜色值。cloudintensity(云强度)参数在每个纹素的基础上变化,并且对应于超过被映射到0.0到1.0的数值范围的上述阈值的每个纹素的值。extinctcolor(消光颜色)参数对应于针对云纹理中的每个纹素的光吸收和光透射的水平,其基于每个纹素的cloudintensity(云强度)参数值。在一个实施例中,通过使用在云中对来自光源的光的吸收进行模拟的函数或函数集合来经验性地确定extinctcolor(消光颜色)参数。映射单个纹素的红色(r)、绿色(g)和蓝色(b)子纹素颜色元素的三个函数的集合的一个示例是:extinctcolor.r=e(-cloudintensity*c1);extinctcolor.g=e(-cloudintensity*c2)以及extinctcolor.b=e(-cloudintensity*c3),其中c1、c2和c3是经验性确定的数值系数值。因而,cloudcolor(云颜色)值基于单独的纹素值而在云的纹素之间变化,该单独的纹素值影响cloudintensity(云强度)和extinctcolor(消光颜色)参数值以生成包括具有变化颜色的纹素的云的图形,该云诸如是可以从白色变成灰色或其它颜色的较暗阴影的云,包括由于黎明或黄昏时的日光的效应所致的具有其它颜色的云。在处理器108中,gpu116可以通过使用片段着色器程序来在每个纹素的基础上执行颜色计算,或者cpu112可以基于上述函数来计算针对云中的每个纹素的颜色。

在处理器108将颜色应用到先前已经被映射到抛物线天幕表面的纹理中的纹素之后,处理器108生成3d虚拟环境的图形显示,其包括上述的云(框224)。在车辆中信息系统104中,处理器108基于3d虚拟环境内的虚拟相机的位置来生成3d虚拟环境的图形显示,以利用显示设备144基于以下内容来生成2d栅格化图像:使用以其它方式对于本领域所已知的3d渲染技术而通过虚拟相机的视锥体所看到的3d虚拟环境的部分。除了具有云的天空之外,处理器108还在3d虚拟环境中生成地形、建筑物、地标和其它特征的图形渲染。显示设备144向用户提供在3d虚拟环境中的视场的情况下具有天空和所渲染的云连同其它元素的抛物线表面的一部分的可视描绘。云的图形描绘基于从在线天气源190所接收的实际天气条件,来提供与在车辆中信息系统中所显示的地理区中的云覆盖水平相关的简单且可容易理解的信息。

图3描绘了包括经阈值滤波的纹理的所渲染的云图形的两个示例,该经阈值滤波的纹理通过使用本文中所述的过程200而被映射到抛物线天幕并且被着色。特别地,与具有零或非常低的滤波器阈值的阴天的云覆盖相对应的云纹理304产生经渲染的图形描绘312。处理器108应用50%阈值以生成经滤波的纹理308,其中经滤波的纹理308中的黑色区表示云之间的间隙。处理器108基于具有云中的间隙之间的蓝天的经滤波的纹理308,来产生包括部分云覆盖的图形渲染316。除了基于经滤波的纹理的云的密度和形状中的改变之外,过程200的着色方法还使得云能够具有不同的颜色,诸如在阴天的云渲染312中的较暗着色以及在晴天的云渲染316中的较亮着色。在图3的示例中,经滤波的纹理304和308这两者基于相同的底层云纹理,车辆中信息系统104将该相同的底层云纹理存储在存储器120中的云纹理数据128中。过程200使得能够使用单个云纹理或小数量的不同云纹理来生成图形,该图形描绘了从阴天到大部分晴天的宽范围的云条件,而不必为不同天气条件中的每一个重新生成云的复杂渲染。

如上所述,过程200提供了用于在3d虚拟环境中生成云的图形描绘的计算上高效的方法。在一些实施例中,车辆中信息系统104还使云随时间成动画,以在3d虚拟环境中描绘风对云的影响(框228)。处理器108从在线天气数据源190接收风速和风向数据与天气条件数据,如以上参考框208的处理所描述的。在一个实施例中,处理器108通过如下操作来使云的移动成动画:在一系列所渲染的帧上将空间偏移应用到针对云纹理到双曲表面的纹理映射的位置,以便示出以与风条件相对应的方向和速度的云的移动,其中每个帧包括三维虚拟环境中的云的单个图形描绘,并且过程200产生具有云的不同渲染的一系列帧以在三维虚拟环境中产生云的动画描绘。

在另一实施例中,处理器108还随时间改变云的形状以模仿天空中的实际云的形状中的改变。在该实施例中,处理器108使用被存储在云纹理数据128中的第二云纹理,以用作来自通过使用第一云纹理所产生的当前渲染的云的偏移纹理,以基于第一云纹理和第二云纹理中的纹素的组合来生成第三纹理。处理器108生成两个纹理之间的偏移,该偏移在动画的帧之间改变,以便为每帧动画产生不同的云纹理。在车辆中信息系统104中,处理器108通过使用gpu112、gpu116或两个硬件组件的组合来针对动画云图形生成两个纹理的组合。

例如,在一个实施例中,处理器108通过使用例如以下函数来生成具有从第一云纹理和第二云纹理中的纹素的组合而生成的纹素的第三纹理:texelu,v=(first_texture[u,v]+second_texture[u+texoffsetu,v+texoffsetv])/2,其中u,v表示第一和第二纹理两者中的纹素的二维坐标,并且texoffsetu和texoffsetv是针对第二纹理中的不同位置的数值偏移值,该数值偏移值在每个所渲染的帧之间改变以描绘云的动画。在一些实施例中,texoffsetu和texoffsetv值开始于0,其针对动画序列的初始帧,并且处理器108基于天气数据通过改变后续帧中的量来增大或减小纹理偏移值,以描绘风向和风速两者对云的影响。以上函数产生两个纹素值的算术平均,尽管在其它实施例中,可以用除了算术平均之外的方式将这两个纹素值进行组合。处理器108使用从两个纹理的组合所产生的纹素来生成第三云纹理,该第三云纹理用作输入来产生另一个经滤波的纹理,其针对每帧动画期间的每个纹素具有不同的cloudintensity(云强度)值,并且处理器108使用经修改的纹素值来返回到以上参考框212-224所描述的处理,以便针对三维虚拟环境中的云的动画描绘产生一系列图形渲染。

具有变化的偏移值的第一云纹理和第二云纹理的组合产生不同的经滤波的纹理以用于渲染三维虚拟环境的每个附加图形帧,其描绘了三维虚拟环境中的云的移动和形状中的改变两者。随着处理器108基于具有第一和第二纹理之间的第二偏移的第一和第二云纹理的组合来生成第四纹理作为针对动画的后续帧生成第二经滤波的纹理的输入,过程200针对附加帧而继续,并且车辆中信息系统104执行过程200的附加迭代以生成如上所述的动画的附加帧。该过程在3d导航系统中递送云的可信(plausible)行为,包括:云的起伏、消没、出现和混合,如在图5的动画序列中所示。在图5中,车辆中信息系统104生成具有在时间序列中生成的多个图像帧504a-504f的云的所渲染的帧的进展,以基于风速和风向来描绘天空中的云的移动。

本文中所述的实施例提供了对于计算机技术、并且更具体地对于被特别地配置成生成图形的计算机化的系统的操作的改进。本文中所述的改进的非排他示例包括用于在三维虚拟环境中生成云的图形渲染的过程,该过程与现有技术的云渲染技术相比需要较少的计算资源,与不太高效的现有技术的渲染技术相比,这拓宽了可以在3d虚拟环境中高效地渲染云的计算机化的设备的基础。本文中所述的实施例还使得能够在3d虚拟环境中实现与在3d虚拟环境中所描绘的地理区中的实际云覆盖条件相对应的云的高效渲染,这改进了3d地图和导航应用的功能。

应当领会的是,以上所公开的以及其它特征和功能的变型、或其可替换方案可以合期望地被组合到许多其它不同的系统、应用或方法中。各种目前没有预见或没有预料到的可替换方案、修改、变型或改进可以随后由本领域技术人员做出,这些可替换方案、修改、变型或改进也意图被以下权利要求所涵盖。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1