本技术涉及虚拟场景渲染领域,尤其是涉及一种驾驶模拟场景生成方法、装置及显示设备。
背景技术:
1、正确熟练地驾驶车辆,是当今社会人们通常需要掌握的一项必备技能。
2、目前针对驾驶员的学习考试,主要包括理论知识和实践驾驶两种;而实践考试主要考查一些常规的驾驶技能,例如车辆启动、换挡、停车以及一些常用灯光和设备的使用操作等。
3、而在实际驾驶过程中,遇到的实际驾驶路况往往是复杂多变的。大多数刚刚通过考试后的驾驶员,由于驾驶经验较为匮乏,因此当实际驾驶过程中遇到一些复杂路况或异常情形,由于没有应对经验,很难采取合理的应对措施,容易引发交通事故。例如针对雾天条件下的驾驶,不仅对于新手驾驶员是较大的驾驶挑战,对于没有相关经验的“老司机”同样如此。
4、对此,目前有一种方案是通过水泵和雾效发生器搭建模拟场景,让驾驶员驾驶车辆在模拟场景中行驶,体会雾天驾驶所面临的真实场景,让驾驶员有雾天驾驶视觉上的体验,从而为实际雾天驾驶积累经验。
5、该方案能够较为真实地体验雾天驾驶环境,但是存在实景搭建占用场地大、成本高、使用不便、存在安全隐患的问题,因此受众面窄,很难推广使用,无法真正让更多驾驶员体验学习,因此难以提高社会人员的整体驾驶水平。
技术实现思路
1、为了解决实景搭建存在的占用场地大、成本高、使用不便、存在安全隐患的问题,本技术提供了一种驾驶模拟场景生成方法、装置及显示设备。
2、第一方面,本技术提供一种驾驶模拟场景生成方法,采用如下的技术方案:
3、控制生成动态驾驶场景;
4、根据设定雾效浓度参数生成相应的雾效;
5、获取所述动态驾驶场景中各目标顶点像素的屏幕深度,根据所述屏幕深度计算对应目标顶点像素的不透明度;
6、基于所述不透明度,控制所述目标顶点像素与所述雾效进行融合渲染,得到所述目标顶点像素的融合渲染结果;
7、基于各所述目标顶点像素各自融合渲染得到的融合渲染结果,得到所述动态驾驶场景的第一渲染场景;
8、基于所述第一渲染场景,得到雾天驾驶模拟场景。
9、通过采用上述技术方案:驾驶员可通过线上虚拟的方式,因此不存在实景驾驶的安全问题;且可以随时体验雾天驾驶模拟场景,因此使用方便,零成本,可满足所有驾驶员的雾天驾驶体验需求;另外还可以自定义雾效浓度,体验不同雾效浓度下的驾驶视线,为真实环境驾驶提供经验,降低交通事故发生概率。
10、可选的,所述根据所述屏幕深度计算对应目标顶点像素的不透明度包括:
11、当所述目标顶点像素的屏幕深度小于所述雾效的雾效起始距离时,确定所述目标顶点像素的不透明度为0;
12、当所述目标顶点像素的屏幕深度大于等于所述雾效的雾效起始距离,且不大于所述雾效的雾效范围时,所述目标顶点像素的不透明度可采用如下公式计算得到:
13、
14、其中,表示不透明度,为自然底数,表示设定雾效浓度参数,表示屏幕深度;
15、当所述目标顶点像素的屏幕深度大于所述雾效的雾效范围时,确定所述目标顶点像素的不透明度为1。
16、通过采用上述技术方案,通过目标顶点像素的屏幕距离,确定了目标顶点像素的不透明度,作为融合渲染的基础。
17、可选的,所述基于所述不透明度,控制所述目标顶点像素与所述雾效进行融合渲染,得到所述目标顶点像素的融合渲染结果包括:
18、获取所述目标顶点像素的灰度值,以及所述雾效的灰度值;
19、将所述不透明度作为所述雾效的灰度值的权重;将作为所述目标顶点像素的灰度值的权重;
20、计算所述目标顶点像素的灰度值与所述雾效的灰度值的加权和值;
21、将所述加权和值作为所述目标顶点像素的融合灰度值,以得到所述目标顶点像素的融合渲染结果。
22、通过采用上述技术方案,提供了一种基于顶点像素的不透明度实现雾效融合的具体方法。
23、可选的,所述动态驾驶场景中包括动态元素和静态元素;
24、所述动态元素包括车辆元素;
25、所述静态元素包括驾驶舱、道路、大气环境、道路标识牌、信号灯中的至少一种。
26、通过采用上述技术方案,使得驾驶模拟场景中的元素更加丰富,有利于更加贴近实际驾驶环境。
27、可选的,所述基于第一渲染场景,得到雾天驾驶模拟场景包括:
28、在所述第一渲染场景中出现所述车辆元素时,按照预设事件生成规则,确定车辆行为事件和渲染目标;并根据所述车辆行为事件对所述渲染目标进行渲染,得到第二渲染场景;
29、将所述第二渲染场景作为所述雾天驾驶模拟场景。
30、通过采用上述技术方案,通过对渲染目标进行事件渲染,可以模拟出驾驶过程中可能存在的驾驶事件,尤其是针对异常事件,这是实景搭建驾驶场景所不能模拟的。
31、可选的,所述预设事件生成规则包括:
32、针对所述第一渲染场景中出现的各所述车辆元素进行顺序编号;
33、根据各所述车辆元素的最大编号n1,建立第一随机函数random(n1);
34、利用所述第一随机函数random(n1)生成随机数m1;其中1≤m1≤n1,且m1为正整数;
35、将编号为m1的车辆元素,作为所述渲染目标;
36、针对所有预设事件进行顺序编号;
37、根据各所述预设事件的最大编号n2,建立第二随机函数random(n2);
38、利用所述第二随机函数random(n2)生成随机数m2;其中1≤m2≤n2,且m2为正整数;
39、将编号为m2的预设事件,作为所述车辆行为事件。
40、通过采用上述技术方案,可保证渲染目标的出现和车辆行为事件的发生更加真实,避免千篇一律。
41、可选的,所述车辆行为事件包括灯光事件和车速变化事件;
42、所述灯光事件包括射灯类型的灯光事件和点光源类型的灯光事件;所述射灯类型的灯光事件包括:打开远光灯、打开近光灯、打开雾灯;所述点光源类型的灯光车辆行为事件包括:打开双闪灯、打开转向灯;
43、所述车速变化事件包括:保持第一车速匀速行驶、保持第二车速匀速行驶、加速度为a的匀加速行驶、加速度为b的匀减速行驶。
44、通过采用上述技术方案,几乎满足了驾驶员在实际驾驶环境中可能遇到的不同灯光、不同车速在雾天条件下的行驶体验。
45、可选的,所述根据所述车辆行为事件对所述渲染目标进行渲染,得到第二渲染场景包括:
46、在所述车辆行为事件为所述射灯类型的灯光事件时,采用如下方式对所述渲染目标进行渲染:
47、根据所述射灯类型的灯光事件和所述渲染目标,确定对应的第一目标光源位置,并于所述第一目标光源位置生成对应的第一光效;
48、将所述第一渲染场景对应二维屏幕图像中处于该第一目标光源光照区域内的像素,作为受光像素;
49、对所述受光像素朝该第一目标光源方向步进,确定对应的第一步进像素;
50、计算所述受光像素和各所述对应的第一步进像素的平均亮度值,作为所述受光像素模糊后的亮度值;
51、基于各所述受光像素模糊后的亮度值,得到第一亮度图;
52、将所述第一亮度图与所述第一渲染场景对应二维屏幕图像进行融合,得到所述第二渲染场景;
53、在所述车辆行为事件为所述点光源类型的灯光事件时,采用如下方式对所述渲染目标进行渲染:
54、根据所述点光源类型的灯光事件和所述渲染目标,确定对应的第二目标光源位置,并于所述第二目标光源位置生成对应的第二光效;
55、计算场景可视空间中各采样点与所述第二目标光源位置中心点的距离,结合所述第二目标光源位置中心点的光效亮度,计算各所述采样点的光衰亮度;
56、根据所述第二目标光源位置中心点、所述采样点、人眼视角三者连线所得的夹角θ,结合所述雾效的散射因子g,计算所述采样点的光线散射率;
57、根据所述采样点与所述第二目标光源位置中心点的距离,以及预设介质浓度,计算所述采样点的透光比;
58、判断所述采样点是否位于所述第二光效的阴影区域;如是,确定所述采样点的阴影值为0;如否,确定所述采样点的阴影值为1;
59、将所述采样点的所述光衰亮度、所述光线散射率、所述透光比和所述阴影值相乘,将所得乘积作为所述采样点物理演算后的亮度值;
60、基于所述场景可视空间中各所述采样点物理演算后的亮度值,将位于一条直线上的所有采样点物理演算后的亮度值进行积分,得到对应屏幕某个像素的亮度值,基于屏幕上各像素的亮度值得到第二亮度图;
61、将所述第二亮度图与所述第一渲染场景进行融合,得到所述第二渲染场景。
62、通过采用上述技术方案,提供了针对不同类型灯光事件的具体渲染方法,使得驾驶模拟场景中的灯光效果,更加符合雾天条件下的真实视觉体验。
63、第二方面,本技术提供一种驾驶模拟场景生成装置,采用如下的技术方案:
64、控制模块,用于控制生成动态驾驶场景,以及根据设定雾效浓度参数生成相应的雾效;
65、处理模块,用于获取所述动态驾驶场景中各目标顶点像素的屏幕深度,根据所述屏幕深度计算对应目标顶点像素的不透明度;
66、渲染模块,用于基于所述不透明度,控制所述目标顶点像素与所述雾效进行融合渲染,得到所述目标顶点像素的融合渲染结果;基于各所述目标顶点像素各自融合渲染得到的融合渲染结果,得到所述动态驾驶场景的第一渲染场景;基于所述第一渲染场景,得到雾天驾驶模拟场景。
67、通过采用上述技术方案,提供了一种能够实现上述驾驶模拟场景生成方法的功能模块装置。
68、第三方面,本技术提供一种显示设备,采用如下的技术方案:
69、包括处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述驾驶模拟场景生成方法。
70、通过采用上述技术方案,提供了能执行实现上述驾驶模拟场景生成方法的显示设备。
71、综上所述,本技术包括以下至少有益技术效果:
72、1.驾驶员可通过线上虚拟的方式,随时体验雾天驾驶模拟场景,使用方便,零成本,可满足所有驾驶员的雾天驾驶体验需求;还可以自定义雾效浓度,体验不同雾效浓度下的驾驶视线,为真实环境驾驶提供经验,降低交通事故发生概率。
73、2.通过对渲染目标进行事件渲染,可以模拟出驾驶过程中可能存在的驾驶事件,尤其是针对异常事件,这是实景搭建驾驶场景所不能模拟的。