一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

建筑物渲染方法、装置、电子设备及程序产品与流程

2022-08-02 23:02:53 来源:中国专利 TAG:


1.本公开实施例涉及渲染处理技术领域,具体涉及一种建筑物渲染方法、装置、电子设备及程序产品。


背景技术:

2.现有电子地图的渲染效果包括:二维电子地图和三维电子地图等,与二维电子地图相比,三维电子地图具有立体、直观等特性。三维电子地图中的建筑物会以立体形式渲染,即建筑物具有长度、宽度和高度,但是现有技术在渲染三维电子地图中的建筑物时,要么没有渲染建筑物的窗户,即将建筑物的墙面渲染为纯色的墙面,要么渲染了建筑物的窗户,但只是在墙面上渲染出了窗格纹理,这样渲染出的建筑物均不够逼真。因此,需要提供新的渲染技术,增强三维电子地图中建筑物的真实感。


技术实现要素:

3.本公开实施例提供一种建筑物渲染方法、装置、电子设备及程序产品。
4.第一方面,本公开实施例中提供了一种建筑物渲染方法。
5.具体的,所述建筑物渲染方法,包括:
6.获取待渲染的建筑物在待显示视角下的立体几何信息;
7.基于所述立体几何信息,确定所述建筑物的目标墙面的窗格渲染参数;
8.基于所述窗格渲染参数,在所述建筑物的目标墙面上渲染立体效果的窗格,其中,所述建筑物的窗格的立体效果随所述待显示视角的变化而变化。
9.结合第一方面,本公开实施例在第一方面的第一种实现方式中,所述基于所述立体几何信息,确定所述建筑物的目标墙面的窗格渲染参数,包括:
10.从所述立体几何信息中,获取所述建筑物的目标墙面的第一边的长度和方向,第二边的长度和方向,所述第一边和第二边为所述目标墙面相接的两边;
11.基于所述目标墙面的第一边和第二边的长度以及所述窗格的预设尺寸,确定所述目标墙面对应的窗格数量;
12.基于所述目标墙面的第一边和第二边的方向,确定所述目标墙面的窗格的立体状态参数,其中,所述窗格渲染参数包括所述窗格数量和所述窗格的立体状态参数。
13.结合第一方面和第一方面的第一种实现方式,本公开实施例在第一方面的第二种实现方式中,其中,所述窗格包括:顶层图和底层图;
14.所述顶层图包括中间镂空区域和顶层周边区域,
15.所述底层图包括中间窗格区域和底层渐变区域,所述底层渐变区域的像素亮度从内到外逐渐变亮或变暗;
16.其中,在所述顶层图渲染在所述底层图之上,所述顶图层的中间镂空区域大于所述底图层的中间窗格区域,以使所述底图层的中间窗格区域全部显示、所述底层渐变区域显示未被所述顶图层的顶层周边区域遮挡的部分。
17.结合第一方面、第一方面的上述实现方式,本公开在第一方面的第三种实现方式中,其中,所述方法还包括:
18.获取所述待显示视角下的相机方向向量;
19.所述基于所述目标墙面的第一边和第二边的方向,确定所述目标墙面的窗格的立体状态参数,包括:
20.基于所述目标墙面的第一边和第二边的方向,以及所述待显示视角下的相机方向向量,确定所述底层图的偏移量;
21.其中,所述偏移量为待显示视角下的底层图的位置相对于底层图的原始位置的偏移量,所述底层图的原始位置为所述底层图与所述顶层图中心对齐时所述底层图的位置。
22.结合第一方面、第一方面的上述实现方式,本公开在第一方面的第四种实现方式中,其中,所述基于所述目标墙面的第一边和第二边的方向,以及所述待显示视角下的相机方向向量,确定所述底层图的偏移量,包括:
23.按照以下公式计算所述底层图的偏移量:
24.offsetx=dot(u,k)*d;offsety=dot(v,k)*d;
25.其中,offsetx为在x方向上的偏移量,offsety为在y方向上的偏移量,所述u为第一边的方向向量,所述v为所述第二边的方向向量,所述k为待显示视角下的相机方向向量,所述u、v和k的向量大小均为1,所述d为经验常数,所述dot表示两个向量的内积。
26.结合第一方面、第一方面的上述实现方式,本公开在第一方面的第五种实现方式中,其中,所述获取待渲染的建筑物在待显示视角下的立体几何信息,包括:
27.响应于切换视角指令时,获取待渲染的建筑物在所述切换视角指令指示的切换视角下的立体几何信息。
28.结合第一方面、第一方面的上述实现方式,本公开在第一方面的第六种实现方式中,其中,所述窗格渲染参数还包括所述目标墙面的倾斜方向和缩放比例,所述基于所述窗格渲染参数,在所述建筑物的目标墙面上渲染立体效果的窗格还包括:
29.按照所述目标墙面的倾斜方向和缩放比例,同方向倾斜并同比例缩放渲染立体效果的窗格。
30.第二方面,本公开实施例中提供了一种建筑物渲染装置。
31.具体的,所述建筑物渲染装置,包括:
32.获取模块,被配置为获取待渲染的建筑物在待显示视角下的立体几何信息;
33.确定模块,被配置为基于所述立体几何信息,确定所述建筑物的目标墙面的窗格渲染参数;
34.渲染模块,被配置为基于所述窗格渲染参数,在所述建筑物的目标墙面上渲染立体效果的窗格,其中,所述建筑物的窗格的立体效果随所述待显示视角的变化而变化。
35.结合第二方面,本公开实施例在第二方面的第一种实现方式中,所述确定模块被配置为:
36.从所述立体几何信息中,获取所述建筑物的目标墙面的第一边的长度和方向,第二边的长度和方向,所述第一边和第二边为所述目标墙面相接的两边;
37.基于所述目标墙面的第一边和第二边的长度以及所述窗格的预设尺寸,确定所述目标墙面对应的窗格数量;
38.基于所述目标墙面的第一边和第二边的方向,确定所述目标墙面的窗格的立体状态参数,其中,所述窗格渲染参数包括所述窗格数量和所述窗格的立体状态参数。
39.结合第二方面和第二方面的第一种实现方式,本公开实施例在第二方面的第二种实现方式中,其中,所述窗格包括:顶层图和底层图;
40.所述顶层图包括中间镂空区域和顶层周边区域,
41.所述底层图包括中间窗格区域和底层渐变区域,所述底层渐变区域的像素亮度从内到外逐渐变亮或变暗;
42.其中,在所述顶层图渲染在所述底层图之上,所述顶图层的中间镂空区域大于所述底图层的中间窗格区域,以使所述底图层的中间窗格区域全部显示、所述底层渐变区域显示未被所述顶图层的顶层周边区域遮挡的部分。
43.结合第二方面、第二方面的上述实现方式,本公开在第二方面的第三种实现方式中,其中,所述装置还包括:
44.相机方向获取模块,被配置为获取所述待显示视角下的相机方向向量;
45.所述确定模块中基于所述目标墙面的第一边和第二边的方向,确定所述目标墙面的窗格的立体状态参数的部分,被配置为:
46.基于所述目标墙面的第一边和第二边的方向,以及所述待显示视角下的相机方向向量,确定所述底层图的偏移量;
47.其中,所述偏移量为待显示视角下的底层图的位置相对于底层图的原始位置的偏移量,所述底层图的原始位置为所述底层图与所述顶层图中心对齐时所述底层图的位置。
48.结合第二方面、第二方面的上述实现方式,本公开在第二方面的第四种实现方式中,其中,所述确定模块中基于所述目标墙面的第一边和第二边的方向,以及所述待显示视角下的相机方向向量,确定所述底层图的偏移量,包括:
49.按照以下公式计算所述底层图的偏移量:
50.offsetx=dot(u,k)*d;offsety=dot(v,k)*d;
51.其中,offsetx为在x方向上的偏移量,offsety为在y方向上的偏移量,所述u为第一边的方向向量,所述v为所述第二边的方向向量,所述k为待显示视角下的相机方向向量,所述u、v和k的向量大小均为1,所述d为经验常数,所述dot表示两个向量的内积。
52.结合第二方面、第二方面的上述实现方式,本公开在第二方面的第五种实现方式中,其中,所述获取模块被配置为:
53.响应于切换视角指令时,获取待渲染的建筑物在所述切换视角指令指示的切换视角下的立体几何信息。
54.结合第二方面、第二方面的上述实现方式,本公开在第二方面的第六种实现方式中,其中,所述窗格渲染参数还包括所述目标墙面的倾斜方向和缩放比例,所述渲染模块包括:
55.按照所述目标墙面的倾斜方向和缩放比例,同方向倾斜并同比例缩放渲染立体效果的窗格。
56.第三方面,本公开实施例提供了一种电子设备,包括存储器和处理器,所述存储器用于存储一条或多条支持建筑物渲染装置执行上述建筑物渲染方法的计算机指令,所述处理器被配置为用于执行所述存储器中存储的计算机指令。所述建筑物渲染装置还可以包括
通信接口,用于建筑物渲染装置与其他设备或通信网络通信。
57.第四方面,本公开实施例提供了一种计算机可读存储介质,用于存储建筑物渲染装置所用的计算机指令,其包含用于执行上述建筑物渲染方法为建筑物渲染装置所涉及的计算机指令。
58.第五方面,本公开实施例提供了一种计算机程序产品,包括计算机程序/指令,其中,该计算机程序/指令被处理器执行时实现上述建筑物渲染方法中的步骤。
59.第六方面,本公开实施例提供了一种导航方法,其中,获取至少基于起点、终点及路况情况规划的导航路线,将所述导航路线渲染在三维电子地图中进行图面引导,所述三维电子地图中的建筑物基于上述的任意一项方法渲染得到。
60.本公开实施例提供的技术方案可包括以下有益效果:
61.由于上述技术方案是基于待显示视角确定建筑物的立体几何信息,然后,在建筑物的墙面上三维可视化地显示在该视角下的立体窗格,因此,本公开技术方案可以实现在不同视角下使该建筑物墙面上的窗格呈现不同的立体效果,提升了立体建筑物的真实感,进而提升了三维电子地图的真实感。
62.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开实施例。
附图说明
63.结合附图,通过以下非限制性实施方式的详细描述,本公开实施例的其它特征、目的和优点将变得更加明显。在附图中:
64.图1示出根据本公开一实施方式的建筑物渲染方法的流程图;
65.图2示出根据本公开一实施方式的建筑物的结构示意图;
66.图3示出根据本公开一实施方式的窗格的图层示意图;
67.图4示出根据本公开一实施方式的目标墙面上的窗格的示意图;
68.图5示出根据本公开一实施方式的建筑物渲染装置的结构框图;
69.图6示出根据本公开一实施方式的电子设备的结构框图;
70.图7是适于用来实现根据本公开一实施方式的建筑物渲染方法的计算机系统的结构示意图。
具体实施方式
71.下文中,将参考附图详细描述本公开实施例的示例性实施方式,以使本领域技术人员可容易地实现它们。此外,为了清楚起见,在附图中省略了与描述示例性实施方式无关的部分。
72.在本公开实施例中,应理解,诸如“包括”或“具有”等的术语旨在指示本说明书中所公开的特征、数字、步骤、行为、部件、部分或其组合的存在,并且不欲排除一个或多个其他特征、数字、步骤、行为、部件、部分或其组合存在或被添加的可能性。
73.另外还需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开实施例。
74.本公开实施例提供的技术方案基于待显示视角确定建筑物的立体几何信息,然
后,在建筑物的墙面上三维可视化地显示在该视角下的立体窗格,因此,本公开技术方案可以实现在不同视角下使该建筑物墙面上的窗格呈现不同的立体效果,提升了立体建筑物的真实感,进而提升了三维电子地图的真实感。
75.图1示出根据本公开一实施方式的建筑物渲染方法的流程图,如图1所示,所述建筑物渲染方法包括以下步骤s101-s103:
76.在步骤s101中,获取待渲染的建筑物在待显示视角下的立体几何信息;
77.在步骤s102中,基于所述立体几何信息,确定所述建筑物的目标墙面的窗格渲染参数;
78.在步骤s103中,基于所述窗格渲染参数,在所述建筑物的目标墙面上渲染立体效果的窗格,其中,所述建筑物的窗格的立体效果随所述待显示视角的变化而变化。
79.上文提及,现有电子地图的渲染效果包括:二维电子地图和三维电子地图等,与二维电子地图相比,三维电子地图具有立体、直观等特性。三维电子地图中的建筑物会以立体形式渲染,即建筑物具有长度、宽度和高度,但是现有技术在渲染三维电子地图中的建筑物时,要么没有渲染建筑物的窗户,即将建筑物的墙面渲染为纯色的墙面,要么渲染了建筑物的窗户,但只是在墙面上渲染出了窗格纹理,这样渲染出的建筑物均不够逼真。因此,需要提供新的渲染技术,增强三维电子地图中建筑物的真实感。
80.考虑到上述问题,在该实施方式中,提出一种建筑物渲染方法,由于该方法是基于待显示视角确定建筑物的立体几何信息,然后,在建筑物的墙面上三维可视化地显示在该视角下的立体窗格,因此,本公开技术方案可以实现在不同视角下使该建筑物墙面上的窗格呈现不同的立体效果,提升了立体建筑物的真实感,进而提升了三维电子地图的真实感。
81.在本公开一实施方式中,所述建筑物渲染方法可适用于可执行建筑物渲染的计算机、计算设备、电子设备等。
82.在本公开一实施方式中,该待渲染的建筑物可以是终端屏幕显示范围对应的地理区域内的每一建筑物。终端可以根据当前定位信息或用户输入的位置信息,获取终端屏幕显示范围对应的地理区域,获取所述地理区域内的每一建筑物。
83.在本公开一实施方式中,该立体几何信息为地图世界空间中的立体几何信息,待显示视角下的立体几何信息包括在待显示视角下该建筑物待显示的墙面的宽度、高度,以及待显示的墙面的倾斜角度等等能够构建出该建筑物的空间外形的几何信息,不同视角下,墙面的倾斜方向和倾斜角度均不相同。
84.在本公开一实施方式中,目标墙面指的是建筑物在待显示视角下需要渲染窗格的墙面,通常情况下,立体建筑物的侧面墙面需要渲染窗格,故目标墙面就是在待显示视角下终端屏幕显示的立体建筑物的侧墙面。
85.在本公开一实施方式中,窗格渲染参数指的是在目标墙面上渲染立体效果的窗格所需要的参数。
86.在上述实施方式中,首先获取待渲染的建筑物在待显示视角下的立体几何信息;然后基于所述立体几何信息,确定在待显示视角下建筑物的目标墙面的窗格渲染参数;这样就可以基于所述窗格渲染参数,在所述建筑物的目标墙面上渲染立体效果的窗格;由于不同视角下建筑物的立体几何信息不同,得到的窗格渲染参数也不同,进而在该建筑物的目标墙面上渲染出的窗格的立体效果也不同,这样,所述建筑物的窗格的立体效果随所述
待显示视角的变化而变化,提升了立体建筑物的真实感,进而提升了三维电子地图的真实感。
87.在本公开一实施方式中,所述步骤s102,即所述基于所述立体几何信息,确定所述建筑物的目标墙面的窗格渲染参数的步骤,还可包括以下步骤:
88.从所述立体几何信息中,获取所述建筑物的目标墙面的第一边的长度和方向,第二边的长度和方向,所述第一边和第二边为所述目标墙面相接的两边;
89.基于所述目标墙面的第一边和第二边的长度以及所述窗格的预设尺寸,确定所述目标墙面对应的窗格数量;
90.基于所述目标墙面的第一边和第二边的方向,确定所述目标墙面的窗格渲染参数。
91.在该实施方式中,图2示出根据本公开一实施方式的建筑物的结构示意图,如图2所示的建筑物在待显示视角下的立体几何信息包括在该待显示视角下的立体建筑物需要显示的侧墙面即目标墙面201和目标墙面202的立体几何信息,包括:该目标墙面201的第一边ab的长度和方向第二边ac的长度和方向该目标墙面202的第一边cd的长度和方向第二边ce的长度和方向
92.在该实施方式中,以目标墙面201为例进行说明,目标墙面上的窗格的形状和大小可以是预先设置好的,比如可以是预设尺寸,相邻窗格之间的间隔范围也是预先设置好的,基于该目标墙面201的第一边ab的长度可以计算出目标墙面上需要排列m行窗格,基于该目标墙面201的第二边ac的长度可以计算出目标墙面上需要排列n列窗格,如此可以计算出该目标墙面201对应的窗格数量为m*n个。这里需要说明的是,该m和n都是整数,如果计算出m和n不是整数,则向下取整。
93.在该实施方式中,仍以目标墙面201为例进行说明,目标墙面的第一边ab的方向和第二边ac的方向可以标识目标墙面在待显示视角下的倾斜状态,故可以据此确定在待显示视角下该目标墙面对应的窗格渲染参数。
94.在该实施方式中,该窗格渲染参数包括目标墙面对应的窗格数量和窗格的立体状态参数,该目标墙面对应的窗格数量是固定的,只需要在初次渲染该目标墙面时需要计算,在后续的每次渲染时可以根据初次的计算结果获取,不需要每次都计算;该目标墙面对应的窗格的立体状态参数在不同的视角下是不同的,故每次变换视角时均需计算在相应视角下的立体状态参数,当然,可以在计算完成后缓存每个视角对应的立体状态参数,在下次切换到相同视角时直接使用之前的计算结果。
95.在本公开一实施方式中,所述窗格包括:顶层图和底层图;
96.所述顶层图包括中间镂空区域和顶层周边区域,
97.所述底层图包括中间窗格区域和底层渐变区域,所述底层渐变区域的像素亮度从内到外逐渐变亮或变暗;
98.其中,在所述顶层图渲染在所述底层图之上,所述顶图层的中间镂空区域大于所述底图层的中间窗格区域,以使所述底图层的中间窗格区域全部显示、所述底层渐变区域显示未被所述顶图层的顶层周边区域遮挡的部分。
99.在该实施方式中,为了降低渲染成本,该窗格的立体效果的渲染可以通过顶层图
和底层图这两层图层叠加显示来实现,简单快捷,无需另外建模显示。
100.示例的,图3示出根据本公开一实施方式的窗格的图层示意图,图3中的3a图为该窗格的顶层图301,3b图为该窗格的底层图302,3c图为该顶层图301渲染在所述底层图302之上的立体窗格。
101.如图3中的3a所示,该顶层图301包括中间镂空区域3011和顶层周边区域3012,该中间镂空区域3011为空白透明区域,该顶层周边区域3012的填充图案为目标墙面的图案,可以如图3所示为纯色图案,当然也可以为线条等其他图案等。该中间镂空区域3011和顶层周边区域3012之间有明显的界线。如图3中的3b所示,该底层图302包括中间窗格区域3021和底层渐变区域3022,该中间窗格区域3021可以如图3所示为纯色区域,所述底层渐变区域3022的像素亮度从内到外逐渐变亮,使该底层渐变区域3022呈现向内凹陷的状态,该中间镂空区域3011大于所述中间窗格区域3021,这样,在如图3中c图所示将该顶层图301渲染在底层图302上后,所述底图层302的中间窗格区域3021会全部显示,所述底层渐变区域3022可以显示未被所述顶图层301的顶层周边区域3012遮挡的部分。这样,该中间窗格区域3021就会在该底层渐变区域3022的衬托下相对于该顶层周边区域3012呈现出向内凹陷的立体效果。
102.在该实施方式中,该底层渐变区域3022可以使中间窗格区域3021相对于该顶层周边区域3012呈现出向内凹陷的立体效果,其具体实现除了底层渐变区域3022的像素亮度从内到外逐渐变亮外,还可以根据该窗格的形状设置维度线,通常情况下该窗格的形状都是长方形的,这种情况下可以如图3所示,在该底层图302的对角线上设置维度线3023,该维度线3023的像素亮度也是从内到外逐渐变亮,但是该维度线3023上的像素的亮度比其周围像素的亮度低。
103.这里需要说明的是,图3仅是实现了让窗格呈现内凹的立体效果,在其他的实现方式中,还可以让底层渐变区域的像素亮度从内到外逐渐变暗实现外凸的立体效果,只要能够让窗格呈现立体效果即可。
104.在该实施方式中,该顶层图和底层图的大小和形状可以是相同。
105.在该实施方式中,该中间镂空区域3011上各像素点与所述中间窗格区域3021的最近像素点之间的距离l都相同,该l的值为经验值。
106.在本公开一实施方式中,所述方法还包括:
107.获取所述待显示视角下的相机方向向量;
108.所述基于所述目标墙面的第一边和第二边的方向,确定所述目标墙面的窗格的立体状态参数的步骤可以实现为以下步骤:
109.基于所述目标墙面的第一边和第二边的方向,以及所述待显示视角下的相机方向向量,确定所述底层图的偏移量;
110.其中,所述偏移量为待显示视角下的底层图的位置相对于底层图的原始位置的偏移量,所述底层图的原始位置为所述底层图与所述顶层图中心对齐时所述底层图的位置。
111.在该实施方式中,该窗格的立体效果是通过底层图和顶层图这两个图层叠加实现的,该立体状态参数就是在待显示视角下底层图的偏移量,该待显示视角下底层图的偏移量为待显示视角下的底层图的位置相对于底层图的原始位置的偏移量,所述底层图的原始位置为所述底层图与所述顶层图中心对齐时所述底层图的位置。
112.在该实施方式中,在同一个目标墙面上的各窗格的底层图的偏移量是相同的。示例的,图4示出根据本公开一实施方式的目标墙面上的窗格的示意图,如图4所示,该目标墙面401上可以设置三行两列的窗格402,待显示视角为从右下向左上观察的视角,此时,该窗格402的底层图就会向右下做了一点偏移,这样如图4所示,该目标墙面上的窗格就呈现出是从右下向左上看的立体效果。
113.在该实施方式中,该底层图的偏移量可以通过目标墙面的第一边和第二边的方向,以及所述待显示视角下的相机方向向量来计算得到。其中,该相机方向向量的获取过程可以是先获取相机的位置,然后取目标墙面上的一点如墙面的中心点,将该中心点指向该相机的位置的方向记为相机方向向量的方向。
114.在本公开一实施方式中,所述基于所述目标墙面的第一边和第二边的方向,以及所述待显示视角下的相机方向向量,确定所述底层图的偏移量的步骤,还可包括以下步骤:
115.按照以下公式计算所述底层图的偏移量:
116.offsetx=dot(u,k)*d;offsety=dot(v,k)*d;
117.其中,offsetx为在x方向上的偏移量,offsety为在y方向上的偏移量,所述u为第一边的方向向量,所述v为所述第二边的方向向量,所述k为待显示视角下的相机方向向量,所述u、v和k的向量大小均为1,所述d为经验常数,所述dot表示两个向量的内积。
118.在该实施方式中,可以在该目标墙面上建立xy坐标系,得到第一边的方向向量u,第二边的方向向量v,以目标墙面为图2中的目标墙面201为例进行说明,该第一边ab的方向向量u的方向为大小为1,第二边ac的方向向量v的方向为大小为1。
119.在该实施方式中,可以直接获取相机的位置,然后取目标墙面上的一点如墙面的中心点,将该中心点指向该相机的位置的方向记为相机方向向量的方向,该相机方向向量的大小也为1。
120.在该实施方式中,所述d为底层图的最大偏移量。
121.在该实施方式中,按照上述公式计算出offsetx和offsety后,就获取了该底层图向x方向的偏移量和向y方向的偏移量,如此,在所述建筑物的目标墙面上显示立体效果的窗格时,仅需要将顶层图和底层图叠加并将底层图相对于原始位置向x方向的偏移offsetx,向y方向的偏移offsety,如此就可以显示出该视角下的窗格的立体效果。
122.在本公开一实施方式中,所述获取待渲染的建筑物在待显示视角下的立体几何信息的步骤,还可包括以下步骤:
123.响应于切换视角指令,获取待渲染的建筑物在所述切换视角指令指示的待显示视角下的立体几何信息。
124.在该实施方式中,该切换视角指令为用户在终端触控屏上输入的向上、向下、向左旋转、向右旋转等各种切换视角的指令。
125.在该实施方式中,接收到切换视角指令时,该切换视角指令指示从当前视角切换到待显示视角,此时可以进行步骤s101至s103,得到该待显示视角下的立体几何信息,进而确定在该待显示时间下所述建筑物的目标墙面的窗格渲染信息,进而基于所述窗格渲染参数,在所述建筑物的目标墙面上显示该视角下的立体效果的窗格。这样,用户在不同的视角下观察墙面,均会看到窗格的不同立体效果,与真实建模的建筑物相似。
126.在本公开一实施方式中,所述窗格渲染参数还包括所述目标墙面的倾斜方向和缩
放比例,所述方法还可包括以下步骤:
127.按照所述目标墙面的倾斜方向和缩放比例,同方向倾斜并同比例缩放渲染立体效果的窗格。
128.在该实施方式中,在该目标墙面上渲染该待显示视角下的立体窗格时,可以按照窗格数量和底层图的偏移量显示出该立体效果的窗格,然后按照目标墙面的倾斜方向和缩放比例,同方向倾斜并同比例缩放显示该立体效果的窗格。
129.这里需要说明的是,如果用户不改变该视角,仅增大或缩小该目标墙面,则该目标墙面上的窗格也会同比例增大或缩小,如果用户改变视角,则该目标墙面是倾斜方向也会发生改变,此时该目标墙面上的窗格也会同方向倾斜,同时该窗格为该改变后视角对应的立体效果的窗格。
130.下述为本公开装置实施例,可以用于执行本公开方法实施例。
131.图5示出根据本公开一实施方式的建筑物渲染装置的结构框图,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。如图5所示,所述建筑物渲染装置包括:
132.获取模块501,被配置为获取待渲染的建筑物在待显示视角下的立体几何信息;
133.确定模块502,被配置为基于所述立体几何信息,确定所述建筑物的目标墙面的窗格渲染参数;
134.渲染模块503,被配置为基于所述窗格渲染参数,在所述建筑物的目标墙面上渲染立体效果的窗格,其中,所述建筑物的窗格的立体效果随所述待显示视角的变化而变化。
135.上文提及,现有电子地图的渲染效果包括:二维电子地图和三维电子地图等,与二维电子地图相比,三维电子地图具有立体、直观等特性。三维电子地图中的建筑物会以立体形式渲染,即建筑物具有长度、宽度和高度,但是现有技术在渲染三维电子地图中的建筑物时,要么没有渲染建筑物的窗户,即将建筑物的墙面渲染为纯色的墙面,要么渲染了建筑物的窗户,但只是在墙面上渲染出了窗格纹理,这样渲染出的建筑物均不够逼真。因此,需要提供新的渲染技术,增强三维电子地图中建筑物的真实感。
136.考虑到上述问题,在该实施方式中,提出一种建筑物渲染装置,由于该装置是基于待显示视角确定建筑物的立体几何信息,然后,在建筑物的墙面上三维可视化地显示在该视角下的立体窗格,因此,本公开技术方案可以实现在不同视角下使该建筑物墙面上的窗格呈现不同的立体效果,提升了立体建筑物的真实感,进而提升了三维电子地图的真实感。
137.在本公开一实施方式中,所述建筑物渲染装置可适用于可执行建筑物渲染的计算机、计算设备、电子设备等。
138.在本公开一实施方式中,该待渲染的建筑物可以是终端屏幕显示范围对应的地理区域内的每一建筑物。终端可以根据当前定位信息或用户输入的位置信息,获取终端屏幕显示范围对应的地理区域,获取所述地理区域内的每一建筑物。
139.在本公开一实施方式中,该立体几何信息为地图世界空间中的立体几何信息,待显示视角下的立体几何信息包括在待显示视角下该建筑物待显示的墙面的宽度、高度,以及待显示的墙面的倾斜角度等等能够构建出该建筑物的空间外形的几何信息,不同视角下,墙面的倾斜方向和倾斜角度均不相同。
140.在本公开一实施方式中,目标墙面指的是建筑物在待显示视角下需要渲染窗格的
墙面,通常情况下,立体建筑物的侧面墙面需要渲染窗格,故目标墙面就是在待显示视角下终端屏幕显示的立体建筑物的侧墙面。
141.在本公开一实施方式中,窗格渲染参数指的是在目标墙面上渲染立体效果的窗格所需要的参数。
142.在上述实施方式中,首先获取待渲染的建筑物在待显示视角下的立体几何信息;然后基于所述立体几何信息,确定在待显示视角下建筑物的目标墙面的窗格渲染参数;这样就可以基于所述窗格渲染参数,在所述建筑物的目标墙面上渲染立体效果的窗格;由于不同视角下建筑物的立体几何信息不同,得到的窗格渲染参数也不同,进而在该建筑物的目标墙面上渲染出的窗格的立体效果也不同,这样,所述建筑物的窗格的立体效果随所述待显示视角的变化而变化,提升了立体建筑物的真实感,进而提升了三维电子地图的真实感。
143.在一种可能的实施方式中,所述确定模块被配置为:
144.从所述立体几何信息中,获取所述建筑物的目标墙面的第一边的长度和方向,第二边的长度和方向,所述第一边和第二边为所述目标墙面相接的两边;
145.基于所述目标墙面的第一边和第二边的长度以及所述窗格的预设尺寸,确定所述目标墙面对应的窗格数量;
146.基于所述目标墙面的第一边和第二边的方向,确定所述目标墙面的窗格的立体状态参数,其中,所述窗格渲染参数包括所述窗格数量和所述窗格的立体状态参数。
147.在该实施方式中,图2示出根据本公开一实施方式的建筑物的结构示意图,如图2所示的建筑物在待显示视角下的立体几何信息包括在该待显示视角下的立体建筑物需要显示的侧墙面即目标墙面201和目标墙面202的立体几何信息,包括:该目标墙面201的第一边ab的长度和方向第二边ac的长度和方向该目标墙面202的第一边cd的长度和方向第二边ce的长度和方向
148.在该实施方式中,以目标墙面201为例进行说明,目标墙面上的窗格的形状和大小可以是预先设置好的,比如可以是预设尺寸,相邻窗格之间的间隔范围也是预先设置好的,基于该目标墙面201的第一边ab的长度可以计算出目标墙面上需要排列m行窗格,基于该目标墙面201的第二边ac的长度可以计算出目标墙面上需要排列n列窗格,如此可以计算出该目标墙面201对应的窗格数量为m*n个。这里需要说明的是,该m和n都是整数,如果计算出m和n不是整数,则向下取整。
149.在该实施方式中,仍以目标墙面201为例进行说明,目标墙面的第一边ab的方向和第二边ac的方向可以标识目标墙面在待显示视角下的倾斜状态,故可以据此确定在待显示视角下该目标墙面对应的窗格渲染参数。
150.在该实施方式中,该窗格渲染参数包括目标墙面对应的窗格数量和窗格的立体状态参数,该目标墙面对应的窗格数量是固定的,只需要在初次渲染该目标墙面时需要计算,在后续的每次渲染时可以根据初次的计算结果获取,不需要每次都计算;该目标墙面对应的窗格的立体状态参数在不同的视角下是不同的,故每次变换视角时均需计算在相应视角下的立体状态参数,当然,可以在计算完成后缓存每个视角对应的立体状态参数,在下次切换到相同视角时直接使用之前的计算结果。
151.在一种可能的实施方式中,所述窗格包括:顶层图和底层图;
152.所述顶层图包括中间镂空区域和顶层周边区域,
153.所述底层图包括中间窗格区域和底层渐变区域,所述底层渐变区域的像素亮度从内到外逐渐变亮或变暗;
154.其中,在所述顶层图渲染在所述底层图之上,所述顶图层的中间镂空区域大于所述底图层的中间窗格区域,以使所述底图层的中间窗格区域全部显示、所述底层渐变区域显示未被所述顶图层的顶层周边区域遮挡的部分。
155.在该实施方式中,为了降低渲染成本,该窗格的立体效果的渲染可以通过顶层图和底层图这两层图层叠加显示来实现,简单快捷,无需另外建模显示。
156.示例的,图3示出根据本公开一实施方式的窗格的图层示意图,图3中的3a图为该窗格的顶层图301,3b图为该窗格的底层图302,3c图为该顶层图301渲染在所述底层图302之上的立体窗格。
157.如图3中的3a所示,该顶层图301包括中间镂空区域3011和顶层周边区域3012,该中间镂空区域3011为空白透明区域,该顶层周边区域3012的填充图案为目标墙面的图案,可以如图3所示为纯色图案,当然也可以为线条等其他图案等。该中间镂空区域3011和顶层周边区域3012之间有明显的界线。如图3中的3b所示,该底层图302包括中间窗格区域3021和底层渐变区域3022,该中间窗格区域3021可以如图3所示为纯色区域,所述底层渐变区域3022的像素亮度从内到外逐渐变亮,使该底层渐变区域3022呈现向内凹陷的状态,该中间镂空区域3011大于所述中间窗格区域3021,这样,在如图3中c图所示将该顶层图301渲染在底层图302上后,所述底图层302的中间窗格区域3021会全部显示,所述底层渐变区域3022可以显示未被所述顶图层301的顶层周边区域3012遮挡的部分。这样,该中间窗格区域3021就会在该底层渐变区域3022的衬托下相对于该顶层周边区域3012呈现出向内凹陷的立体效果。
158.在该实施方式中,该底层渐变区域3022可以使中间窗格区域3021相对于该顶层周边区域3012呈现出向内凹陷的立体效果,其具体实现除了底层渐变区域3022的像素亮度从内到外逐渐变亮外,还可以根据该窗格的形状设置维度线,通常情况下该窗格的形状都是长方形的,这种情况下可以如图3所示,在该底层图302的对角线上设置维度线3023,该维度线3023的像素亮度也是从内到外逐渐变亮,但是该维度线3023上的像素的亮度比其周围像素的亮度低。
159.这里需要说明的是,图3仅是实现了让窗格呈现内凹的立体效果,在其他的实现方式中,还可以让底层渐变区域的像素亮度从内到外逐渐变暗实现外凸的立体效果,只要能够让窗格呈现立体效果即可。
160.在该实施方式中,该顶层图和底层图的大小和形状可以是相同。
161.在该实施方式中,该中间镂空区域3011上各像素点与所述中间窗格区域3021的最近像素点之间的距离l都相同,该l的值为经验值。
162.在一种可能的实施方式中,所述装置还包括:
163.相机方向获取模块,被配置为获取所述待显示视角下的相机方向向量;
164.所述确定模块中基于所述目标墙面的第一边和第二边的方向,确定所述目标墙面的窗格的立体状态参数的部分,被配置为:
165.基于所述目标墙面的第一边和第二边的方向,以及所述待显示视角下的相机方向向量,确定所述底层图的偏移量;
166.其中,所述偏移量为待显示视角下的底层图的位置相对于底层图的原始位置的偏移量,所述底层图的原始位置为所述底层图与所述顶层图中心对齐时所述底层图的位置。
167.在该实施方式中,该窗格的立体效果是通过底层图和顶层图这两个图层叠加实现的,该立体状态参数就是在待显示视角下底层图的偏移量,该待显示视角下底层图的偏移量为待显示视角下的底层图的位置相对于底层图的原始位置的偏移量,所述底层图的原始位置为所述底层图与所述顶层图中心对齐时所述底层图的位置。
168.在该实施方式中,在同一个目标墙面上的各窗格的底层图的偏移量是相同的。示例的,图4示出根据本公开一实施方式的目标墙面上的窗格的示意图,如图4所示,该目标墙面401上可以设置三行两列的窗格402,待显示视角为从右下向左上观察的视角,此时,该窗格402的底层图就会向右下做了一点偏移,这样如图4所示,该目标墙面上的窗格就呈现出是从右下向左上看的立体效果。
169.在该实施方式中,该底层图的偏移量可以通过目标墙面的第一边和第二边的方向,以及所述待显示视角下的相机方向向量来计算得到。
170.在一种可能的实施方式中,所述确定模块中基于所述目标墙面的第一边和第二边的方向,以及所述待显示视角下的相机方向向量,确定所述底层图的偏移量,包括:
171.按照以下公式计算所述底层图的偏移量:
172.offsetx=dot(u,k)*d;offsety=dot(v,k)*d;
173.其中,offsetx为在x方向上的偏移量,offsety为在y方向上的偏移量,所述u为第一边的方向向量,所述v为所述第二边的方向向量,所述k为待显示视角下的相机方向向量,所述u、v和k的向量大小均为1,所述d为经验常数,所述dot表示两个向量的内积。
174.在该实施方式中,可以在该目标墙面上建立xy坐标系,得到第一边的方向向量u,第二边的方向向量v,以目标墙面为图2中的目标墙面201为例进行说明,该第一边ab的方向向量u的方向为大小为1,第二边ac的方向向量v的方向为大小为1。
175.在该实施方式中,可以直接获取相机的位置,然后取目标墙面上的一点如墙面的中心点,将该中心点指向该相机的位置的方向记为相机方向向量的方向,该相机方向向量的大小也为1。
176.在该实施方式中,所述d为底层图的最大偏移量。
177.在该实施方式中,按照上述公式计算出offsetx和offsety后,就获取了该底层图向x方向的偏移量和向y方向的偏移量,如此,在所述建筑物的目标墙面上显示立体效果的窗格时,仅需要将顶层图和底层图叠加并将底层图相对于原始位置向x方向的偏移offsetx,向y方向的偏移offsety,如此就可以显示出该视角下的窗格的立体效果。
178.在一种可能的实施方式中,所述获取模块被配置为:
179.响应于切换视角指令时,获取待渲染的建筑物在所述切换视角指令指示的切换视角下的立体几何信息。
180.在该实施方式中,该切换视角指令为用户在终端触控屏上输入的向上、向下、向左旋转、向右旋转等各种切换视角的指令。
181.在该实施方式中,接收到切换视角指令时,该切换视角指令指示从当前视角切换
到待显示视角,此时可以进行步骤s101至s103,得到该待显示视角下的立体几何信息,进而确定在该待显示时间下所述建筑物的目标墙面的窗格渲染信息,进而基于所述窗格渲染参数,在所述建筑物的目标墙面上显示该视角下的立体效果的窗格。这样,用户在不同的视角下观察墙面,均会看到窗格的不同立体效果,与真实建模的建筑物相似。
182.在一种可能的实施方式中,所述窗格渲染参数还包括所述目标墙面的倾斜方向和缩放比例,所述渲染模块包括:
183.按照所述目标墙面的倾斜方向和缩放比例,同方向倾斜并同比例缩放渲染立体效果的窗格。
184.在该实施方式中,在该目标墙面上渲染该待显示视角下的立体窗格时,可以按照窗格数量和底层图的偏移量显示出该立体效果的窗格,然后按照目标墙面的倾斜方向和缩放比例,同方向倾斜并同比例缩放显示该立体效果的窗格。
185.这里需要说明的是,如果用户不改变该视角,仅增大或缩小该目标墙面,则该目标墙面上的窗格也会同比例增大或缩小,如果用户改变视角,则该目标墙面是倾斜方向也会发生改变,此时该目标墙面上的窗格也会同方向倾斜,同时该窗格为该改变后视角对应的立体效果的窗格。
186.本公开实施例还公开了一种导航服务,其中,基于上述的建筑物渲染方法,获得被导航对象所在区域的建筑物渲染结果,并基于所述建筑物渲染结果为所述被导航对象提供相应场景的导航引导服务。其中,所述相应场景为ar导航或者高架导航或者主辅路导航中的一种或多种的组合。
187.本公开实施例还公开了一种导航方法,其中,获取至少基于起点、终点及路况情况规划的导航路线,将所述导航路线渲染在三维电子地图中进行图面引导,所述三维电子地图中的建筑物基于上述的任意一种方法渲染得到。
188.本公开还公开了一种电子设备,图6示出根据本公开一实施方式的电子设备的结构框图,如图6所示,所述电子设备600包括存储器601和处理器602;其中,
189.所述存储器601用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器602执行以实现上述方法步骤。
190.图7是适于用来实现根据本公开一实施方式的建筑物渲染方法的计算机系统的结构示意图。
191.如图7所示,计算机系统700包括处理单元701,其可以根据存储在只读存储器(rom)702中的程序或者从存储部分708加载到随机访问存储器(ram)703中的程序而执行上述实施方式中的各种处理。在ram703中,还存储有系统700操作所需的各种程序和数据。处理单元701、rom702以及ram703通过总线704彼此相连。输入/输出(i/o)接口705也连接至总线704。
192.以下部件连接至i/o接口705:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至i/o接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。其中,所述处理单元701可实现为cpu、gpu、
tpu、fpga、npu等处理单元。
193.特别地,根据本公开的实施方式,上文描述的方法可以被实现为计算机软件程序。例如,本公开的实施方式包括一种计算机程序产品,其包括有形地包含在及其可读介质上的计算机程序,所述计算机程序包含用于执行所述建筑物渲染方法的程序代码。在这样的实施方式中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。
194.附图中的流程图和框图,图示了按照本公开各种实施方式的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,路程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
195.描述于本公开实施方式中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
196.作为另一方面,本公开实施例还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施方式中所述装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,所述程序被一个或者一个以上的处理器用来执行描述于本公开实施例的方法。
197.以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开实施例中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开实施例中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献