CN117745864A - 重复顶点检测方法和区域着色器控制装置 - Google Patents
重复顶点检测方法和区域着色器控制装置 Download PDFInfo
- Publication number
- CN117745864A CN117745864A CN202211108981.2A CN202211108981A CN117745864A CN 117745864 A CN117745864 A CN 117745864A CN 202211108981 A CN202211108981 A CN 202211108981A CN 117745864 A CN117745864 A CN 117745864A
- Authority
- CN
- China
- Prior art keywords
- vertex
- processed
- coordinates
- unit
- shader
- 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.)
- Pending
Links
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Image Generation (AREA)
Abstract
本申请涉及一种重复顶点检测方法和区域着色器控制装置。该方法包括:接收细分单元模块TS发送的待处理顶点的UV坐标;根据待处理顶点的UV坐标,判断待处理顶点是否为重复的顶点;若待处理顶点不是重复的顶点,则将待处理顶点的UV坐标发送至顶点计算单元,使得顶点计算单元根据待处理顶点的UV坐标,计算待处理顶点的三维坐标以及属性信息;若待处理顶点是重复的顶点,则将与待处理顶点坐标相同的顶点的三维坐标以及属性信息,作为待处理顶点的三维坐标以及属性信息。降低了顶点计算单元的计算压力。
Description
技术领域
本申请涉及图像绘制技术领域,特别是涉及一种重复顶点检测方法和区域着色器控制装置。
背景技术
曲面细分作为一种表现物体表面细节的有效方法,在3D加速卡(Direct3D,简称D3D)、开放图形库(Open Graphics Library,简称OpenGL)以及Vulkan等绘制平台得到广泛应用。曲面细分模块包括:外壳着色器(Hull Shader,简称HS)、区域着色器(DomainShader,简称DS)以及曲面细分单元(Tessellator,简称TS)。
现有技术中,曲面细分模块使用HS完成TS的预处理计算,使用DS完成TS的后处理计算,而TS计算得到的很多顶点是重复的,导致DS计算压力大。
发明内容
基于此,有必要针对上述技术问题,提供一种能够减轻DS计算压力的重复顶点检测方法和区域着色器控制装置。
一方面,本申请提供一种重复顶点检测方法,包括:
接收细分单元模块TS发送的待处理顶点的UV坐标;根据待处理顶点的UV坐标,判断待处理顶点是否为重复的顶点;若待处理顶点不是重复的顶点,则将待处理顶点的UV坐标发送至顶点计算单元,使得顶点计算单元根据待处理顶点的UV坐标,计算待处理顶点的三维坐标以及属性信息;若待处理顶点是重复的顶点,则不将待处理顶点的UV坐标发送至所示顶点计算单元,将与待处理顶点坐标相同的顶点的三维坐标以及属性信息,作为待处理顶点的三维坐标以及属性信息。
在一些实施例中,根据待处理顶点的UV坐标,判断待处理顶点是否为重复的顶点,包括:在顶点缓存空间缓存的各个顶点的UV坐标中查找是否有顶点的UV坐标和待处理顶点的UV坐标相同;若各个顶点的UV坐标中没有顶点的UV坐标和待处理顶点的UV坐标相同,则确定待处理顶点不是重复的顶点;若各个顶点的UV坐标中有顶点的UV坐标和待处理顶点的UV坐标相同,则确定待处理顶点为重复的顶点。
在一些实施例中,方法还包括:若在顶点缓存空间中查找到第一顶点的UV坐标和待处理顶点的UV坐标相同;则将第一顶点在外部存储空间的存储地址作为待处理顶点在外部存储空间的存储地址,并将待处理顶点在外部存储空间的存储地址发送给细分单元模块TS。
在一些实施例中,方法还包括:若待处理顶点不是重复的顶点,则为待处理顶点分配在外部存储空间的存储地址,将待处理顶点在外部存储空间的存储地址发送给细分单元模块TS,并将待处理顶点的UV坐标和待处理顶点在外部存储空间的存储地址缓存在顶点缓存空间中。
在一些实施例中,方法还包括:若待处理顶点不是重复的顶点,在顶点管理缓存空间中查找管理待处理顶点的顶点管理条目,并将顶点管理条目中参考计数值加1,将顶点管理条目中未击中计数值加1,顶点管理缓存空间每一行用于存储一个顶点管理条目,每个顶点管理条目用于管理顶点缓存空间中处于相同行的顶点;若待处理顶点是重复的顶点,在顶点管理缓存空间中查找管理待处理顶点的顶点管理条目,并将顶点管理条目中参考计数值加1;
相应的,将待处理顶点的UV坐标发送至顶点计算单元,包括:当未击中计数值达到预设值时,将未击中计数值对应的顶点的UV坐标发送至顶点计算单元,未击中计数值对应的顶点包括待处理顶点。
另一方面,本申请提供一种区域着色器控制装置DSC,包括:
顶点检测单元HMU、区域着色器控制包DCS_PACK以及区域着色器索引标签单元DSIDT:区域着色器控制包DCS_PACK用于,接收细分单元模块TS发送的待处理顶点的UV坐标,还用于,通过区域着色器索引标签单元DSIDT将待处理顶点的UV坐标发送给顶点检测单元HMU;顶点检测单元HMU用于,根据待处理顶点的UV坐标,判断待处理顶点是否为重复的顶点,若待处理顶点不是重复的顶点,顶点检测单元HMU则通过区域着色器索引标签单元DSIDT向区域着色器控制包DCS_PACK发送第一指示消息,第一指示消息用于指示待处理顶点不是重复的顶点,使得区域着色器控制包DCS_PACK接收到第一指示消息后,将待处理顶点的UV坐标发送至顶点计算单元,使得顶点计算单元根据待处理顶点的UV坐标,计算待处理顶点的三维坐标以及属性信息,若待处理顶点是重复的顶点,顶点检测单元HMU则通过区域着色器索引标签单元DSIDT向区域着色器控制包DCS_PACK发送第二指示消息,第二指示消息用于指示待处理顶点是重复的顶点,使得区域着色器控制包DCS_PACK接收到第二指示消息后,不将待处理顶点的UV坐标发送至顶点计算单元,将与待处理顶点坐标相同的顶点的三维坐标以及属性信息,作为待处理顶点的三维坐标以及属性信息。
在一些实施例中,顶点检测单元HMU包括:比较单元CMP、标志缓存单元TagRam、控制单元Control以及分配单元ALLOC_DSID;比较单元CMP用于,接收区域着色器索引标签单元DSIDT发送的待处理顶点的UV坐标;比较单元CMP还用于,向标志缓存单元TagRam发送匹配请求,匹配请求携带待处理顶点的UV坐标;标志缓存单元TagRam用于,在接收到匹配请求后,在顶点缓存空间缓存的各个顶点的UV坐标中查找是否有顶点的UV坐标和待处理顶点的UV坐标相同;若各个顶点的UV坐标中没有顶点的UV坐标和待处理顶点的UV坐标相同,则确定待处理顶点不是重复的顶点,则向比较单元CMP发送匹配失败消息,若各个顶点的UV坐标中有顶点的UV坐标和待处理顶点的UV坐标相同,则确定待处理顶点为重复的顶点,则向比较单元CMP发送匹配成功消息,匹配成功消息携带顶点缓存空间中与待处理顶点重复的顶点所处的行数;比较单元CMP还用于,在接收到匹配失败消息后,通过控制单元Control向区域着色器索引标签单元DSIDT发送第一指示消息;比较单元CMP还用于,在接收到匹配成功消息后,通过控制单元Control向区域着色器索引标签单元DSIDT发送第二指示消息。
在一些实施例中,标志缓存单元TagRam还用于,若在顶点缓存空间中查找到第一顶点的UV坐标和待处理顶点的UV坐标相同;则将第一顶点在外部存储空间的存储地址作为待处理顶点在外部存储空间的存储地址,并通过控制单元Control、区域着色器索引标签单元DSIDT以及区域着色器控制包DCS_PACK将待处理顶点在外部存储空间的存储地址发送给细分单元模块TS。
在一些实施例中,控制单元Control还用于,接收到第一指示消息后,向分配单元ALLOC_DSID发送地址分配请求;分配单元ALLOC_DSID用于,接收到地址分配请求后,为待处理顶点分配在外部存储空间的存储地址,并将待处理顶点在外部存储空间的存储地址发送给控制单元Control;控制单元Control还用于通过区域着色器索引标签单元DSIDT以及区域着色器控制包DCS_PACK将待处理顶点在外部存储空间的存储地址发送给细分单元模块TS。
在一些实施例中,区域着色器索引标签单元DSIDT还用于,接收到第一指示消息后,在顶点管理缓存空间中查找管理待处理顶点的顶点管理条目,并将顶点管理条目中参考计数值加1,将顶点管理条目中未击中计数值加1;区域着色器索引标签单元DSIDT还用于,接收到第二指示消息后,在顶点管理缓存空间中查找管理待处理顶点的顶点管理条目,并将顶点管理条目中参考计数值加1;区域着色器索引标签单元DSIDT还用于,当检测到未击中计数值达到预设值时,将未击中计数值对应的顶点的UV坐标发送给区域着色器控制包DCS_PACK,使得区域着色器控制包DCS_PACK接收到第一指示消息,且接收到未击中计数值对应的顶点的UV坐标后,将未击中计数值对应的顶点的UV坐标发送到顶点计算单元。
另一方面,本申请提供一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述重复顶点检测方法。
另一方面,本申请提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述重复顶点检测方法。
另一方面,本申请提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述重复顶点检测方法。
本申请实施例提供的重复顶点检测方法和区域着色器控制装置,接收到细分单元模块TS发送的待处理顶点的UV坐标;根据待处理顶点的UV坐标,判断待处理顶点是否为重复的顶点;若待处理顶点不是重复的顶点,则将待处理顶点的UV坐标发送至顶点计算单元,使得顶点计算单元根据待处理顶点的UV坐标,计算待处理顶点的三维坐标以及属性信息;若待处理顶点是重复的顶点,则将与待处理顶点坐标相同的顶点的三维坐标以及属性信息,作为待处理顶点的三维坐标以及属性信息。使得顶点计算单元接收到的顶点均为互不相同的顶点,减少了顶点计算单元接收到的顶点数量,顶点计算单元的计算压力也随之减小。
附图说明
图1为一个实施例中绘制流水线示意图;
图2为一个实施例中平行线块细分示意图;
图3为一个实施例中三角形块细分示意图;
图4为一个实施例中四边形块细分示意图;
图5为一个实施例中DS结构示意图;
图6为另一个实施例中重复顶点检测方法的流程示意图;
图7为一个实施例中平行线块的顶点拓扑图;
图8为一个实施例中三角形块的顶点拓扑图;
图9为一个实施例中四边形块的顶点拓扑图;
图10为一个实施例中UV坐标示意图;
图11为一个实施例中重复顶点示意图;
图12为一个实施例中未击中顶点示意图;
图13为一个实施例中DSC的结构示意图;
图14为一个实施例中HUM的结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
曲面细分作为一种表现物体表面细节的有效方法,在3D加速卡(Direct3D,简称D3D)、开放图形库(Open Graphics Library,简称OpenGL)以及Vulkan等绘制平台得到广泛应用。图1为D3D11的流水线示意图,D3D11上曲面细分模块包括:外壳着色器(Hull Shader,简称HS)、区域着色器(Domain Shader,简称DS)以及曲面细分单元(Tessellator,简称TS),该曲面细分模块使用HS完成TS的预处理计算,使用DS完成TS的后处理计算,具体的,HS针对每个细分块(Patch),计算出多个控制点(Control Points,简称CPs)和细分参数(PatchConsts,简称PTs),HS将细分参数PTs传送给TS,TS基于细分参数PTs计算出新顶点的UV坐标,并将新顶点的UV坐标传送给DS;HS将多个控制点CPs传送给DS,DS基于多个控制点CPs和新顶点的UV坐标,插值出顶点的三维坐标以及颜色等属性信息,并将该三维坐标以及颜色等属性信息输出到几何着色器(Geometry Shader,简称GS),TS可将新顶点构成的拓扑结构传给GS,使得GS基于接收到的数据进行后期的几何处理。上述是曲面细分模块大致原理,详细过程可参见现有技术中对于D3D11这个绘制平台的相关介绍,本申请实施例在此不再赘述。
下面对细分块的概念进行介绍,用户可以定义三种细分块,分别为:平行线块、三角形块和四边形块。TS输出拓扑结构也有三种,分别为:点(Point),线(Line)和三角形(Triangle)。可选的,细分块为平行线块时,TS输出的拓扑结构可以为线(Line),细分块为三角形块或者四边形块时,TS输出的拓扑结构可以为三角形(Triangle)。可选的,可将毛发、草地等定义为平行线块,将表面凹凸的物体、高低起伏的地形或者海面定义为三角性块或者四边形块。示例性的,图2为HS针对某个平行线块,计算得到细分参数后,TS基于该细分参数计算得到的顶点的拓扑图,细分块为平行线块的情况下,细分参数需要有:生成线的数量以及每根线上顶点的密度,TS输出的拓扑结构为线。示例性的,图3为HS针对某个三角形块,计算得到细分参数后,TS基于该细分参数计算得到的顶点的拓扑图,细分块为三角形块的情况下,细分参数需要有三个外部参数和一个内部参数,三个外部参数用于控制三条外边的细分力度,一个内部参数用于控制内部边的细分力度,内部参数指三角形内部的细分规则,从图3可以看到,三角形内部还嵌套了小三角形,这个参数就是用来控制,内部如何细分小三角形。TS输出的拓扑结构为三角形。示例性的,图4为HS针对某个四边形块,计算得到细分参数后,TS基于该细分参数计算得到的顶点的拓扑图,细分块为四边形块的情况下,细分参数需要有四个外部参数和两个内部参数,内部参数指四边形内部的细分规则,从图4可以看到,四边形内部还嵌套了小四边形,这个参数就是用来控制,内部如何细分小四边形的。TS输出的拓扑结构为三角形。从图2可以看出,一个顶点往往被两条线共用,从图3和图4可以看出,一个顶点被多个三角性共用,因此DS会收到很多重复的顶点,DS对重复的顶点进行计算,增加了DS计算压力,而且,如果要将DS计算的结果存储到外部存储空间时,由于重复顶点的存在,需要占用的存储空间很大,造成存储资源的消耗。
为了减轻重复顶点导致的DS计算压力大,本申请实施例提出一种重复顶点检测方法,对TS输出的每个顶点进行检测,若顶点是重复的,则不会将顶点的UV坐标发送至顶点计算单元,由于接收到的顶点数量减少,顶点计算单元的计算压力也随之减小。下面结合具体的实施例对上述重复顶点检测方法进行详细说明。
图5为本申请提供的DS的结构示意图。如图5所示,DS包括区域着色器控制装置(Domain Shader Controller,简称DSC)、顶点计算单元以及输出单元。顶点计算单元和输出单元均和DSC连接。DSC还和细分单元模块TS以及几何着色器控制装置(Geometry ShaderController,简称GSC)连接,GSC是GS的一部分。本申请实施例提供的重复顶点检测方法,可应用于DSC。
在一个实施例中,参见图6所示,提供一种重复顶点检测方法,该方法应用于DSC,该方法包括如下步骤:
S602、DSC接收细分单元模块TS发送的待处理顶点的UV坐标;
如上文所描述,HS针对每个细分块,计算出多个控制点(Control Points,简称CPs)和细分参数(Patch Consts),HS将细分参数传送给TS,TS基于细分参数计算出新顶点的UV坐标,并将新顶点的UV坐标发送至DSC。
示例性的,HS针对平行线块,计算得到多个控制点和细分参数,假设,细分参数中生成线的数量为5,每根线上顶点的密度也为5,TS基于细分参数,可计算得到50个顶点,图7为该50个顶点的拓扑图,TS将该50个顶点的UV坐标发送给DSC。可选的,TS还可将拓扑结构列表发送给GSC,该拓扑结构列表为线列表,该线列表包括图7中V0V1、V1V2、V2V3、V3V4、V4V5、V6V7、V7V8、V8V9、V9V10、V10V11、V12V13、V13V14、V14V15、V15V16、V16V17、V18V19、V19V20、V20V21、V21V22、V22V23、V24V25、V25V26、V26V27、V27V28、V28V29共25条线。本示例下DSC接收到的50个顶点中任一顶点均可作为待处理顶点。
示例性的,HS针对三角形块,计算得到多个控制点和细分参数,假设,用于控制左边的细分力度的外部参数为4,用于控制右边的细分力度的外部参数为3,用于控制下边的细分力度的外部参数为4,内部参数为3,HS将细分参数传送给TS后,TS基于细分参数,可计算得到45个顶点,图8为该45个顶点的拓扑图,TS将45个顶点的UV坐标发送给DSC,TS还可将拓扑结构列表发送给GSC,该拓扑结构列表为三角形列表,该三角形列表包括图8中V0V12V1、V1V12V2、V2V12V13、V2V13V3、V3V13V4、V4V13V5、V5V13V6、V6V13V11、V6V11V7、V8V7V11、V9VV8V11、V9V11V12、V10V9V12、V0V10V12、V12V11V13共15个三角形。本示例下DSC接收到的45个顶点中任一顶点均可作为待处理顶点。
示例性的,HS针对四边形块,计算得到多个控制点和细分参数,假设,四个外部参数和两个内部参数均为4,HS将细分参数传送给TS后,TS基于细分参数,可计算得到96个顶点,图9为该50个顶点的拓扑图,TS将96个顶点的UV坐标发送给DSC,TS还可将拓扑结构列表发送给GSC,该拓扑结构列表为三角形列表,该三角形列表包括图9中V0V6V5、V0V1V6、V1V7V6、V1V2V7、V2V3V7、V3V8V7、V3V4V8、V4V9V8、V5V11V10、V5V6V11、V6V12V11、V6V7V12、V7V8V12、V8V13V12、V8V9V13、V9V14V13、V10V11V15、V11V16V15、V11V12V16、V12V17V16、V12V18V17、V12V13V18、V13V19V18、V13V14V19、V15V16V20、V16V21V20、V16V17V21、V17V22V21、V17V23V22、V17V18V23、V18V24V23、V18V19V24共32个三角形。本示例下DSC接收到的50个顶点中任一顶点均可作为待处理顶点。
S604、DSC根据待处理顶点的UV坐标,判断待处理顶点是否为重复的顶点。
可选的,DSC可在顶点缓存空间缓存的各个顶点的UV坐标中查找是否有顶点的UV坐标和待处理顶点的UV坐标相同;若各个顶点的UV坐标中没有顶点的UV坐标和待处理顶点的UV坐标相同,则确定待处理顶点不是重复的顶点;若各个顶点的UV坐标中有顶点的UV坐标和待处理顶点的UV坐标相同,则确定待处理顶点为重复的顶点。
可选的,若待处理顶点不是重复的顶点,则为待处理顶点分配在外部存储空间的存储地址,将待处理顶点在外部存储空间的存储地址发送给细分单元模块TS,并将待处理顶点的UV坐标和待处理顶点在外部存储空间的存储地址缓存在顶点缓存空间中。
可选的,若在顶点缓存空间中查找到第一顶点的UV坐标和待处理顶点的UV坐标相同;则将第一顶点在外部存储空间的存储地址作为待处理顶点在外部存储空间的存储地址。DSC可将待处理顶点在外部存储空间的存储地址发送给输出单元,使得输出单元将顶点计算单元的计算结果存储到该存储地址。若在顶点缓存空间中查找到第一顶点的UV坐标和待处理顶点的UV坐标相同,说明待处理顶点为重复顶点,本申请实施例中,重复顶点不需要将存储地址发送给计算单元,重复顶点也不需要送给计算单元,这样减少了计算次数,只需要将重复顶点及其存储地址送给TS,TS送给GS,GS根据存储地址直接读取该重复顶点的属性值,从而减少为重复顶点分配多个存储地址造成的资源浪费。
可选的,TS计算得到的顶点的UV坐标在[0,1.0]之间,UV坐标用17bits的定点数表示,其中1bit表示整数部分,16bits表示小数部分,具体实例见图10,其中定点数0x8000表示浮点数0.5,定点数0x10000表示浮点数1.0,定点数0x5555表示浮点数0.33332825。
可选的,DSC确定待处理顶点不是重复的顶点时,可执行S606,DSC确定待处理顶点是重复的顶点时,可执行S608。
S606、将待处理顶点的UV坐标发送至顶点计算单元。
S608、将与待处理顶点坐标相同的顶点的三维坐标以及属性信息,作为待处理顶点的三维坐标以及属性信息。
可选的,若待处理顶点不是重复的顶点,如上文所描述,可为待处理顶点分配在外部存储空间的存储地址,并将待处理顶点的UV坐标和待处理顶点在外部存储空间的存储地址缓存在顶点缓存空间中。然后可在顶点管理缓存空间中查找管理待处理顶点的顶点管理条目,并将顶点管理条目中参考计数值加1,将顶点管理条目中未击中计数值加1。后面模块GS会使用TS输出的所有顶点,不管是重复的还是不重复的,GS每使用完一个顶点,就会将该顶点所在行的参考计数值减1,只要当这个参考计数值为0时,说明当前行管理的所有顶点都被GS消耗完,那当前行就可以释放出来管理新的非重复顶点了。若待处理顶点是重复的顶点,则在顶点管理缓存空间中查找管理待处理顶点的顶点管理条目,并将顶点管理条目中参考计数值加1。当未击中计数值达到预设值时,将未击中计数值对应的顶点的UV坐标发送至顶点计算单元,未击中计数值对应的顶点包括待处理顶点。
示例性的,参见图11所示,假设,待处理顶点为V4,在顶点缓存空间缓存的各个顶点的UV坐标中查找是否有顶点的UV坐标和V4的UV坐标相同,假设查找发现,UVn+2的UV坐标和V4的UV坐标相同,则确定V4为重复的坐标,则在顶点管理缓存空间查找管理V4的顶点管理条目,图11中顶点管理条目用Wave表示。顶点管理缓存空间中每一行用于存储一个Wave,每个Wave用于管理顶点缓存空间中处于相同行的顶点,由于UVn+2在顶点缓存空间的第2行,则在顶点管理缓存空间查找位于第2行的Wave,并将该Wave的参考计数值加1。
示例性的,参见图12所示,假设,待处理顶点为V4,在顶点缓存空间缓存的各个顶点的UV坐标中查找是否有顶点的UV坐标和V4的UV坐标相同,假设查找发现,没有顶点的UV坐标和V4的UV坐标相同,则为V4新分配在外部存储空间的存储地址,并将V4的UV坐标和在外部存储空间的存储地址存在顶点缓存空间中,如图12中UV2n+3的位置,由于UV2n+3在顶点缓存空间的第3行,则在顶点管理缓存空间查找位于第3行的Wave,并将该Wave中的参考计数值加1,将该Wave中的未击中计数值加1,当Wave的未击中计数值达到预设阈值时,该预设阈值可以为顶点缓存空间一行顶点的数量,将该Wave管理的n个顶点发送至顶点计算单元,使得顶点计算单元并行计算这n个顶点的三维坐标以及属性信息。上述方式使用Wave来管理顶点,在未击中计数值达到预设阈值时,才将n个顶点发送给顶点计算单元,使得顶点计算单元可以并行处理,和将n个顶点逐个发送给顶点计算单元相比,并行计算的方式提升了计算效率。
如上文所描述,顶点计算单元可基于接收到的顶点的UV坐标和HS传送的多个控制点,计算出该待处理顶点的三维坐标以及颜色等属性信息。详细计算过程参见现有技术,本申请实施例在此不再赘述。
示例性的,继续参见图7所示,TS基于细分参数计算得到50个顶点,其中有30个顶点是互不相同的,20个是重复的,DSC接收到这50个顶点的UV坐标后,经过上述重复性判断,只会将互不相同的30个顶点的UV坐标发送给顶点计算单元,降低了顶点计算单元的计算压力,计算效率可提高20/50=40%。
示例性的,继续参见图8所示,TS基于细分参数计算得到45个顶点,其中有14个顶点是互不相同的,31个是重复的,DSC接收到这45个顶点的UV坐标后,经过上述重复性判断,只会将互不相同的14个顶点的UV坐标发送给顶点计算单元,降低了顶点计算单元的计算压力,计算效率可提高31/45=68.89%。
示例性的,继续参见图9所示,TS基于细分参数计算得到96个顶点,其中有25个顶点是互不相同的,71个是重复的,DSC接收到这96个顶点的UV坐标后,经过上述重复性判断,只会将互不相同的25个顶点的UV坐标发送给顶点计算单元,降低了顶点计算单元的计算压力,计算效率可提高71/96=73.96%。
本申请实施例提供的重复顶点检测方法,接收到细分单元模块TS发送的待处理顶点的UV坐标;根据待处理顶点的UV坐标,判断待处理顶点是否为重复的顶点;若待处理顶点不是重复的顶点,则将待处理顶点的UV坐标发送至顶点计算单元,使得顶点计算单元根据待处理顶点的UV坐标,计算待处理顶点的三维坐标以及属性信息;若待处理顶点是重复的顶点,则不将待处理顶点的UV坐标发送至所示顶点计算单元,将与待处理顶点坐标相同的顶点的三维坐标以及属性信息,作为待处理顶点的三维坐标以及属性信息。使得顶点计算单元接收到的顶点均为互不相同的顶点,减少了顶点计算单元接收到的顶点数量,顶点计算单元的计算压力也随之减小。
在一个实施例中,参见图13所示,DSC可以包括:顶点检测单元(hit miss unit,简称HMU)、区域着色器控制包(Domain Shader Controller pack,简称DCS_PACK)、区域着色器索引标签(domain shader index table,简称DSIDT)单元以及区域着色器前端(domainshader front end,简称DSFE),如图13所示,DSIDT分别和HMU和DCS_PACK连接。DSIDT还可以和几何着色器控制装置(Geometry Shader Controller,简称GSC),GSC是GS的一部分。DCS_PACK还可以和顶点计算单元连接,DCS_PACK还可以和输出单元连接,DSFE分别与TS和DCS_PACK连接。如上文所描述,顶点计算单元用于接收到顶点的UV坐标后,根据顶点的UV坐标,计算顶点的三维坐标以及属性信息。输出单元用于将三维坐标以及属性信息存储至外部存储空间。可以理解的,图13示意的功能模块的划分仅仅是一种示例,还可划分为其他形式,图13不构成对本申请实施例的限制。
如图13所示,区域着色器控制包DCS_PACK用于,接收细分单元模块TS通过DSFE发送的待处理顶点的UV坐标,还用于,通过区域着色器索引标签单元DSIDT将待处理顶点的UV坐标发送给顶点检测单元HMU;顶点检测单元HMU用于,根据待处理顶点的UV坐标,判断待处理顶点是否为重复的顶点,若待处理顶点不是重复的顶点,顶点检测单元HMU则通过区域着色器索引标签单元DSIDT向着色器控制包DCS_PACK发送第一指示消息,第一指示消息用于指示待处理顶点不是重复的顶点,使得区域着色器控制包DCS_PACK接收到第一指示消息后,将待处理顶点的UV坐标发送至顶点计算单元,使得顶点计算单元根据待处理顶点的UV坐标,计算待处理顶点的三维坐标以及属性信息,若待处理顶点是重复的顶点,顶点检测单元HMU则通过区域着色器索引标签单元DSIDT向区域着色器控制包DCS_PACK发送第二指示消息,第二指示消息用于指示待处理顶点是重复的顶点,使得区域着色器控制包DCS_PACK接收到第二指示消息后,不将待处理顶点的UV坐标发送至顶点计算单元。将与待处理顶点坐标相同的顶点的三维坐标以及属性信息,作为待处理顶点的三维坐标以及属性信息。
TS还可向DSFE发送Dip、Reg和Cmd,下面分别解释其含义:
Dip:TS会将控制点送给DS,此处控制点送的不是顶点的属性,而是顶点属性在外部存储空间的地址,此时这个地址就被称为Dip。
Reg:是指配置信息,譬如前面有提到,当未击中计数值达到预设值,就将未击中计数值对应的顶点的UV坐标发送至顶点计算单元,这个预设值可通过reg送下来。
Cmd:如果当前有两个任务,每个任务的Reg不一样,也就是上面提到的预设值,那DS必须等第一个任务结束了,才能送第二个任务的预设值,那如何知道第一个任务结束了呢,可通过送一个cmd命令下来,DS收到这个任务,就会在第一个任务结束,告诉TS,现在可以送第二个任务的Reg了。
为了实现重复顶点检测,在一个实施例中,参见图14所示,HMU包括:比较单元CMP、标志缓存单元TagRam、控制单元Control以及分配单元ALLOC_DSID;比较单元CMP、标志缓存单元TagRam以及分配单元ALLOC_DSID均和控制单元Control连接。可以理解的,图14示意的功能模块的划分仅仅是一种示例,还可划分为其他形式,图14不构成对本申请实施例的限制。
其中,如图14所示,比较单元CMP用于,接收区域着色器索引标签单元DSIDT发送的待处理顶点的UV坐标;还用于,向标志缓存单元TagRam发送匹配请求,匹配请求携带待处理顶点的UV坐标;标志缓存单元TagRam用于,在接收到匹配请求后,在顶点缓存空间缓存的各个顶点的UV坐标中查找是否有顶点的UV坐标和待处理顶点的UV坐标相同;若各个顶点的UV坐标中没有顶点的UV坐标和待处理顶点的UV坐标相同,则确定待处理顶点不是重复的顶点,则向比较单元CMP发送匹配失败消息,若各个顶点的UV坐标中有顶点的UV坐标和待处理顶点的UV坐标相同,则确定待处理顶点为重复的顶点,则向比较单元CMP发送匹配成功消息;比较单元CMP还用于,在接收到匹配失败消息后,通过控制单元Control向区域着色器索引标签单元DSIDT发送第一指示消息;比较单元CMP还用于,在接收到匹配成功消息后,通过控制单元Control向区域着色器索引标签单元DSIDT发送第二指示消息。
可选的,标志缓存单元TagRam还用于,若在顶点缓存空间中查找到第一顶点的UV坐标和待处理顶点的UV坐标相同;则将第一顶点在外部存储空间的存储地址作为待处理顶点在外部存储空间的存储地址,并通过控制单元Control、区域着色器索引标签单元DSIDT以及区域着色器控制包DCS_PACK将待处理顶点在外部存储空间的存储地址发送给细分单元模块TS。DS的输出,GS会当作输入使用,TS可进一步将存储地址发送至GS,这样,GS可直接从接收到的存储地址中读取GS的输入。
可选的,控制单元Control还用于,接收到第一指示消息后,向分配单元ALLOC_DSID发送地址分配请求;分配单元ALLOC_DSID用于,接收到地址分配请求后,为待处理顶点分配在外部存储空间的存储地址,并将待处理顶点在外部存储空间的存储地址发送给控制单元Control;控制单元Control还用于通过区域着色器索引标签单元DSIDT以及区域着色器控制包DCS_PACK将待处理顶点在外部存储空间的存储地址发送给细分单元模块TS。待处理顶点不是重复的顶点的情况下,控制单元Control还用于将待处理顶点在外部存储空间的存储地址发送给标志缓存单元TagRam,标志缓存单元TagRam还用于将待处理顶点的UV坐标和待处理顶点在外部存储空间的存储地址缓存在顶点缓存空间中。
可选的,图11和图12中的顶点缓存空间设置在标志缓存单元TagRam中,顶点管理缓存空间设置在区域着色器索引标签单元DSIDT中。区域着色器索引标签单元DSIDT具体用于,接收到第一指示消息后,在顶点管理缓存空间中查找管理待处理顶点的顶点管理条目,并将顶点管理条目中参考计数值加1,将顶点管理条目中未击中计数值加1;接收到第二指示消息后,在顶点管理缓存空间中查找管理待处理顶点的顶点管理条目,并将顶点管理条目中参考计数值加1;区域着色器索引标签单元DSIDT还用于,当检测到未击中计数值达到预设值时,将未击中计数值对应的顶点的UV坐标发送给区域着色器控制包DCS_PACK,使得区域着色器控制包DCS_PACK接收到第一指示消息,且接收到该未击中计数值对应的顶点的UV坐标时,将未击中计数值对应的顶点的UV坐标发送到顶点计算单元。使得顶点计算单元对接收到的多个UV坐标并行计算三维坐标以及属性信息,以提升顶点计算单元的计算效率。
示例性的,继续参见图11所示,标志缓存单元TagRam接收V4的UV坐标,经查找发现,V4的UV坐标和UVn+2处存储的UV坐标相同,标志缓存单元TagRam向比较单元CMP发送匹配成功消息,匹配成功消息携带UVn+2在顶点缓存空间所处的行数,比较单元CMP接收到匹配成功消息后,向控制单元Control发送第二指示消息,第二指示消息携带UVn+2在顶点缓存空间所处的行数。标志缓存单元TagRam还将UVn+2在外部存储空间的存储地址作为V4在外部存储空间的存储地址,并将该地址发送给控制单元Control。控制单元Control接收到第二指示消息和V4在外部存储空间的存储地址后,将该第二指示消息和该存储地址发送给区域着色器索引标签单元DSIDT,区域着色器索引标签单元DSIDT接收到第二指示消息以及待处理顶点在外部存储空间的存储地址后,在顶点管理缓存空间查找与第二指示信息携带的行数对应的顶点管理条目,由于UVn+2在顶点缓存空间的第2行,则在顶点管理缓存空间查找位于第2行的Wave,并将该Wave的参考计数值加1。区域着色器索引标签单元DSIDT进一步将第二指示消息发送给区域着色器控制包DCS_PACK,通过区域着色器控制包DCS_PACK将待处理顶点在外部存储空间的存储地址发送给细分单元模块TS。
继续参见图12所示,标志缓存单元TagRam接收V4的UV坐标,经查找发现,没有顶点的UV坐标和V4的UV坐标相同,标志缓存单元TagRam向比较单元CMP发送匹配失败消息,比较单元CMP接收到匹配失败消息后,向控制单元Control发送第一指示消息,控制单元Control接收到第一指示消息后,向分配单元ALLOC_DSID发送地址分配请求,分配单元ALLOC_DSID接收到地址分配请求后,为待处理顶点分配在外部存储空间的存储地址,并将待处理顶点在外部存储空间的存储地址发送给控制单元Control;控制单元Control将该存储地址发送给标志缓存单元TagRam,标志缓存单元TagRam将V4的UV坐标和该存储地址缓存在顶点缓存空间中,如图12中UV2n+3处,标志缓存单元TagRam将UV2n+3所处的行数发送给控制单元Control。控制单元Control将第一指示信息、UV2n+3所处的行数以及待处理顶点在外部存储空间的存储地址发送给区域着色器索引标签单元DSIDT,区域着色器索引标签单元DSIDT在顶点管理缓存空间查找UV2n+3所处的行数对应的顶点管理条目,由于UV2n+3在顶点缓存空间的第3行,则在顶点管理缓存空间查找位于第3行的Wave,并将该Wave中的参考计数值加1,将该Wave中的未击中计数值加1。区域着色器索引标签单元DSIDT进一步将第一指示消息发送给区域着色器控制包DCS_PACK,通过区域着色器控制包DCS_PACK将待处理顶点在外部存储空间的存储地址发送给细分单元模块TS。当着色器索引标签单元DSIDT检测到Wave的未击中计数值达到预设阈值时,该预设阈值可以为顶点缓存空间一行顶点的数量,将该Wave管理的n个顶点发送至区域着色器控制包DCS_PACK,区域着色器控制包DCS_PACK接收到第一指示消息以及上述n个顶点后,将该n个顶点的UV坐标发送给顶点计算单元,使得顶点计算单元并行计算这n个顶点的三维坐标以及属性信息。
可选的,顶点计算单元计算完成后,可通过区域着色器控制包DCS_PACK向区域着色器索引标签单元DSIDT发送计算完成指示,区域着色器索引标签单元DSIDT接收到该指示后,将相应顶点管理条目中的可使用信号置为1,GSC检测到使用信号置为1后,可使用该顶点管理条目管理的n个顶点的三维坐标和属性信息。具体的,GSC可接收TS发送的顶点属性外部存储地址,根据该地址来读取三维坐标和属性信息,至于如何使用读取到的信息取决于用户的设定,本申请实施例对此不作限定。
GSC每用完一个顶点的三维空间位置和属性信息,将对应Wave中的参考计数值减1,当检测到参考计数值为0时,释放waves所占用的顶点缓存空间里的空间。示例性的,参见图11和图12所示,当wave2对应的参考计数值变为0时,则释放wave2这一行的空间。
图13和图14示意的装置是用于实现上述方法实施例的装置,其原理和计数效果和方法实施例是类似的。方法实施例中实现细节可为装置部分提供参考。
本申请实施例提供的DSC和HUM,接收到细分单元模块TS发送的待处理顶点的UV坐标;根据待处理顶点的UV坐标,判断待处理顶点是否为重复的顶点;若待处理顶点不是重复的顶点,则将待处理顶点的UV坐标发送至顶点计算单元,使得顶点计算单元根据待处理顶点的UV坐标,计算待处理顶点的三维坐标以及属性信息;若待处理顶点是重复的顶点,则不将待处理顶点的UV坐标发送至所示顶点计算单元。将与待处理顶点坐标相同的顶点的三维坐标以及属性信息,作为待处理顶点的三维坐标以及属性信息。使得顶点计算单元接收到的顶点均为互不相同的顶点,减少了顶点计算单元接收到的顶点数量,顶点计算单元的计算压力也随之减小。
应该理解的是,虽然如上的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
上述装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (10)
1.一种重复顶点检测方法,其特征在于,包括:
接收细分单元模块TS发送的待处理顶点的UV坐标;
根据所述待处理顶点的UV坐标,判断所述待处理顶点是否为重复的顶点;
若所述待处理顶点不是重复的顶点,则将所述待处理顶点的UV坐标发送至顶点计算单元,使得所述顶点计算单元根据所述待处理顶点的UV坐标,计算所述待处理顶点的三维坐标以及属性信息;若所述待处理顶点是重复的顶点,则将与所述待处理顶点坐标相同的顶点的三维坐标以及属性信息,作为所述待处理顶点的三维坐标以及属性信息。
2.根据权利要求1所述的方法,其特征在于,所述根据所述待处理顶点的UV坐标,判断所述待处理顶点是否为重复的顶点,包括:
在顶点缓存空间缓存的各个顶点的UV坐标中查找是否有顶点的UV坐标和所述待处理顶点的UV坐标相同;
若所述各个顶点的UV坐标中没有顶点的UV坐标和所述待处理顶点的UV坐标相同,则确定所述待处理顶点不是重复的顶点;
若所述各个顶点的UV坐标中有顶点的UV坐标和所述待处理顶点的UV坐标相同,则确定所述待处理顶点为重复的顶点。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
若在所述顶点缓存空间中查找到第一顶点的UV坐标和所述待处理顶点的UV坐标相同;则将所述第一顶点在外部存储空间的存储地址作为所述待处理顶点在外部存储空间的存储地址,并将所述待处理顶点在外部存储空间的存储地址发送给所述细分单元模块TS。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
若所述待处理顶点不是重复的顶点,则为所述待处理顶点分配在外部存储空间的存储地址,将所述待处理顶点在外部存储空间的存储地址发送给所述细分单元模块TS,并将所述待处理顶点的UV坐标和所述待处理顶点在外部存储空间的存储地址缓存在所述顶点缓存空间中。
5.根据权利要求2所述的方法,其特征在于,所述方法还包括:
若所述待处理顶点不是重复的顶点,在顶点管理缓存空间中查找管理所述待处理顶点的顶点管理条目,并将所述顶点管理条目中参考计数值加1,将所述顶点管理条目中未击中计数值加1,所述顶点管理缓存空间每一行用于存储一个顶点管理条目,每个顶点管理条目用于管理所述顶点缓存空间中处于相同行的顶点;
若所述待处理顶点是重复的顶点,在所述顶点管理缓存空间中查找管理所述待处理顶点的顶点管理条目,并将所述顶点管理条目中参考计数值加1;
相应的,所述将所述待处理顶点的UV坐标发送至顶点计算单元,包括:
当所述未击中计数值达到预设值时,将所述未击中计数值对应的顶点的UV坐标发送至顶点计算单元,所述未击中计数值对应的顶点包括所述待处理顶点。
6.一种区域着色器控制装置DSC,其特征在于,包括:顶点检测单元HMU、区域着色器控制包DCS_PACK以及区域着色器索引标签单元DSIDT:
所述区域着色器控制包DCS_PACK用于,接收细分单元模块TS发送的待处理顶点的UV坐标,还用于,通过所述区域着色器索引标签单元DSIDT将所述待处理顶点的UV坐标发送给所述顶点检测单元HMU;
所述顶点检测单元HMU用于,根据所述待处理顶点的UV坐标,判断所述待处理顶点是否为重复的顶点,若所述待处理顶点不是重复的顶点,所述顶点检测单元HMU则通过所述区域着色器索引标签单元DSIDT向所述区域着色器控制包DCS_PACK发送第一指示消息,所述第一指示消息用于指示所述待处理顶点不是重复的顶点,使得所述区域着色器控制包DCS_PACK接收到所述第一指示消息后,将所述待处理顶点的UV坐标发送至顶点计算单元,使得所述顶点计算单元根据所述待处理顶点的UV坐标,计算所述待处理顶点的三维坐标以及属性信息,若所述待处理顶点是重复的顶点,所述顶点检测单元HMU则通过所述区域着色器索引标签单元DSIDT向所述区域着色器控制包DCS_PACK发送第二指示消息,所述第二指示消息用于指示所述待处理顶点是重复的顶点,使得所述区域着色器控制包DCS_PACK接收到所述第二指示消息后,将与所述待处理顶点坐标相同的顶点的三维坐标以及属性信息,作为所述待处理顶点的三维坐标以及属性信息。
7.根据权利要求4所述的装置,其特征在于,所述顶点检测单元HMU包括:比较单元CMP、标志缓存单元TagRam、控制单元Control以及分配单元ALLOC_DSID;
所述比较单元CMP用于,接收所述区域着色器索引标签单元DSIDT发送的所述待处理顶点的UV坐标;
所述比较单元CMP还用于,向所述标志缓存单元TagRam发送匹配请求,所述匹配请求携带所述待处理顶点的UV坐标;
所述标志缓存单元TagRam用于,在接收到所述匹配请求后,在顶点缓存空间缓存的各个顶点的UV坐标中查找是否有顶点的UV坐标和所述待处理顶点的UV坐标相同;若所述各个顶点的UV坐标中没有顶点的UV坐标和所述待处理顶点的UV坐标相同,则确定所述待处理顶点不是重复的顶点,则向所述比较单元CMP发送匹配失败消息,若所述各个顶点的UV坐标中有顶点的UV坐标和所述待处理顶点的UV坐标相同,则确定所述待处理顶点为重复的顶点,则向所述比较单元CMP发送匹配成功消息,所述匹配成功消息携带所述顶点缓存空间中与所述待处理顶点重复的顶点所处的行数;
所述比较单元CMP还用于,在接收到所述匹配失败消息后,通过所述控制单元Control向所述区域着色器索引标签单元DSIDT发送所述第一指示消息;
所述比较单元CMP还用于,在接收到所述匹配成功消息后,通过所述控制单元Control向所述区域着色器索引标签单元DSIDT发送所述第二指示消息。
8.根据权利要求7所述的装置,其特征在于,
所述标志缓存单元TagRam还用于,若在所述顶点缓存空间中查找到第一顶点的UV坐标和所述待处理顶点的UV坐标相同;则将所述第一顶点在外部存储空间的存储地址作为所述待处理顶点在外部存储空间的存储地址,并通过所述控制单元Control、所述区域着色器索引标签单元DSIDT以及所述区域着色器控制包DCS_PACK将所述待处理顶点在外部存储空间的存储地址发送给所述细分单元模块TS。
9.根据权利要求7所述的装置,其特征在于,
所述控制单元Control还用于,接收到所述第一指示消息后,向所述分配单元ALLOC_DSID发送地址分配请求;
所述分配单元ALLOC_DSID用于,接收到所述地址分配请求后,为所述待处理顶点分配在外部存储空间的存储地址,并将所述待处理顶点在外部存储空间的存储地址发送给所述控制单元Control;
所述控制单元Control还用于通过所述区域着色器索引标签单元DSIDT以及所述区域着色器控制包DCS_PACK将所述待处理顶点在外部存储空间的存储地址发送给所述细分单元模块TS。
10.根据权利要求7所述的装置,其特征在于,
所述区域着色器索引标签单元DSIDT还用于,接收到所述第一指示消息后,在顶点管理缓存空间中查找管理所述待处理顶点的顶点管理条目,并将所述顶点管理条目中参考计数值加1,将所述顶点管理条目中未击中计数值加1;
所述区域着色器索引标签单元DSIDT还用于,接收到所述第二指示消息后,在所述顶点管理缓存空间中查找管理所述待处理顶点的顶点管理条目,并将所述顶点管理条目中参考计数值加1;
所述区域着色器索引标签单元DSIDT还用于,当检测到所述未击中计数值达到预设值时,将所述未击中计数值对应的顶点的UV坐标发送给区域着色器控制包DCS_PACK,使得所述区域着色器控制包DCS_PACK接收到所述第一指示消息,且接收到所述未击中计数值对应的顶点的UV坐标后,将所述未击中计数值对应的顶点的UV坐标发送到所述顶点计算单元。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202211108981.2A CN117745864A (zh) | 2022-09-13 | 2022-09-13 | 重复顶点检测方法和区域着色器控制装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202211108981.2A CN117745864A (zh) | 2022-09-13 | 2022-09-13 | 重复顶点检测方法和区域着色器控制装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN117745864A true CN117745864A (zh) | 2024-03-22 |
Family
ID=90279865
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202211108981.2A Pending CN117745864A (zh) | 2022-09-13 | 2022-09-13 | 重复顶点检测方法和区域着色器控制装置 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN117745864A (zh) |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN104025030A (zh) * | 2011-12-30 | 2014-09-03 | 英特尔公司 | 减少域着色器/镶嵌器调用 |
| CN110363856A (zh) * | 2018-04-05 | 2019-10-22 | 想象技术有限公司 | 混合硬件 |
| CN113012269A (zh) * | 2019-12-19 | 2021-06-22 | 中国科学院深圳先进技术研究院 | 基于gpu的三维图像数据渲染方法及设备 |
-
2022
- 2022-09-13 CN CN202211108981.2A patent/CN117745864A/zh active Pending
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN104025030A (zh) * | 2011-12-30 | 2014-09-03 | 英特尔公司 | 减少域着色器/镶嵌器调用 |
| CN110363856A (zh) * | 2018-04-05 | 2019-10-22 | 想象技术有限公司 | 混合硬件 |
| CN113012269A (zh) * | 2019-12-19 | 2021-06-22 | 中国科学院深圳先进技术研究院 | 基于gpu的三维图像数据渲染方法及设备 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10249087B2 (en) | Orthogonal-projection-based texture atlas packing of three-dimensional meshes | |
| JP5425541B2 (ja) | マルチプロセッサ・システム上でデータ・セットを区分化およびソートするための方法および装置 | |
| US11127205B2 (en) | Three-dimensional mesh segmentation | |
| WO2025200525A1 (zh) | 点云分割方法、装置、存储介质及电子设备 | |
| RU2487410C2 (ru) | Способы обработки ребер | |
| CN110368694B (zh) | 游戏场景的数据处理方法、装置、设备及可读存储介质 | |
| CN113343546A (zh) | 一种基于vbo的切削加工过程高效几何仿真方法 | |
| CN114119939B (zh) | 数据轻量化处理方法、装置、存储介质及电子设备 | |
| US9779547B2 (en) | Tessellation method for assigning a tessellation factor per point and device performing the method | |
| CN113284245B (zh) | 巷道三维模型构建方法、装置和电子设备 | |
| US10559125B2 (en) | System and method of constructing bounding volume hierarchy tree | |
| CN116129076B (zh) | 一种规则特征保持的建筑物Mesh模型简化方法 | |
| US9390554B2 (en) | Off chip memory for distributed tessellation | |
| WO2015100549A1 (zh) | 一种图数据查询方法及装置 | |
| CN108804383B (zh) | 基于度量空间的支撑点并行枚举方法及装置 | |
| CN110245129B (zh) | 一种分布式全局数据去重方法和装置 | |
| KR20220083556A (ko) | 희소 볼륨 기반 3d 포인트 클라우드 복셀화 방법 및 이를 이용한 메시 생성 방법 | |
| CN104809760A (zh) | 基于深度优先策略的地理空间三维外轮廓自动构建方法 | |
| CN113065036A (zh) | 一种度量空间支撑点性能衡量方法、装置及相关组件 | |
| Xu et al. | Fast and robust Booleans on polyhedra | |
| CN117215257A (zh) | 板材切割方法、装置、计算机设备、存储介质 | |
| CN108920105A (zh) | 基于社区结构的图数据分布式存储方法及装置 | |
| WO2026067562A1 (zh) | 图形处理器的三角形计数实现方法及装置 | |
| US8078826B2 (en) | Effective memory clustering to minimize page fault and optimize memory utilization | |
| CN115220657B (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 | ||
| CB02 | Change of applicant information |
Country or region after: China Address after: 200135, 11th Floor, Building 3, No. 889 Bibo Road, China (Shanghai) Pilot Free Trade Zone, Pudong New Area, Shanghai Applicant after: Granfei Intelligent Technology Co.,Ltd. Address before: 200135 Room 201, No. 2557, Jinke Road, China (Shanghai) pilot Free Trade Zone, Pudong New Area, Shanghai Applicant before: Gryfield Intelligent Technology Co.,Ltd. Country or region before: China |
|
| CB02 | Change of applicant information |