CN110751706B - 游戏中的图形处理方法、装置、设备及存储介质 - Google Patents
游戏中的图形处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN110751706B CN110751706B CN201911042668.1A CN201911042668A CN110751706B CN 110751706 B CN110751706 B CN 110751706B CN 201911042668 A CN201911042668 A CN 201911042668A CN 110751706 B CN110751706 B CN 110751706B
- Authority
- CN
- China
- Prior art keywords
- line segment
- vertexes
- graph
- region
- graphics
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000007499 fusion processing Methods 0.000 claims abstract description 11
- 230000002452 interceptive effect Effects 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 7
- 230000000694 effects Effects 0.000 abstract description 7
- 230000008569 process Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000003672 processing method Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000004927 fusion Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000013256 coordination polymer Substances 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/60—Editing figures and text; Combining figures or text
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/52—Controlling the output signals based on the game progress involving aspects of the displayed game scene
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/203—Drawing of straight lines or curves
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
Abstract
本发明提供一种游戏中的图形处理方法、装置、设备及存储介质,涉及游戏技术领域。该方法包括:根据各图形的配置信息,对多个图形进行融合处理,得到区域图形的边缘线段,以及多个顶点;若多个顶点中相邻两个顶点构成的线段不属于边缘线段,则在相邻两个顶点构成的线段上预设位置作出扫描线;根据扫描线与边缘线段的交点数目,确定相邻两个顶点构成的线段是否在区域图形的内部;若是,则根据边缘线段,以及内部的线段,构成待显示的区域图形。获取边缘线段和多个顶点,再对相邻两个顶点作出扫描线,确定区域图形内部的线段,由边缘线段和内部线段构成待显示的区域图形,减少了对于图形组合时的工作量,也提高了准确性,使得游戏中的显示效果更好。
Description
技术领域
本发明涉及游戏技术领域,具体而言,涉及一种游戏中的图形处理方法、装置、设备及存储介质。
背景技术
在游戏中,通常会涉及对于区域范围的表示,显示多个区域范围,另外,在一些游戏中,需要通过多个单位面积的图形进行组合,以形成目标图形。因此,对于图形的组合变得十分有必要。
相关技术中,对于需要组合的图形,将图形的重叠部分替换为内部线条,及组合后图形的内部线条,对所有图形的重叠部分进行替换,得到组合后的图形。
但是,相关技术中,对每个重叠部分进行替换,增加了绘制内部线条的工作量,当需要组合的图形过多时,也容易出错,导致游戏中显示的效果较差。
发明内容
本发明的目的在于,针对上述现有技术中的不足,提供一种游戏中的图形处理方法、装置、设备及存储介质,以便解决相关技术中,对每个重叠部分进行替换,增加了绘制内部线条的工作量,当需要组合的图形过多时,也容易出错,导致游戏中显示的效果较差的问题。
为实现上述目的,本发明实施例采用的技术方案如下:
第一方面,本发明实施例提供了一种游戏中的图形处理方法,通过执行游戏应用在终端上渲染得到交互界面,所述交互界面包括至少部分游戏场景,游戏场景中包括至少一个区域图形,所述区域图形包括:多个图形;所述方法包括:
根据各所述图形的配置信息,对多个所述图形进行融合处理,得到所述区域图形的边缘线段,以及多个顶点;
若多个所述顶点中相邻两个顶点构成的线段不属于所述边缘线段,则在所述相邻两个顶点构成的线段上预设位置作出扫描线;
根据所述扫描线与所述边缘线段的交点数目,确定所述相邻两个顶点构成的线段是否在所述区域图形的内部;
若是,则根据所述边缘线段,以及所述内部的线段,构成待显示的所述区域图形。
进一步地,所述根据各所述图形的配置信息,对多个所述图形进行融合处理,得到所述区域图形的边缘线段,以及多个顶点,包括:
根据各所述图形的配置信息,确定各所述图形的顶点以及边;
若多个所述图形中待处理图形的边,与所述区域图形中已存在的边相交,则以相交的点进行线段分裂,并将分裂得到的线段加入所述区域图形中,将所述相交的点加入所述区域图形的顶点中,删除所述相交的边;
若所述区域图形中两条边的起终点相反,则删除所述起终点相反的两条边;
若所述区域图形中存在两条边共线,将所述共线的两条边替换为一条边,得到所述区域图形的边缘线段,以及多个顶点。
进一步地,所述若多个所述图形中待处理图形的边,与所述区域图形中已存在的边相交,则以相交的点进行线段分裂之前,所述方法还包括:
对所述待处理图形的边和所述区域图形中已存在的边进行求交运算,确定所述待处理图形的边和所述区域图形中已存在的边是否相交。
进一步地,所述若所述区域图形中存在两条边共线,将所述共线的两条边替换为一条边,得到所述区域图形的边缘线段,以及多个顶点之前,所述方法还包括:
若所述区域图形中的顶点为一条边的起点,且为另一条边的终点,则确定所述一条边和所述另一条边是否共线。
进一步地,所述在所述相邻两个顶点构成的线段上预设位置作出扫描线,包括:
在预设坐标系的每个坐标方向上,遍历所述区域图形的每个所述顶点,在每个所述顶点与相邻顶点构成的线段上的所述预设位置处,作出所述扫描线。
进一步地,所述在预设坐标系的每个坐标方向上,遍历所述区域图形的每个所述顶点,在每个所述顶点与相邻顶点构成的线段上的所述预设位置处,作出所述扫描线,包括:
在第一坐标方向上,从所述区域图形的多个所述顶点,确定一个第一坐标值下的多个目标顶点;
针对每个所述目标顶点,在所述目标顶点与相邻顶点构成的线段上的所述预设位置处,作出所述扫描线;
若针对多个所述目标顶点均作出所述扫描线,则从所述区域图形的多个所述顶点,确定下一个第一坐标值下的多个所述目标顶点,直至遍历多个所述顶点中的所有第一坐标值。
进一步地,所述针对每个所述目标顶点,在所述目标顶点与相邻顶点构成的线段上的所述预设位置处,作出所述扫描线,包括:
在第二坐标方向上,确定多个所述目标顶点中一个第二坐标值的第一所述目标顶点;
若多个所述目标顶点中存在,第二坐标值大于第一所述目标顶点的第二所述目标顶点,则在第二所述目标顶点与第一所述目标顶点构成的线段上的所述预设位置处,作出所述扫描线;
若多个所述目标顶点中不存在,第二坐标值大于第一所述目标顶点的第二所述目标顶点,则确定多个所述目标顶点均作出所述扫描线。
进一步地,所述根据所述扫描线与所述边缘线段的交点数目,确定所述相邻两个顶点构成的线段是否在所述区域图形的内部,包括:
若所述交点数目为奇数,则确定所述相邻两个顶点构成的线段在所述区域图形的内部;
若所述交点数目为偶数,则确定所述相邻两个顶点构成的线段在所述区域图形的外部。
进一步地,所述相邻两个顶点中任一顶点与所述预设位置的距离为第一距离,所述相邻两个顶点之间的距离为第二距离,所述第一距离和所述第二距离的比值为预设比值,所述预设比值为预设无理数的倒数。
第二方面,本发明实施例提供了一种游戏中的图形处理装置,通过执行游戏应用在终端上渲染得到交互界面,所述交互界面包括至少部分游戏场景,游戏场景中包括至少一个区域图形,所述区域图形包括:多个图形;所述装置包括:
获取模块,用于根据各所述图形的配置信息,对多个所述图形进行融合处理,得到所述区域图形的边缘线段,以及多个顶点;
处理模块,用于若多个所述顶点中相邻两个顶点构成的线段不属于所述边缘线段,则在所述相邻两个顶点构成的线段上预设位置作出扫描线;
确定模块,用于根据所述扫描线与所述边缘线段的交点数目,确定所述相邻两个顶点构成的线段是否在所述区域图形的内部;
构成模块,用于若是,则根据所述边缘线段,以及所述内部的线段,构成待显示的所述区域图形。
进一步地,所述获取模块,具体用于根据各所述图形的配置信息,确定各所述图形的顶点以及边;若多个所述图形中待处理图形的边,与所述区域图形中已存在的边相交,则以相交的点进行线段分裂,并将分裂得到的线段加入所述区域图形中,将所述相交的点加入所述区域图形的顶点中,删除所述相交的边;若所述区域图形中两条边的起终点相反,则删除所述起终点相反的两条边;若所述区域图形中存在两条边共线,将所述共线的两条边替换为一条边,得到所述区域图形的边缘线段,以及多个顶点。
进一步地,所述获取模块,还具体用于对所述待处理图形的边和所述区域图形中已存在的边进行求交运算,确定所述待处理图形的边和所述区域图形中已存在的边是否相交。
进一步地,所述获取模块,还具体用于若所述区域图形中的顶点为一条边的起点,且为另一条边的终点,则确定所述一条边和所述另一条边是否共线。
进一步地,所述处理模块,具体用于在预设坐标系的每个坐标方向上,遍历所述区域图形的每个所述顶点,在每个所述顶点与相邻顶点构成的线段上的所述预设位置处,作出所述扫描线。
进一步地,所述处理模块,还具体用于在第一坐标方向上,从所述区域图形的多个所述顶点,确定一个第一坐标值下的多个目标顶点;针对每个所述目标顶点,在所述目标顶点与相邻顶点构成的线段上的所述预设位置处,作出所述扫描线;若针对多个所述目标顶点均作出所述扫描线,则从所述区域图形的多个所述顶点,确定下一个第一坐标值下的多个所述目标顶点,直至遍历多个所述顶点中的所有第一坐标值。
进一步地,所述处理模块,还具体用于在第二坐标方向上,确定多个所述目标顶点中一个第二坐标值的第一所述目标顶点;若多个所述目标顶点中存在,第二坐标值大于第一所述目标顶点的第二所述目标顶点,则在第二所述目标顶点与第一所述目标顶点构成的线段上的所述预设位置处,作出所述扫描线;若多个所述目标顶点中不存在,第二坐标值大于第一所述目标顶点的第二所述目标顶点,则确定多个所述目标顶点均作出所述扫描线。
进一步地,所述确定模块,具体用于若所述交点数目为奇数,则确定所述相邻两个顶点构成的线段在所述区域图形的内部;若所述交点数目为偶数,则确定所述相邻两个顶点构成的线段在所述区域图形的外部。
进一步地,所述相邻两个顶点中任一顶点与所述预设位置的距离为第一距离,所述相邻两个顶点之间的距离为第二距离,所述第一距离和所述第二距离的比值为预设比值,所述预设比值为预设无理数的倒数。
第三方面,本发明实施例还提供了一种游戏中的图形处理设备,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面任一项所述的方法的步骤。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面中任一项所述方法的步骤。
本发明的有益效果是:本发明实施例提供一种游戏中的图形处理方法、装置、设备及存储介质,根据各图形的配置信息,对多个图形进行融合处理,得到区域图形的边缘线段,以及多个顶点;若多个顶点中相邻两个顶点构成的线段不属于边缘线段,则在相邻两个顶点构成的线段上预设位置作出扫描线;根据扫描线与边缘线段的交点数目,确定相邻两个顶点构成的线段是否在区域图形的内部;若是,则根据边缘线段,以及内部的线段,构成待显示的区域图形。通过先对图形进行融合处理,得到边缘线段以及多个顶点,再对相邻两个顶点作出扫描线,确定区域图形内部的线段,最后由边缘线段和内部线段构成待显示的区域图形,减少了对于图形组合时的工作量,也提高了准确性,使得游戏中的显示效果更好。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例提供的一种游戏中的图形处理方法的流程示意图;
图2为本发明实施例提供的一种游戏中的图形处理方法的流程示意图;
图3为本发明实施例提供的一种游戏中的图形处理方法的流程示意图;
图4为本发明实施例提供的一种游戏中的图形处理方法的流程示意图;
图5为本发明实施例提供的一种游戏中的图形处理方法的流程示意图;
图6为本发明实施例提供的一种游戏中的图形处理装置的结构示意图;
图7为本发明实施例提供的一种游戏中的图形处理设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
本发明实施例提供一种游戏中图形的处理方法,其执行主体可以为终端或者服务器,其中,终端可以为电脑、手机和平板电脑等,还可以其他具备游戏中图形的处理功能的设备。
在本发明实施例中,执行主体通过执行游戏应用,在终端上渲染得到交互界面,该交互界面可以包括至少部分游戏场景,游戏场景中包括至少一个区域图形,该区域图形可以包括多个图形。
图1为本发明实施例提供的一种游戏中的图形处理方法的流程示意图,如图1所示,该方法包括:
S101、根据各图形的配置信息,对多个图形进行融合处理,得到区域图形的边缘线段,以及多个顶点。
其中,各图形可以为矩形,各矩形的配置信息可以为矩形中对角线上两个顶点。
在一些实施方式中,终端可以根据每个图形的配置信息中的部分顶点,确定该每个图形的全部顶点,并对该全部顶点进行依次连接生成每个图形,根据约束条件对多个图形进行融合,直至融合后的图形满足约束条件,则得到区域图形的边缘,以及多个顶点。
另外,终端可以对多个图形进行逐个融合,每当加入新的图形时,终端可以检测到图形的变化,根据约束条件对该图形进行融合,直至满足约束条件,再加入下一个新的图形,进行融合处理,当每个图形均加入后,则得到区域图形的边缘,以及多个顶点。
S102、若多个顶点中相邻两个顶点构成的线段不属于边缘线段,则在相邻两个顶点构成的线段上预设位置作出扫描线。
其中,扫描线可以垂直于相邻两个顶点构成的线段,其扫描线可以为位于相邻两个顶点构成的线段得任意一侧。
在一种可能的实施方式中,对于区域图形的多个顶点,终端可以根据预设次序,确定每个顶点对应的相邻顶点,判断相邻两个顶点线段是否属于上述区域图形的边缘线段,若否,则在相邻两个顶点构成的线段上的预设位置处,垂直线段,向线段的任意一侧作出扫描线。
需要说明的是,扫描线可以为射线。
S103、根据扫描线与边缘线段的交点数目,确定相邻两个顶点构成的线段是否在区域图形的内部。
在一种可能的实施方式中,在相邻两个顶点构成的线段上预设位置作出扫描线之后,扫描线可以与边缘线段产生交点,终端可以统计产生的交点的数目,终端可以通过判断交点数目是奇数还是偶数,来确定相邻两个顶点构成的线段是否在区域图形的内部。
S104、若是,则根据边缘线段,以及内部的线段,构成待显示的区域图形。
其中,当终端遍历完区域图形中的每个顶点时,则终端可以确定每相邻两个顶点构成的线段是否在区域图形的内部,从而得到多条内部的线段,通过该多条内部的线段,以及上述边缘线段,构成待显示的区域图形。
在一种可能的实施方式中,终端可以控制显示器显示待显示的区域图形,当上述S101至S104中的执行主体为服务器时,服务器可以向终端发送待显示的区域图形,终端可以接收待显示的区域图形,并控制显示器显示待显示的区域图形,终端可以通过执行游戏应用在终端上渲染得到交互界面,该交互界面包括至少部分游戏场景,游戏场景中可以包括至少一个待显示的区域图形。
综上所述,本发明实施例提供一种游戏中的图形处理方法,根据各图形的配置信息,对多个图形进行融合处理,得到区域图形的边缘线段,以及多个顶点;若多个顶点中相邻两个顶点构成的线段不属于边缘线段,则在相邻两个顶点构成的线段上预设位置作出扫描线;根据扫描线与边缘线段的交点数目,确定相邻两个顶点构成的线段是否在区域图形的内部;若是,则根据边缘线段,以及内部的线段,构成待显示的区域图形。通过先对图形进行融合处理,得到边缘线段以及多个顶点,再对相邻两个顶点作出扫描线,确定区域图形内部的线段,最后由边缘线段和内部线段构成待显示的区域图形,减少了对于图形组合时的工作量,也提高了准确性,使得游戏中的显示效果更好。
可选的,在上述S101之前,终端可以预设有前置规则,对多个图形的配置信息进行约束,当图形为矩形时,该前置规则可以为对于矩形之间不能存在重叠的部分。
例如,当一个矩形的配置信息为(-4,4)以及(4,4)这两个顶点时,则不允许配置信息为(3,3)以及(5,5)的矩形加入,即配置信息为(3,3)以及(5,5)的矩形不符合前置规则。
在本发明实施例中,平面中的两条先端可以包括五种关系,分别为:相交、不相交也不平行、平行、共线无重叠、共线有重叠。终端可以使用叉乘的方式计算两条先端之间的关系。
而且,通过预设前置规则,还可以减少设定约束条件,以加快对多个图形融合的速度。
图2为本发明实施例提供的一种游戏中的图形处理方法的流程示意图;如图2所示,上述S101中,根据各图形的配置信息,对多个图形进行融合处理,得到区域图形的边缘线段,以及多个顶点,可以包括:
S201、根据各图形的配置信息,确定各图形的顶点以及边。
其中,图形为矩形时,配置信息可以为矩形的起点和终点,例如,左下角的顶点、和右上的角顶点。
在一些实施方式中,终端可以根据上述左下角的顶点、和右上的角顶点,确定矩形的四个顶点,以左下角的顶点为起点,逆时针对四个顶点进行连接,即依次连接左下角的顶点、右下角的顶点、右上角的顶点,左上角的顶点,最后连接到左下角的顶点,则确定矩形的顶点以及边。
当然,此处仅以矩形为例进行说明,当上述图形为其他几何图形时,终端可以根据该几何图形的配置信息,采用其他方式确定各图形的顶点以及边,本发明实施例对此不进行具体限制。
S202、若多个图形中待处理图形的边,与区域图形中已存在的边相交,则以相交的点进行线段分裂,并将分裂得到的线段加入区域图形中,将相交的点加入区域图形的顶点中,删除相交的边。
其中,多个图形是逐个加入到区域图形中的,多个图形的边均为有向边。
需要说明的是,对相交的两条边进行分裂时,终端可以先根据相交的两条边,确定分裂后的四条边,再删除相交的两条边。
例如,待处理图形的一条边可以为AB,区域图形的一条边可以为CD,若AB与CD相交于P,则AB可以分裂为AP和PB两条边,CD可以分裂为CP和PD这两条边,同时删除原先的AB和CD这两条边。另外,若AB与CD相交于C,则AB可以分裂为AC和CB两条边,而CD不会发生分裂,同时删除原先的AB这条边。
S203、若区域图形中两条边的起终点相反,则删除起终点相反的两条边。
在一些实施方式中,终端可以从区域图形的多个顶点中确定一个当前顶点,判断与当前顶点相连接的终点顶点中是否存在,以终点顶点为起点,且以当前顶点为终点的边,即起终点相反的边,若存在删除起终点相反的两条边,对区域图形中的每个顶点进行遍历,直至删除区域图形中所有起终点相反的两条边。
需要说明的是,对于区域图形中的一个顶点,会存在至少一对终点相反的两条边,终端在对该至少一对终点相反的两条边全部删除后,才遍历区域图形中的其他顶点。
S204、若区域图形中存在两条边共线,将共线的两条边替换为一条边,得到区域图形的边缘线段,以及多个顶点。
在一种可能的实施方式中,终端可以判断以同一顶点分别作为起点和终点的两条边,是否存在共线,若存在,则将这两条边替换为一条边,从而得到区域图形的边缘线段,以及多个顶点。
需要说明的是,若上述两条边不共线,终端遍历区域图形中的其他顶点,直至将区域图形中,共线的两条边均替换为一条边。
可选的,在上述S202之前,该方法还包括:对待处理图形的边和区域图形中已存在的边进行求交运算,确定待处理图形的边和区域图形中已存在的边是否相交。
在一种可能的实施方式中,当前加入到区域图形中的图形可以为待处理图形,确定待处理图形的一条边,对区域图形中的每条边与待处理图形的一条边均进行求交运算。
另外,终端可以判断待处理图形中是否存在未进行求交运算的边,若存在,再从未进行求交运算的边中取一条边,直至待处理图形中的每条边与区域图形中的每条边均进行求交运算。
当然,若待处理图形中不存在未进行求交运算的边,则说明待处理图形中的每条边均与区域图形中的每条边均进行了求交运算。
可选的,在上述S204之前,该方法还包括:若区域图形中的顶点为一条边的起点,且为另一条边的终点,则确定一条边和另一条边是否共线。
在一些实时方式中,终端可以从区域图形的多个顶点中确定一个当前顶点,判断与当前顶点是否仅包含一条以其为起点的边,和一条以其为终点的边,若是,则确定一条边和另一条边是否共线。
另外,若当前顶点除包含一条以其为起点的边,和一条以其为终点的边以外,还包含其他边,则终端继续处理区域图形中的其他顶点,直至遍历完区域图形中的每个顶点。
在本发明实施例中,约束条件可以包括:平面图约束、反向边抵消约束和同向边融合约束,其中,平面图约束对应上述S202的过程,反向边抵消约束条件对应上述S203的过程,同向边融合约束对应上述S204的过程。
可选的,上述S102中,在相邻两个顶点构成的线段上预设位置作出扫描线,包括:在预设坐标系的每个坐标方向上,遍历区域图形的每个顶点,在每个顶点与相邻顶点构成的线段上的预设位置处,作出扫描线。
其中,预设坐标系可以包括横坐标方向和纵坐标方向。
在一些实施方式中,终端在横坐标方向上,遍历区域图形的每个顶点,在每个顶点与相邻顶点构成的线段上的预设位置处,垂直线段,在线段的任意一侧作出扫描线,然后,在纵坐标方向上,遍历区域图形的每个顶点,在每个顶点与相邻顶点构成的线段上的预设位置处,垂直线段,在线段的任意一侧作出扫描线。
当然,终端也可以先在纵坐标方向上遍历,再在横坐标方向上遍历,本发明实施例对此不进行具体限制。
在本发明实施例中,当S202至S204执行完成后,当区域图形发生变化时,终端需要再次执行S202至S204,以确保后续的约束条件不会破坏前面的约束条件。
图3为本发明实施例提供的一种游戏中的图形处理方法的流程示意图;如图3所示,该方法包括:
S301、在第一坐标方向上,从区域图形的多个顶点,确定一个第一坐标值下的多个目标顶点。
其中,第一坐标方向可以为横坐标方向或者纵坐标方向。
在一种可能的实施方式中,当第一坐标方向为横坐标方向时,第一坐标值可以为横坐标最小的坐标值,或者横坐标最大的坐标值。当第一坐标方向为纵坐标方向时,第一坐标值可以为纵坐标最小的坐标值,或者纵坐标最大的坐标值。
例如,终端可以在横坐标方向上,从区域图形的多个顶点,确定一个最小横坐标值下的多个目标顶点。
S302、针对每个目标顶点,在目标顶点与相邻顶点构成的线段上的预设位置处,作出扫描线。
在一些实施方式中,终端可以从多个目标顶点中确定一个目标顶点,并确定该目标顶点的相邻顶点,该目标顶点与相邻顶点构成线段,终端在该线段的预设位置出,垂直该线段,向该线段的任意一侧作出扫描线。
当然,终端可以遍历上述多个目标顶点,直至对每个目标顶点与相邻顶点均作出扫描线。
S303、若针对多个目标顶点均作出扫描线,则从区域图形的多个顶点,确定下一个第一坐标值下的多个目标顶点,直至遍历多个顶点中的所有第一坐标值。
其中,当第一坐标方向为横坐标方向时,第一坐标值为横坐标最小的坐标值,则下一个第一坐标值为大于最小横坐标值的坐标值;第一坐标值为横坐标最大的坐标值时,则下一个第一坐标值为小于最大横坐标值的坐标值。
另外,当第一坐标方向为纵坐标方向时,第一坐标值为纵坐标最小的坐标值,则下一个第一坐标值为大于最小纵坐标值的坐标值;第一坐标值为纵坐标最大的坐标值时,则下一个第一坐标值为小于最大纵坐标值的坐标值。
例如,终端可以在横坐标方向上,从区域图形的多个顶点,确定下一个横坐标值,下一个横坐标值可以大于最小横坐标值,直至遍历区域图形的顶点中的所有横坐标值。
可选的,图4为本发明实施例提供的一种游戏中的图形处理方法的流程示意图;如图4所示,上述S302中,针对每个目标顶点,在目标顶点与相邻顶点构成的线段上的预设位置处,作出扫描线,可以包括:
S401、在第二坐标方向上,确定多个目标顶点中一个第二坐标值的第一目标顶点。
其中,当第一坐标方向为横坐标方向时,第二坐标方向可以为纵坐标方向,第二坐标值可以为纵坐标值最小的顶点,也可以为纵坐标值最大的顶点。
当然,其中,当第一坐标方向为纵坐标方向时,第二坐标方向可以为横坐标方向,第二坐标值可以为横坐标值最小的顶点,也可以为横坐标值最大的顶点。
例如,在纵坐标方向上,终端可以确定多个目标顶点中,纵坐标值最小的一个顶点,即第一目标顶点。
S402、若多个目标顶点中存在,第二坐标值大于第一目标顶点的第二目标顶点,则在第二目标顶点与第一目标顶点构成的线段上的预设位置处,作出扫描线。
在一种可能的实施方式中,当第一目标顶点为纵坐标值最小的一个顶点时,终端可以判断多个目标顶点中是否存在,纵坐标值大于第一目标顶点的第二目标顶点,若是,第二目标顶点与第一目标顶点构成的线段上的预设位置处,垂直扫描线,在线段的任意一侧作出扫描线。
在另一种可能的实施方式中,当第一目标顶点为纵坐标值最大的一个顶点时,终端可以判断多个目标顶点中是否存在,纵坐标值小于第一目标顶点的第二目标顶点,若是,第二目标顶点与第一目标顶点构成的线段上的预设位置处,垂直扫描线,在线段的任意一侧作出扫描线。
需要说明的是,当第一目标顶点为横坐标值最小的一个顶点,或者当第一目标顶点为横坐标值最大的一个顶点的实现过程,与上述过程类似,此处不再一一赘述。
S403、若多个目标顶点中不存在,第二坐标值大于第一目标顶点的第二目标顶点,则确定多个目标顶点均作出扫描线。
需要说明的是,当终端确定多个目标顶点均作出扫描线是,终端可以继续执行上述S303。
可选的,图5为本发明实施例提供的一种游戏中的图形处理方法的流程示意图;如图5所示,上述S103,还可以包括:
S501、若交点数目为奇数,则确定相邻两个顶点构成的线段在区域图形的内部。
S502、若交点数目为偶数,则确定相邻两个顶点构成的线段在区域图形的外部。
在本方发明实施例中,当确定相邻两个顶点构成的线段在区域图形的内部,区域图形的内部的线段用于构成待显示的区域图形。
可选的,相邻两个顶点中任一顶点与预设位置的距离为第一距离,相邻两个顶点之间的距离为第二距离,第一距离和第二距离的比值为预设比值,预设比值为预设无理数的倒数。
在本发明实施例中,预设无理数可以为e,或者圆周率,本发明实施例对此不进行具体限制。预设比例也可以为零,即终端可以在相邻两个顶点处,任意一个顶点处作出扫描线。
图6为本发明实施例提供的一种游戏中的图形处理装置的结构示意图;如图6所示,本发明实施例提供了一种游戏中的图形处理装置,通过执行游戏应用在终端上渲染得到交互界面,该交互界面包括至少部分游戏场景,游戏场景中包括至少一个区域图形,区域图形包括:多个图形;装置包括:
获取模块601,用于根据各图形的配置信息,对多个图形进行融合处理,得到区域图形的边缘线段,以及多个顶点;
处理模块602,用于若多个顶点中相邻两个顶点构成的线段不属于边缘线段,则在相邻两个顶点构成的线段上预设位置作出扫描线;
确定模块603,用于根据扫描线与边缘线段的交点数目,确定相邻两个顶点构成的线段是否在区域图形的内部;
构成模块604,用于若是,则根据边缘线段,以及内部的线段,构成待显示的区域图形。
可选的,获取模块601,具体用于根据各图形的配置信息,确定各图形的顶点以及边;若多个图形中待处理图形的边,与区域图形中已存在的边相交,则以相交的点进行线段分裂,并将分裂得到的线段加入区域图形中,将相交的点加入区域图形的顶点中,删除相交的边;若区域图形中两条边的起终点相反,则删除起终点相反的两条边;若区域图形中存在两条边共线,将共线的两条边替换为一条边,得到区域图形的边缘线段,以及多个顶点。
可选的,获取模块601,还具体用于对待处理图形的边和区域图形中已存在的边进行求交运算,确定待处理图形的边和区域图形中已存在的边是否相交。
可选的,获取模块601,还具体用于若区域图形中的顶点为一条边的起点,且为另一条边的终点,则确定一条边和另一条边是否共线。
可选的,处理模块602,具体用于在预设坐标系的每个坐标方向上,遍历区域图形的每个顶点,在每个顶点与相邻顶点构成的线段上的预设位置处,作出扫描线。
可选的,处理模块602,还具体用于在第一坐标方向上,从区域图形的多个顶点,确定一个第一坐标值下的多个目标顶点;针对每个目标顶点,在目标顶点与相邻顶点构成的线段上的预设位置处,作出扫描线;若针对多个目标顶点均作出扫描线,则从区域图形的多个顶点,确定下一个第一坐标值下的多个目标顶点,直至遍历多个顶点中的所有第一坐标值。
可选的,处理模块602,还具体用于在第二坐标方向上,确定多个目标顶点中一个第二坐标值的第一目标顶点;若多个目标顶点中存在,第二坐标值大于第一目标顶点的第二目标顶点,则在第二目标顶点与第一目标顶点构成的线段上的预设位置处,作出扫描线;若多个目标顶点中不存在,第二坐标值大于第一目标顶点的第二目标顶点,则确定多个目标顶点均作出扫描线。
可选的,确定模块603,具体用于若交点数目为奇数,则确定相邻两个顶点构成的线段在区域图形的内部;若交点数目为偶数,则确定相邻两个顶点构成的线段在区域图形的外部。
可选的,相邻两个顶点中任一顶点与预设位置的距离为第一距离,相邻两个顶点之间的距离为第二距离,第一距离和第二距离的比值为预设比值,预设比值为预设无理数的倒数。
上述装置用于执行前述实施例提供的方法,其实现原理和技术效果类似,在此不再赘述。
以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(digital singnal processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(CentralProcessing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称SOC)的形式实现。
图7为本发明实施例提供的一种游戏中的图形处理设备的结构示意图,该设备可以是具备数据处理功能的计算设备。
该游戏中的图形处理设备可以包括:处理器701、存储器702。
存储器702用于存储程序,处理器701调用存储器702存储的程序,以执行上述方法实施例。具体实现方式和技术效果类似,这里不再赘述。
可选地,本发明还提供一种程序产品,例如计算机可读存储介质,包括程序,该程序在被处理器执行时用于执行上述方法实施例。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (11)
1.一种游戏中的图形处理方法,其特征在于,通过执行游戏应用在终端上渲染得到交互界面,所述交互界面包括至少部分游戏场景,游戏场景中包括至少一个区域图形,所述区域图形包括:多个图形;所述方法包括:
根据各所述图形的配置信息,对多个所述图形进行融合处理,得到所述区域图形的边缘线段,以及多个顶点;
若多个所述顶点中相邻两个顶点构成的线段不属于所述边缘线段,则在所述相邻两个顶点构成的线段上预设位置作出扫描线;
根据所述扫描线与所述边缘线段的交点数目,确定所述相邻两个顶点构成的线段是否在所述区域图形的内部;
若是,则根据所述边缘线段,以及所述内部的线段,构成待显示的所述区域图形;
所述根据各所述图形的配置信息,对多个所述图形进行融合处理,得到所述区域图形的边缘线段,以及多个顶点,包括:
根据各所述图形的配置信息,确定各所述图形的顶点以及边;
若多个所述图形中待处理图形的边,与所述区域图形中已存在的边相交,则以相交的点进行线段分裂,并将分裂得到的线段加入所述区域图形中,将所述相交的点加入所述区域图形的顶点中,删除所述相交的边;
若所述区域图形中两条边的起终点相反,则删除所述起终点相反的两条边;
若所述区域图形中存在两条边共线,将所述共线的两条边替换为一条边,得到所述区域图形的边缘线段,以及多个顶点;
在所述相邻两个顶点构成的线段上预设位置作出扫描线,包括:
在所述相邻两个顶点构成的线段上所述预设位置处,垂直所述相邻两个顶点构成的线段,向所述相邻两个顶点构成的线段的任意一侧作出所述扫描线,所述扫描线为射线。
2.如权利要求1所述的方法,其特征在于,所述若多个所述图形中待处理图形的边,与所述区域图形中已存在的边相交,则以相交的点进行线段分裂之前,所述方法还包括:
对所述待处理图形的边和所述区域图形中已存在的边进行求交运算,确定所述待处理图形的边和所述区域图形中已存在的边是否相交。
3.如权利要求1所述的方法,其特征在于,所述若所述区域图形中存在两条边共线,将所述共线的两条边替换为一条边,得到所述区域图形的边缘线段,以及多个顶点之前,所述方法还包括:
若所述区域图形中的顶点为一条边的起点,且为另一条边的终点,则确定所述一条边和所述另一条边是否共线。
4.如权利要求1所述的方法,其特征在于,所述在所述相邻两个顶点构成的线段上预设位置作出扫描线,包括:
在预设坐标系的每个坐标方向上,遍历所述区域图形的每个所述顶点,在每个所述顶点与相邻顶点构成的线段上的所述预设位置处,作出所述扫描线。
5.如权利要求4所述的方法,其特征在于,所述在预设坐标系的每个坐标方向上,遍历所述区域图形的每个所述顶点,在每个所述顶点与相邻顶点构成的线段上的所述预设位置处,作出所述扫描线,包括:
在第一坐标方向上,从所述区域图形的多个所述顶点,确定一个第一坐标值下的多个目标顶点;
针对每个所述目标顶点,在所述目标顶点与相邻顶点构成的线段上的所述预设位置处,作出所述扫描线;
若针对多个所述目标顶点均作出所述扫描线,则从所述区域图形的多个所述顶点,确定下一个第一坐标值下的多个所述目标顶点,直至遍历多个所述顶点中的所有第一坐标值。
6.如权利要求5所述的方法,其特征在于,所述针对每个所述目标顶点,在所述目标顶点与相邻顶点构成的线段上的所述预设位置处,作出所述扫描线,包括:
在第二坐标方向上,确定多个所述目标顶点中一个第二坐标值的第一所述目标顶点;
若多个所述目标顶点中存在,第二坐标值大于第一所述目标顶点的第二所述目标顶点,则在第二所述目标顶点与第一所述目标顶点构成的线段上的所述预设位置处,作出所述扫描线;
若多个所述目标顶点中不存在,第二坐标值大于第一所述目标顶点的第二所述目标顶点,则确定多个所述目标顶点均作出所述扫描线。
7.如权利要求1-6中任一所述的方法,其特征在于,所述根据所述扫描线与所述边缘线段的交点数目,确定所述相邻两个顶点构成的线段是否在所述区域图形的内部,包括:
若所述交点数目为奇数,则确定所述相邻两个顶点构成的线段在所述区域图形的内部;
若所述交点数目为偶数,则确定所述相邻两个顶点构成的线段在所述区域图形的外部。
8.如权利要求1-6中任一所述的方法,其特征在于,所述相邻两个顶点中任一顶点与所述预设位置的距离为第一距离,所述相邻两个顶点之间的距离为第二距离,所述第一距离和所述第二距离的比值为预设比值,所述预设比值为预设无理数的倒数。
9.一种游戏中的图形处理装置,其特征在于,通过执行游戏应用在终端上渲染得到交互界面,所述交互界面包括至少部分游戏场景,游戏场景中包括至少一个区域图形,所述区域图形包括:多个图形;所述装置包括:
获取模块,用于根据各所述图形的配置信息,对多个所述图形进行融合处理,得到所述区域图形的边缘线段,以及多个顶点;
处理模块,用于若多个所述顶点中相邻两个顶点构成的线段不属于所述边缘线段,则在所述相邻两个顶点构成的线段上预设位置作出扫描线;
确定模块,用于根据所述扫描线与所述边缘线段的交点数目,确定所述相邻两个顶点构成的线段是否在所述区域图形的内部;
构成模块,用于若是,则根据所述边缘线段,以及所述内部的线段,构成待显示的所述区域图形;
所述获取模块,具体用于根据各所述图形的配置信息,确定各所述图形的顶点以及边;若多个所述图形中待处理图形的边,与所述区域图形中已存在的边相交,则以相交的点进行线段分裂,并将分裂得到的线段加入所述区域图形中,将所述相交的点加入所述区域图形的顶点中,删除所述相交的边;若所述区域图形中两条边的起终点相反,则删除所述起终点相反的两条边;若所述区域图形中存在两条边共线,将所述共线的两条边替换为一条边,得到所述区域图形的边缘线段,以及多个顶点;
所述确定模块,具体用于在所述相邻两个顶点构成的线段上所述预设位置处,垂直所述相邻两个顶点构成的线段,向所述相邻两个顶点构成的线段的任意一侧作出所述扫描线,所述扫描线为射线。
10.一种游戏中的图形处理设备,其特征在于,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述权利要求1至8任一项所述的方法的步骤。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911042668.1A CN110751706B (zh) | 2019-10-29 | 2019-10-29 | 游戏中的图形处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911042668.1A CN110751706B (zh) | 2019-10-29 | 2019-10-29 | 游戏中的图形处理方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110751706A CN110751706A (zh) | 2020-02-04 |
CN110751706B true CN110751706B (zh) | 2024-03-22 |
Family
ID=69281094
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911042668.1A Active CN110751706B (zh) | 2019-10-29 | 2019-10-29 | 游戏中的图形处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110751706B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111773724B (zh) * | 2020-07-31 | 2024-04-26 | 网易(上海)网络有限公司 | 一种跨越虚拟障碍的方法和装置 |
CN113221202B (zh) * | 2021-01-27 | 2023-03-14 | 广州奇芯机器人技术有限公司 | 一种小线段刀补干扰自交点确定方法、系统及设备 |
CN114004736B (zh) * | 2021-10-25 | 2024-04-26 | 成都泰盟软件有限公司 | 一种编辑区域形状式的辅助对齐贴合方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1391194A (zh) * | 2002-07-19 | 2003-01-15 | 章新苏 | 绘制三维图形的装置 |
CN103809954A (zh) * | 2012-11-14 | 2014-05-21 | 腾讯科技(深圳)有限公司 | 实现界面元素选定的方法和装置 |
CN105654553A (zh) * | 2014-11-26 | 2016-06-08 | 三星电子株式会社 | 图形处理器和执行基于图块的图形管线的方法 |
CN110009727A (zh) * | 2019-03-08 | 2019-07-12 | 深圳大学 | 一种具有结构语义的室内三维模型自动重构方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140267327A1 (en) * | 2013-03-14 | 2014-09-18 | Microsoft Corporation | Graphics Processing using Multiple Primitives |
-
2019
- 2019-10-29 CN CN201911042668.1A patent/CN110751706B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1391194A (zh) * | 2002-07-19 | 2003-01-15 | 章新苏 | 绘制三维图形的装置 |
CN103809954A (zh) * | 2012-11-14 | 2014-05-21 | 腾讯科技(深圳)有限公司 | 实现界面元素选定的方法和装置 |
CN105654553A (zh) * | 2014-11-26 | 2016-06-08 | 三星电子株式会社 | 图形处理器和执行基于图块的图形管线的方法 |
CN110009727A (zh) * | 2019-03-08 | 2019-07-12 | 深圳大学 | 一种具有结构语义的室内三维模型自动重构方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110751706A (zh) | 2020-02-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110751706B (zh) | 游戏中的图形处理方法、装置、设备及存储介质 | |
CN113688545B (zh) | 一种有限元后处理结果可视化方法、系统、数据处理终端 | |
CN110570491B (zh) | 热力图生成方法及装置 | |
US9959685B2 (en) | Method and system for selectively blending buildings to improve route visibility in a 3D navigation system | |
CN106648510A (zh) | 一种显示分辨率的显示方法及装置 | |
CN112085814A (zh) | 电子地图显示方法、装置、设备及可读存储介质 | |
US20160093088A1 (en) | Graphics processing systems | |
CN115170740B (zh) | 特效处理方法、装置、电子设备及存储介质 | |
CN111311528A (zh) | 图像融合优化方法、装置、设备和介质 | |
CN114241105A (zh) | 界面渲染方法、装置、设备和计算机可读存储介质 | |
CN114913216A (zh) | 图像中图形角点的识别方法、装置、介质及电子设备 | |
CN114758034A (zh) | 地图生成方法、装置、计算机可读存储介质及电子设备 | |
KR20180117499A (ko) | 3차원 메쉬 데이터 간소화 방법 및 장치 | |
CN112287427B (zh) | 建筑墙体位置确定方法、装置、计算机设备和存储介质 | |
CN115238331B (zh) | 一种cad图形处理方法、装置、设备和存储介质 | |
CN113870403B (zh) | 用于图像渲染的信息处理方法及装置 | |
CN110427373A (zh) | 一种轨迹数据处理方法及装置 | |
CN113191310B (zh) | 矢量pdf图纸实体填充的边界识别方法、装置及设备 | |
CN112836263B (zh) | 轴网生成方法、装置、计算机设备和存储介质 | |
CN117271974B (zh) | 一种数据修补方法、装置、电子设备和存储介质 | |
CN116168300B (zh) | 一种高分辨率遥感影像等gsd的核线重采样方法和装置 | |
CN116186181A (zh) | 功率流图的可视化方法、装置和电子设备 | |
CN114241507B (zh) | 面积轮廓的确定方法、装置、电子设备及介质 | |
CN117576255B (zh) | 作业区域确定方法、装置、计算机设备和存储介质 | |
CN113026828B (zh) | 水下桩基探伤方法、装置、设备、存储介质及程序产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |