本发明涉及计算机辅助设计,具体涉及一种机电遮挡退让方法及装置。
背景技术:
1、在工程设计软件的设计阶段,因实际项目机电专业的管线设备都是空间关系,但平面视图/立面视图等都为仅能展示二维空间。为了表达出管线、设备相互之间的不同标高,需要在二维视图中体现出机电专业遮挡退让关系,即在二维视图下通过产生遮挡且有缝隙的效果,以增加设计师在绘制的界面上和出图的图面上表达的美观性和高程关系的可读性。
2、而现有的工程设计软件在实现上述机电专业的管线及设备间的遮挡关退让系时,普遍存在难以实时显示、计算处理效率低的问题。
技术实现思路
1、有鉴于此,本发明实施例提供了一种机电遮挡退让方法及装置以解决现有技术中机电遮挡退让方式效率低、实时性差的问题。
2、根据第一方面,本发明实施例提供了一种机电遮挡退让方法,包括:
3、获取目标场景中各待显示构件及所述目标场景的背景颜色;
4、对所述目标场景中的直线进行多目标渲染,得到纹理数据,所述纹理数据包括:直线所属构件标识纹理、直线起终点纹理及直线深度纹理;
5、基于所述直线所属构件标识纹理、直线起终点纹理及直线深度纹理,判断所述待显示构件的当前像素点是否需要进行退让;
6、在所述当前像素点需要进行退让时,利用所述背景颜色对所述当前像素点进行绘制。
7、可选地,所述基于所述直线所属构件标识纹理、直线起终点纹理及直线深度纹理,判断所述待显示构件的当前像素点是否需要进行退让,包括:
8、基于所述直线起终点纹理,判断所述待显示构件的当前像素点对应第一直线是否存在与其相交的第二直线;
9、在当前像素点对应的第一直线存在与其相交的第二直线时,基于所述直线所属构件标识纹理,判断所述第一直线与所述第二直线是否属于没有连接关系的不同构件;
10、在所述第一直线与所述第二直线属于没有连接关系的不同构件时,判断所述当前像素点的位置是否属于第一直线与所述第二直线的相交像素点的预设退让区域内;
11、在所述当前像素点的位置属于所述相交像素点的预设退让区域内时,基于所述直线深度纹理,判断所述当前像素点是否需要进行退让。
12、可选地,所述基于所述直线深度纹理,判断所述当前像素点是否需要进行退让,包括:
13、从所述直线深度纹理中分别提取所述当前像素点和所述相交像素点对应的第一深度值和第二深度值;
14、判断所述第一深度值是否大于所述第二深度值;
15、在所述第一深度值大于所述第二深度值时,确定所述当前像素点需要进行退让。
16、可选地,所述基于所述直线起终点纹理,判断当前像素点对应第一直线是否存在与其相交的第二直线,包括:
17、基于所述直线起终点纹理确定所述当前像素点对应第一直线的第一起点坐标和第一终点坐标,以及所述第二直线的第二起点坐标和第二终点坐标,所述第二直线为所述目标场景中除第一直线之外的任意一个直线;
18、判断所述第一起点坐标和第一终点坐标与所述第二起点坐标和第二终点坐标之间是否满足预设线段相交条件;
19、在所述第一起点坐标和第一终点坐标与所述第二起点坐标和第二终点坐标之间满足预设线段相交条件时,确定所述第二直线与所述第一直线相交。
20、可选地,所述基于所述直线所属构件标识纹理,判断所述第一直线与所述第二直线是否属于没有连接关系的不同构件;
21、从所述直线所属构件标识纹理中分别提取所述第一直线对应的第一构件标识以及所述第二直线对应的第二构件标识;
22、判断所述第一构件标识是否与所述第二构件标识不同;
23、在所述第一构件标识与所述第二构件标识不同时,基于所述第一构件标识、所述第二构件标识及待显示构件的连接关系数据库,判断所述第一直线是否与所述第二直线具有连接关系;
24、在所述第一直线与所述第二直线具有连接关系时,确定所述第一直线与所述第二直线属于没有连接关系的不同构件。
25、可选地,在对所述目标场景中的直线进行多目标渲染之前,所述方法还包括:
26、获取各待显示构件对应的构件标识及各待显示构件间的连接关系;
27、基于各待显示构件对应的构件标识及各待显示构件间的连接关系,建立待显示构件的连接关系数据库。
28、可选地,所述判断所述当前像素点的位置是否属于第一直线与所述第二直线的相交像素点的预设退让区域内,包括:
29、计算所述当前像素点与所述相交像素点的距离;
30、判断所述距离是否小于预设距离阈值;
31、在所述距离小于所述预设距离阈值时,确定所述当前像素点的位置属于所述相交像素点的预设退让区域内。
32、可选地,所述方法还包括:
33、在所述当前像素点不需要进行退让时,利用完全透明的颜色对所述当前像素点进行绘制。
34、根据第二方面,本发明实施例提供了一种机电遮挡退让装置,包括:
35、获取模块,用于获取目标场景中各待显示构件及所述目标场景的背景颜色;
36、第一处理模块,用于对所述目标场景中的直线进行多目标渲染,得到纹理数据,所述纹理数据包括:直线所属构件标识纹理、直线起终点纹理及直线深度纹理;
37、第二处理模块,用于基于所述直线所属构件标识纹理、直线起终点纹理及直线深度纹理,判断所述待显示构件的当前像素点是否需要进行退让;
38、第三处理模块,用于在所述当前像素点需要进行退让时,利用所述背景颜色对所述当前像素点进行绘制。
39、根据第三方面,本发明实施例提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令被处理器执行时实现本发明第一方面及其任意一种可选方式所述的方法。
40、根据第四方面,本发明实施例提供了一种电子设备,包括:存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行本发明第一方面及其任意一种可选方式所述的方法。
41、本发明技术方案,具有如下优点:
42、本发明实施例提供了一种机电遮挡退让方法及装置,通过获取目标场景中各待显示构件及目标场景的背景颜色;对目标场景中的直线进行多目标渲染,得到纹理数据,纹理数据包括:直线所属构件标识纹理、直线起终点纹理及直线深度纹理;基于直线所属构件标识纹理、直线起终点纹理及直线深度纹理,判断待显示构件的当前像素点是否需要进行退让;在当前像素点需要进行退让时,利用背景颜色对当前像素点进行绘制。从而通过对目标场景中的直线进行多目标渲染,得到纹理数据以判断当前像素点是否需要进行退让,并在确定当前像素点需要退让显示效果时,通过利用目标场景的背景颜色对其进行遮挡,以达到退让显示效果,退让方式实现思路简单,代码更加容易维护,易于集成,具有良好的实时性,不需要预计算,提高了处理效率,这种基于屏幕空间的遮挡退让方式,使得在大场景也能做到实时高效的显示。