CN110473281B - 三维模型的描边处理方法、装置、处理器及终端 - Google Patents
三维模型的描边处理方法、装置、处理器及终端 Download PDFInfo
- Publication number
- CN110473281B CN110473281B CN201810439705.1A CN201810439705A CN110473281B CN 110473281 B CN110473281 B CN 110473281B CN 201810439705 A CN201810439705 A CN 201810439705A CN 110473281 B CN110473281 B CN 110473281B
- Authority
- CN
- China
- Prior art keywords
- edge
- dimensional model
- pixel
- edge position
- cached
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/02—Non-photorealistic rendering
Abstract
本发明公开了一种三维模型的描边处理方法、装置、处理器及终端。该方法包括:采用三维模型的表面上每个像素的法线向量与视线向量之间的夹角检测三维模型的第一边缘位置,并按照第一边缘位置进行描边处理,得到第一描边结果;采用三维模型在深度缓冲区中缓存的像素检测三维模型的第二边缘位置,并按照第二边缘位置进行描边处理,得到第二描边结果;对第一描边结果和第二描边结果进行叠加处理,得到待显示的描边结果。本发明解决了相关技术中所提供的描边方式无法同时满足提升描边效果和降低系统性能消耗的需求的技术问题。
Description
技术领域
本发明涉及计算机领域,具体而言,涉及一种三维模型的描边处理方法、装置、处理器及终端。
背景技术
卡通渲染的描边技术一直是卡通渲染研究领域的核心问题,如何能够高效地实现良好的描边效果是卡通渲染研究领域的重要课题。
相关技术中提供了如下卡通渲染的描边方式:
方式一,法线外拓法,使用该方式对模型进行描边需要渲染两个批次。第一个批次负责渲染模型,第二个批次负责渲染描边。该方式的缺陷在于:由于需要对每个模型进行两个批次的渲染,因此,对系统性能的消耗较大,而且无法产生内部轮廓线。
方式二,Matcap和轮廓线的方法,该方式利用面法线方向和光线方向的夹角来侦测模型边缘位置,并最终对该位置进行描边处理。该方式的缺陷在于:在模型表面较为平整的位置处会出现一定程度的显示瑕疵,而且轮廓线不明显。
方式三,基于深度缓冲的方法,该方式利用深度缓冲,对深度缓冲进行边缘检测,最终得到描边线。该方式的缺陷在于:无法产生清晰的内部描边线。
方式四,高斯模糊外拓法,该方式利用动态模糊算法对纯色的模型进行模糊处理,然后再叠加回原来的画面中,以得到描边的效果。该方式的缺陷在于:对系统性能的消耗巨大。
方式五,图像后处理法,该方式利用最终渲染贴图的颜色变化进行边缘提取,最终渲染出描边效果。该方式的缺陷在于:描边效果不可控,容易在不需要描边的位置处产生边缘。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明至少部分实施例提供了一种三维模型的描边处理方法、装置、处理器及终端,以至少解决相关技术中所提供的描边方式无法同时满足提升描边效果和降低系统性能消耗的需求的技术问题。
根据本发明其中一实施例,提供了一种三维模型的描边处理方法,包括:
采用三维模型的表面上每个像素的法线向量与视线向量之间的夹角检测三维模型的第一边缘位置,并按照第一边缘位置进行描边处理,得到第一描边结果;采用三维模型在深度缓冲区中缓存的像素检测三维模型的第二边缘位置,并按照第二边缘位置进行描边处理,得到第二描边结果;对第一描边结果和第二描边结果进行叠加处理,得到待显示的描边结果。
可选地,采用三维模型的表面上每个像素的法线向量与视线向量之间的夹角检测三维模型的第一边缘位置,并按照第一边缘位置进行描边处理,得到第一描边结果包括:通过预设夹紧函数将三维模型的表面上每个像素的法线向量与视线向量的点积结果映射在与预设夹紧函数对应的取值范围内,得到第一边缘位置,其中,取值范围为预设最小值参数与1之间的任意浮点数;通过预设幂函数对第一边缘位置进行非线性拟合处理,得到第一描边结果。
可选地,采用三维模型在深度缓冲区中缓存的像素检测第二边缘位置,并按照第二边缘位置进行描边处理,得到第二描边结果包括:对三维模型在深度缓冲区中缓存的每个像素进行N次纹理采样,得到第二边缘位置,其中,N为正整数且N<9;按照第二边缘位置进行描边处理,得到第二描边结果。
可选地,对三维模型在深度缓冲区中缓存的每个像素进行N次纹理采样,得到第二边缘位置包括:采用罗伯茨算子对三维模型在深度缓冲区中缓存的每个像素进行四次纹理采样,计算得到深度缓冲区中缓存的每个像素的梯度幅值;根据每个像素的梯度幅值进行边缘检测,得到第二边缘位置。
可选地,在计算得到深度缓冲区中缓存的每个像素的梯度幅值之后,还包括以下至少之一:采用叠加开方根曲线调整深度缓冲区中缓存的每个像素的梯度幅值;采用深度差最小阈值调整深度缓冲区中缓存的每个像素的梯度幅值;采用雾深度阈值调整深度缓冲区中缓存的每个像素的梯度幅值。
根据本发明其中一实施例,还提供了一种三维模型的描边处理装置,包括:
第一处理模块,用于采用三维模型的表面上每个像素的法线向量与视线向量之间的夹角检测三维模型的第一边缘位置,并按照第一边缘位置进行描边处理,得到第一描边结果;第二处理模块,用于采用三维模型在深度缓冲区中缓存的像素检测三维模型的第二边缘位置,并按照第二边缘位置进行描边处理,得到第二描边结果;叠加模块,用于对第一描边结果和第二描边结果进行叠加处理,得到待显示的描边结果。
可选地,第一处理模块包括:第一处理单元,用于通过预设夹紧函数将三维模型的表面上每个像素的法线向量与视线向量的点积结果映射在与预设夹紧函数对应的取值范围内,得到第一边缘位置,其中,取值范围为预设最小值参数与1之间的任意浮点数;第二处理单元,用于通过预设幂函数对第一边缘位置进行非线性拟合处理,得到第一描边结果。
可选地,第二处理模块包括:第三处理单元,用于对三维模型在深度缓冲区中缓存的每个像素进行N次纹理采样,得到第二边缘位置,其中,N为正整数且N<9;第四处理单元,用于按照第二边缘位置进行描边处理,得到第二描边结果。
可选地,第三处理单元包括:第一处理子单元,用于采用罗伯茨算子对三维模型在深度缓冲区中缓存的每个像素进行四次纹理采样,计算得到深度缓冲区中缓存的每个像素的梯度幅值;第二处理子单元,用于根据每个像素的梯度幅值进行边缘检测,得到第二边缘位置。
可选地,第二处理模块还包括:第五处理单元,用于采用叠加开方根曲线调整深度缓冲区中缓存的每个像素的梯度幅值;和/或,采用深度差最小阈值调整深度缓冲区中缓存的每个像素的梯度幅值;和/或,采用雾深度阈值调整深度缓冲区中缓存的每个像素的梯度幅值。
根据本发明其中一实施例,还提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行上述三维模型的描边处理方法。
根据本发明其中一实施例,还提供了一种处理器,处理器用于运行程序,其中,程序运行时执行上述三维模型的描边处理方法。
根据本发明其中一实施例,还提供了一种终端,包括:一个或多个处理器,存储器,显示装置以及一个或多个程序,其中,一个或多个程序被存储在存储器中,并且被配置为由一个或多个处理器执行,一个或多个程序用于执行上述三维模型的描边处理方法。
在本发明至少部分实施例中,采用三维模型的表面上每个像素的法线向量与视线向量之间的夹角检测三维模型的第一边缘位置,并按照第一边缘位置进行描边处理,得到第一描边结果,以及采用三维模型在深度缓冲区中缓存的像素检测三维模型的第二边缘位置,并按照第二边缘位置进行描边处理,得到第二描边结果的方式,通过对第一描边结果和第二描边结果进行叠加处理,得到待显示的描边结果,达到了同时兼顾三维模型描边效果和系统性能消耗的目的,从而实现了提升描边效果、降低系统性能消耗的技术效果,进而解决了相关技术中所提供的描边方式无法同时满足提升描边效果和降低系统性能消耗的需求的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明其中一实施例的三维模型的描边处理方法的流程图;
图2是根据本发明其中一实施例的三维模型的描边处理装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明其中一实施例,提供了一种三维模型的描边处理方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明其中一实施例的三维模型的描边处理方法的流程图,如图1所示,该方法包括如下步骤:
步骤S12,采用三维模型的表面上每个像素的法线向量与视线向量之间的夹角检测三维模型的第一边缘位置,并按照第一边缘位置进行描边处理,得到第一描边结果;
步骤S14,采用三维模型在深度缓冲区中缓存的像素检测三维模型的第二边缘位置,并按照第二边缘位置进行描边处理,得到第二描边结果;
步骤S16,对第一描边结果和第二描边结果进行叠加处理,得到待显示的描边结果。
通过上述步骤,可以采用三维模型的表面上每个像素的法线向量与视线向量之间的夹角检测三维模型的第一边缘位置,并按照第一边缘位置进行描边处理,得到第一描边结果,以及采用三维模型在深度缓冲区中缓存的像素检测三维模型的第二边缘位置,并按照第二边缘位置进行描边处理,得到第二描边结果的方式,通过对第一描边结果和第二描边结果进行叠加处理,得到待显示的描边结果,达到了同时兼顾三维模型描边效果和系统性能消耗的目的,从而实现了提升描边效果、降低系统性能消耗的技术效果,进而解决了相关技术中所提供的描边方式无法同时满足提升描边效果和降低系统性能消耗的需求的技术问题。
可选地,在步骤S12中,采用三维模型的表面上每个像素的法线向量与视线向量之间的夹角检测三维模型的第一边缘位置,并按照第一边缘位置进行描边处理,得到第一描边结果可以包括以下执行步骤:
步骤S121,通过预设夹紧函数将三维模型的表面上每个像素的法线向量与视线向量的点积结果映射在与预设夹紧函数对应的取值范围内,得到第一边缘位置,其中,取值范围为预设最小值参数与1之间的任意浮点数;
步骤S122,通过预设幂函数对第一边缘位置进行非线性拟合处理,得到第一描边结果。
在通常情况下,面向摄像头的三维模型表面的世界空间法线向量与视线向量之间的夹角逐渐增大(即从0度到90度)。通过如下预设夹紧(clamp)函数能够将三维模型的表面上每个像素的法线向量与视线向量的点积结果映射在与预设夹紧函数对应的取值范围内,以得到第一边缘位置:
NoV=clamp(dot(view_dir,normal_world),FresnelMin,1f);
其中,view_dir参数表示视线向量,normal_world参数表示三维模型表面的世界空间法线向量,clamp函数表示view_dir与normal_world的点积结果的取值范围被限定在FresnelMin与1f之间,FresnelMin为预设最小值参数。如果dot(view_dir,normal_world)的取值位于FresnelMin与1f之间,则上述函数的返回值为dot(view_dir,normal_world)的取值。如果dot(view_dir,normal_world)的取值小于FresnelMin,则上述函数的返回值为FresnelMin。如果dot(view_dir,normal_world)的取值大于1f,则上述函数的返回值为1f。
在相关技术中,dot(view_dir,normal_world)的取值范围被固定在0到1之间,而通过设置FresnelMin,可以使得dot(view_dir,normal_world)的最小取值根据实际需求灵活调节。通过FresnelMin参数对法线向量与视线向量的点积的最小值域进行限制,由此避免现有技术方案会产生较大黑块的问题。
然后,再通过预设幂函数(即以e为底数,(-NoV)*(FresnelSize+0.775f)为指数)对第一边缘位置进行非线性拟合处理,得到第一描边结果(其包含内部轮廓的描边):
lerp_factor=exp((-NoV)*(FresnelSize+0.775f))*FresnelIntensity;
其中,FresnelSize用于调整边缘轮廓线的聚集程度,FresnelIntensity用于调整描边效果的显示强度。通过该公式可以提升三维模型描边的处理效率。
可选地,在步骤S14中,采用三维模型在深度缓冲区中缓存的像素检测第二边缘位置,并按照第二边缘位置进行描边处理,得到第二描边结果可以包括以下执行步骤:
步骤S141,对三维模型在深度缓冲区中缓存的每个像素进行N次纹理采样,得到第二边缘位置,其中,N为正整数且N<9;
步骤S142,按照第二边缘位置进行描边处理,得到第二描边结果。
深度是指三维空间中的像素点与摄像机之间的距离。深度缓冲区中存储有每个绘制在屏幕上的像素点的深度值。深度值越大,则距离摄像机越远。如果启用深度缓冲区,则在绘制每个像素之前,需要将该像素的深度值与深度缓冲区中已经存储的像素的深度值进行比较。如果当前绘制的像素的深度值小于深度缓冲区中已经存储的像素的深度值,则采用当前绘制的像素的深度值来取代深度缓冲区中已经存储的像素的深度值。反之,则确定当前绘制的像素被遮挡,并将当前绘制的像素的深度值和颜色值加以丢弃。
可选地,在步骤S141中,对三维模型在深度缓冲区中缓存的每个像素进行N次纹理采样,得到第二边缘位置可以包括以下执行步骤:
步骤S1411,采用罗伯茨算子对三维模型在深度缓冲区中缓存的每个像素进行四次纹理采样,计算得到深度缓冲区中缓存的每个像素的梯度幅值;
步骤S1412,根据每个像素的梯度幅值进行边缘检测,得到第二边缘位置。
在一个可选实施例中,利用深度缓冲区进行边缘检测算法,放弃常用的Sobel算子,这个算子需要对深度缓冲区内的每个像素进行9次纹理采样的操作。而是通过使用罗伯茨(Roberts)算子,只需要对深度缓冲区内的每个像素进行4次纹理采样即可实现边缘检测,得到第二边缘位置。
Roberts算子可以表示为:
其中,x和y为绘制在屏幕上的像素点的屏幕坐标,上述公式为x和y方向偏导数计算模板,可以采用数据公式表述其每个像素点的梯度幅值为:
G[i,j]=|f[i,j]-f[i+1,j+1]|+|f[i+1,j]-f[i,j-1]|;
其中,f[i,j]表示Roberts算子中i行j列的元素颜色,f[i,j],f[i+1,j+1],f[i+1,j]和f[i,j-1]表示4次纹理采样。具体地,f[1,1]表示Sx的第1行第1列(即1),f[2,2]表示Sx的第2行第2列(即-1),f[2,1]表示Sy的第2行第1列(即1),以及f[1,2]表示Sy的第1行第2列(即-1)。
可选地,在步骤S1411,计算得到深度缓冲区中缓存的每个像素的梯度幅值之后,还可以包括以下执行步骤至少之一:
步骤S1413,采用叠加开方根曲线调整深度缓冲区中缓存的每个像素的梯度幅值;
步骤S1414,采用深度差最小阈值调整深度缓冲区中缓存的每个像素的梯度幅值;
步骤S1415,采用雾深度阈值调整深度缓冲区中缓存的每个像素的梯度幅值。
在通过Roberts算子对深度缓冲区内的每个像素进行4次纹理采样实现边缘检测,得到G[i,j]之后,还可以对G[i,j]进行以下优化至少之一,以达到更佳的描边效果:
优化方式一,采用叠加开方根曲线来处理深度差值,从而对G[i,j]结果进行调节,以避免描边效果的深、浅、粗、细差距较大的问题;
优化方式二,采用深度差最小阈值对G[i,j]结果进行调节,以避免手机深度缓冲精度不足导致的错误描边问题和平视时部分水平面会变黑问题;
优化方式三,采用雾深度阈值对G[i,j]结果进行调节,以避免在游戏场景内浓雾状态下显示三维模型轮廓的问题。
根据本发明其中一实施例,提供了一种三维模型的描边处理装置的实施例,图2是根据本发明其中一实施例的三维模型的描边处理装置的结构框图,如图2所示,该装置包括:第一处理模块10,用于采用三维模型的表面上每个像素的法线向量与视线向量之间的夹角检测三维模型的第一边缘位置,并按照第一边缘位置进行描边处理,得到第一描边结果;第二处理模块20,用于采用三维模型在深度缓冲区中缓存的像素检测三维模型的第二边缘位置,并按照第二边缘位置进行描边处理,得到第二描边结果;叠加模块30,用于对第一描边结果和第二描边结果进行叠加处理,得到待显示的描边结果。
可选地,第一处理模块10包括:第一处理单元(图中未示出),用于通过预设夹紧函数将三维模型的表面上每个像素的法线向量与视线向量的点积结果映射在与预设夹紧函数对应的取值范围内,得到第一边缘位置,其中,取值范围为预设最小值参数与1之间的任意浮点数;第二处理单元(图中未示出),用于通过预设幂函数对第一边缘位置进行非线性拟合处理,得到第一描边结果。
可选地,第二处理模块20包括:第三处理单元(图中未示出),用于对三维模型在深度缓冲区中缓存的每个像素进行N次纹理采样,得到第二边缘位置,其中,N为正整数且N<9;第四处理单元(图中未示出),用于按照第二边缘位置进行描边处理,得到第二描边结果。
可选地,第三处理单元(图中未示出)包括:第一处理子单元(图中未示出),用于采用罗伯茨算子对三维模型在深度缓冲区中缓存的每个像素进行四次纹理采样,计算得到深度缓冲区中缓存的每个像素的梯度幅值;第二处理子单元(图中未示出),用于根据每个像素的梯度幅值进行边缘检测,得到第二边缘位置。
可选地,第二处理模块20还可以包括:第五处理单元(图中未示出),用于采用叠加开方根曲线调整深度缓冲区中缓存的每个像素的梯度幅值;和/或,采用深度差最小阈值调整深度缓冲区中缓存的每个像素的梯度幅值;和/或,采用雾深度阈值调整深度缓冲区中缓存的每个像素的梯度幅值。
根据本发明其中一实施例,还提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行上述三维模型的描边处理方法。上述存储介质可以包括但不限于:U盘、只读存储器(ROM)、随机存取存储器(RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
根据本发明其中一实施例,还提供了一种处理器,处理器用于运行程序,其中,程序运行时执行上述三维模型的描边处理方法。上述处理器可以包括但不限于:微处理器(MCU)或可编程逻辑器件(FPGA)等的处理装置。
根据本发明其中一实施例,还提供了一种终端,包括:一个或多个处理器,存储器,显示装置以及一个或多个程序,其中,一个或多个程序被存储在存储器中,并且被配置为由一个或多个处理器执行,一个或多个程序用于执行上述三维模型的描边处理方法。在一些实施例中,上述终端可以是智能手机(例如:Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,简称为MID)、PAD等终端设备。上述显示装置可以是触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与终端的用户界面进行交互。此外,上述终端还可以包括:输入/输出接口(I/O接口)、通用串行总线(USB)端口、网络接口、电源和/或相机。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (11)
1.一种三维模型的描边处理方法,其特征在于,包括:
采用三维模型的表面上每个像素的法线向量与视线向量之间的夹角检测所述三维模型的第一边缘位置,并按照所述第一边缘位置进行描边处理,得到第一描边结果;
采用所述三维模型在深度缓冲区中缓存的像素检测所述三维模型的第二边缘位置,并按照所述第二边缘位置进行描边处理,得到第二描边结果;
对所述第一描边结果和所述第二描边结果进行叠加处理,得到待显示的描边结果;
其中,采用所述三维模型的表面上每个像素的法线向量与视线向量之间的夹角检测所述三维模型的第一边缘位置,并按照所述第一边缘位置进行描边处理,得到所述第一描边结果包括:
通过预设夹紧函数将所述三维模型的表面上每个像素的法线向量与视线向量的点积结果映射在与所述预设夹紧函数对应的取值范围内,得到所述第一边缘位置,其中,所述取值范围为预设最小值参数与1之间的任意浮点数;通过预设幂函数对所述第一边缘位置进行非线性拟合处理,得到所述第一描边结果。
2.根据权利要求1所述的方法,其特征在于,采用所述三维模型在所述深度缓冲区中缓存的像素检测所述第二边缘位置,并按照所述第二边缘位置进行描边处理,得到所述第二描边结果包括:
对所述三维模型在所述深度缓冲区中缓存的每个像素进行N次纹理采样,得到所述第二边缘位置,其中,N为正整数且N<9;
按照所述第二边缘位置进行描边处理,得到所述第二描边结果。
3.根据权利要求2所述的方法,其特征在于,对所述三维模型在所述深度缓冲区中缓存的每个像素进行N次纹理采样,得到所述第二边缘位置包括:
采用罗伯茨算子对所述三维模型在所述深度缓冲区中缓存的每个像素进行四次纹理采样,计算得到所述深度缓冲区中缓存的每个像素的梯度幅值;
根据每个像素的梯度幅值进行边缘检测,得到所述第二边缘位置。
4.根据权利要求3所述的方法,其特征在于,在计算得到所述深度缓冲区中缓存的每个像素的梯度幅值之后,还包括以下至少之一:
采用叠加开方根曲线调整所述深度缓冲区中缓存的每个像素的梯度幅值;
采用深度差最小阈值调整所述深度缓冲区中缓存的每个像素的梯度幅值;
采用雾深度阈值调整所述深度缓冲区中缓存的每个像素的梯度幅值。
5.一种三维模型的描边处理装置,其特征在于,包括:
第一处理模块,用于采用三维模型的表面上每个像素的法线向量与视线向量之间的夹角检测所述三维模型的第一边缘位置,并按照所述第一边缘位置进行描边处理,得到第一描边结果;
第二处理模块,用于采用所述三维模型在深度缓冲区中缓存的像素检测所述三维模型的第二边缘位置,并按照所述第二边缘位置进行描边处理,得到第二描边结果;
叠加模块,用于对所述第一描边结果和所述第二描边结果进行叠加处理,得到待显示的描边结果;
其中,所述第一处理模块还用于:通过预设夹紧函数将所述三维模型的表面上每个像素的法线向量与视线向量的点积结果映射在与所述预设夹紧函数对应的取值范围内,得到所述第一边缘位置,其中,所述取值范围为预设最小值参数与1之间的任意浮点数;通过预设幂函数对所述第一边缘位置进行非线性拟合处理,得到所述第一描边结果。
6.根据权利要求5所述的装置,其特征在于,所述第二处理模块包括:
第三处理单元,用于对所述三维模型在所述深度缓冲区中缓存的每个像素进行N次纹理采样,得到所述第二边缘位置,其中,N为正整数且N<9;
第四处理单元,用于按照所述第二边缘位置进行描边处理,得到所述第二描边结果。
7.根据权利要求6所述的装置,其特征在于,所述第三处理单元包括:
第一处理子单元,用于采用罗伯茨算子对所述三维模型在所述深度缓冲区中缓存的每个像素进行四次纹理采样,计算得到所述深度缓冲区中缓存的每个像素的梯度幅值;
第二处理子单元,用于根据每个像素的梯度幅值进行边缘检测,得到所述第二边缘位置。
8.根据权利要求7所述的装置,其特征在于,所述第二处理模块还包括:
第五处理单元,用于采用叠加开方根曲线调整所述深度缓冲区中缓存的每个像素的梯度幅值;和/或,采用深度差最小阈值调整所述深度缓冲区中缓存的每个像素的梯度幅值;和/或,采用雾深度阈值调整所述深度缓冲区中缓存的每个像素的梯度幅值。
9.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至4中任意一项所述的三维模型的描边处理方法。
10.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至4中任意一项所述的三维模型的描边处理方法。
11.一种终端,其特征在于,包括:一个或多个处理器,存储器,显示装置以及一个或多个程序,其中,所述一个或多个程序被存储在所述存储器中,并且被配置为由所述一个或多个处理器执行,所述一个或多个程序用于执行权利要求1至4中任意一项所述的三维模型的描边处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810439705.1A CN110473281B (zh) | 2018-05-09 | 2018-05-09 | 三维模型的描边处理方法、装置、处理器及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810439705.1A CN110473281B (zh) | 2018-05-09 | 2018-05-09 | 三维模型的描边处理方法、装置、处理器及终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110473281A CN110473281A (zh) | 2019-11-19 |
CN110473281B true CN110473281B (zh) | 2023-08-22 |
Family
ID=68503669
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810439705.1A Active CN110473281B (zh) | 2018-05-09 | 2018-05-09 | 三维模型的描边处理方法、装置、处理器及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110473281B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111127614B (zh) * | 2019-12-25 | 2023-07-21 | 上海米哈游天命科技有限公司 | 模型的描边处理方法、装置、存储介质及终端 |
CN112070873B (zh) * | 2020-08-26 | 2021-08-20 | 完美世界(北京)软件科技发展有限公司 | 一种模型的渲染方法和装置 |
CN112862930B (zh) * | 2021-03-15 | 2024-04-12 | 网易(杭州)网络有限公司 | 游戏场景的处理方法、装置及电子设备 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005100177A (ja) * | 2003-09-25 | 2005-04-14 | Sony Corp | 画像処理装置およびその方法 |
CN101510295B (zh) * | 2009-04-01 | 2013-01-23 | 苏州有色金属研究院有限公司 | 基于PCIe和Vision Assistant的机器视觉系统的设计方法 |
CN101588445B (zh) * | 2009-06-09 | 2011-01-19 | 宁波大学 | 一种基于深度的视频感兴趣区域提取方法 |
CN102945565B (zh) * | 2012-10-18 | 2016-04-06 | 深圳大学 | 一种物体的三维真实感重建方法、系统及电子设备 |
CN103546758B (zh) * | 2013-09-29 | 2016-09-14 | 北京航空航天大学 | 一种快速深度图序列帧间模式选择分形编码方法 |
CN107483771A (zh) * | 2017-06-13 | 2017-12-15 | 青岛海信电器股份有限公司 | 一种图像生成的方法和图像显示装置 |
-
2018
- 2018-05-09 CN CN201810439705.1A patent/CN110473281B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110473281A (zh) | 2019-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6612266B2 (ja) | 3dモデルのレンダリング方法および装置ならびに端末デバイス | |
CN109961406B (zh) | 一种图像处理的方法、装置及终端设备 | |
US9311746B2 (en) | Systems and methods for generating a 3-D model of a virtual try-on product | |
AU2018214005A1 (en) | Systems and methods for generating a 3-D model of a virtual try-on product | |
US10430948B2 (en) | Method and system for preparing text images for optical-character recognition | |
US9959600B2 (en) | Motion image compensation method and device, display device | |
CN110473281B (zh) | 三维模型的描边处理方法、装置、处理器及终端 | |
US9437034B1 (en) | Multiview texturing for three-dimensional models | |
US11055829B2 (en) | Picture processing method and apparatus | |
CN108734078B (zh) | 图像处理方法、装置、电子设备、存储介质及程序 | |
US20200218343A1 (en) | Gaze point compensation method and apparatus in display device, and display device | |
CN110992247A (zh) | 一种人像照片头发拉直特效的实现方法及系统 | |
CN110807787B (zh) | 一种天际线提取方法及系统 | |
CN113570725A (zh) | 基于聚类的三维表面重建方法、装置、服务器及存储介质 | |
CN112102169A (zh) | 一种红外图像拼接方法、装置和存储介质 | |
Liu et al. | Stereo-based bokeh effects for photography | |
CN115330803B (zh) | 一种表面缺陷数据增强方法、装置、电子设备及存储介质 | |
Zhang et al. | Region-adaptive texture-aware image resizing | |
JP7125847B2 (ja) | 3dモデル表示装置、3dモデル表示方法及び3dモデル表示プログラム | |
EP3211600B1 (en) | Adaptive depth-guided non-photorealistic rendering method, corresponding computer program product, computer-readable carrier medium and device | |
Liu et al. | Albedo assisted high-quality shape recovery from 4D light fields | |
CN112232143B (zh) | 一种人脸点云优化方法、装置、机器可读介质及设备 | |
CN115996285B (zh) | 相位分布获取方法、装置、电子设备及存储介质 | |
Jun et al. | Deblurring texture extraction from digital aerial image by reforming “Steep edge” curve | |
CN112395912B (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 |