扭曲效果生成方法、装置、设备和存储介质制造方法及图纸

技术编号:28061534 阅读:36 留言:0更新日期:2021-04-14 13:40
本发明专利技术实施例提供一种扭曲效果生成方法、装置、设备和存储介质,该方法包括:获取图像纹理;对图像纹理对应的纹理坐标进行扭曲处理,得到第一扭曲纹理坐标,扭曲处理依次包括水波纹扭曲、环形波纹扭曲以及螺旋扭曲;获取用户输入的第二扭曲纹理坐标,将第一扭曲纹理坐标与第二扭曲纹理坐标进行叠加,得到最终采样坐标;通过最终采样坐标对图像纹理进行采样,将采样结果输出到临时纹理缓存中;对临时纹理缓存中的采样结果进行径向扭曲处理得到混合扭曲后的图像纹理,在屏幕中显示混合扭曲后的图像纹理。采用本发明专利技术可以将多种扭曲算法自由组合,可以实现更加丰富逼真的画面旋转、波动等扭曲效果。扭曲效果。扭曲效果。

【技术实现步骤摘要】
扭曲效果生成方法、装置、设备和存储介质


[0001]本专利技术涉及图像处理
,尤其涉及一种扭曲效果生成方法、装置、设备和存储介质。

技术介绍

[0002]在相关技术中,在需要对渲染图像进行扭曲效果处理的场景中,往往只能采用一种扭曲效果处理方式对渲染图像进行处理,无法实现将多种扭曲效果进行融合的目的。如果仅采用单一一种扭曲效果处理方式对渲染图像进行处理,会导致得到的扭曲图像的扭曲效果较差,降低扭曲图像的图像质量。

技术实现思路

[0003]本专利技术实施例提供一种扭曲效果生成方法、装置、设备和存储介质,用以实现提高扭曲图像的扭曲效果,提高扭曲图像的图像质量。
[0004]第一方面,本专利技术实施例提供一种扭曲效果生成方法,该方法包括:获取图像纹理;对所述图像纹理对应的纹理坐标进行扭曲处理,得到第一扭曲纹理坐标,所述扭曲处理依次包括水波纹扭曲、环形波纹扭曲以及螺旋扭曲;获取用户输入的第二扭曲纹理坐标,将所述第一扭曲纹理坐标与所述用户输入的第二扭曲纹理坐标进行叠加,得到最终采样坐标;通过所述最终采样坐标对所述图像纹理进行采样,将采样结果输出到临时纹理缓存中;对所述临时纹理缓存中的采样结果进行径向扭曲处理得到混合扭曲后的图像纹理,在屏幕中显示所述混合扭曲后的图像纹理。
[0005]可选地,所述对所述图像纹理对应的纹理坐标进行扭曲处理,得到第一扭曲纹理坐标,还包括:按照扭曲处理的排序顺序,对所述图像纹理的纹理坐标进行扭曲处理,每当对所述图像纹理的纹理坐标进行一次扭曲处理时,将当前进行扭曲处理所得的图像纹理确定为下一次扭曲处理时使用的所述图像纹理。
[0006]可选地,所述扭曲处理包括水波纹扭曲效果,所述对所述图像纹理对应的纹理坐标进行扭曲处理,包括:对所述图像纹理中的每个像素点的初始纹理坐标进行水波纹扭曲计算,得到经过水波纹扭曲的第一扭曲向量;基于所述图像纹理中的各像素点的初始纹理坐标和所述第一扭曲向量,确定经过水波纹扭曲的纹理坐标。
[0007]可选地,所述获取用户输入的第二扭曲纹理坐标,将所述第一扭曲纹理坐标与所述用户输入的第二扭曲纹理坐标进行叠加,得到最终采样坐标,包括:获取用户输入的第二扭曲纹理坐标,所述第二扭曲纹理坐标包括红色r通道和绿色g通道的分量值;通过所述经过水波纹扭曲的纹理坐标,对所述第二扭曲纹理坐标进行采样,得到第三扭曲向量;将所述图像纹理中的各像素点的初始纹理坐标与对应的第三扭曲向量相加,得到经过水波纹扭曲的最终采样坐标。
[0008]可选地,所述对所述图像纹理中的每个像素点的初始纹理坐标进行水波纹扭曲计算,包括:
[0009]通过公式,对所述图像纹理中的每个像素点的初始纹理坐标进行水波纹扭曲计算;所述公式为:
[0010]所述公式为:
[0011]WaveDistortion.x

=sin(DistanceToCenter

Time*5)*0.2
[0012]WaveDistortion.x=WaveDistortion.x

+sin(CurrentTexcoord.y

Time*5)*0.2WaveDistortion.y

=cos(DistanceToCenter

Time*5)*0.2
[0013]WaveDistortion.y=WaveDistortion.y

+cos(CurrentTexcoord.x

Time*5)*0.2
[0014]其中,WaveDistortion.x为所述图像纹理中的任一像素点的初始纹理坐标在水平方向上的最终偏移分量,WaveDistortion.y为所述图像纹理中的任一像素点的初始纹理坐标在竖直方向上的最终偏移分量,DistanceToCenter为所述图像纹理中当前像素点到中心点之间的距离,CurrentTexcoord.x和CurrentTexcoord.y为所述图像纹理中当前像素点的初始纹理坐标,Time为程序启动时刻到对所述图像纹理渲染的时刻之间的时间差。
[0015]可选地,所述扭曲效果处理包括环形波纹扭曲效果,所述对所述图像纹理对应的纹理坐标进行扭曲处理,包括:对所述图像纹理中的每个像素点的初始纹理坐标进行环形波纹扭曲计算,得到经过环形波纹扭曲的第四扭曲向量;基于所述图像纹理中的各像素点的初始纹理坐标和所述第四扭曲向量,确定经过环形波纹扭曲的纹理坐标。
[0016]可选地,所述获取用户输入的第二扭曲纹理坐标,将所述第一扭曲纹理坐标与所述用户输入的第二扭曲纹理坐标进行叠加,得到最终采样坐标,包括:获取用户输入的第五扭曲纹理坐标,所述第五扭曲纹理坐标包括红色r通道和绿色g通道的分量值;通过所述经过环形波纹扭曲的纹理坐标,对所述第五扭曲纹理坐标进行采样,得到第六扭曲向量;将所述图像纹理中的各像素点的初始纹理坐标与对应的第六扭曲向量相加,得到经过环形波纹扭曲的最终采样坐标。
[0017]可选地,所述对所述图像纹理中的每个像素点的初始纹理坐标进行环形波纹扭曲计算,包括:
[0018]通过公式,对所述图像纹理中的每个像素点的初始纹理坐标进行环形波纹扭曲计算;所述公式为:
[0019]WaveDistortion.x=sin(DistanceToCenter

Time*5)*0.2WaveDistortion.y=sin(DistanceToCenter

Time*5)*0.2
[0020]其中,WaveDistortion.x为所述图像纹理中的任一像素点的初始纹理坐标在水平方向上的最终偏移分量,WaveDistortion.y为所述图像纹理中的任一像素点的初始纹理坐标在竖直方向上的最终偏移分量,Time为程序启动时刻到对所述图像纹理渲染的时刻之间的时间差。可选地,所述扭曲效果处理包括螺旋扭曲效果,所述对所述图像纹理对应的纹理坐标进行扭曲处理,包括:对所述图像纹理中的每个像素点的初始纹理坐标进行螺旋扭曲计算,得到经过螺旋扭曲的第七扭曲向量;基于所述图像纹理中的各像素点的初始纹理坐标和所述第七扭曲向量,确定经过螺旋扭曲的纹理坐标。
[0021]可选地,所述对所述图像纹理中的每个像素点的初始纹理坐标进行螺旋扭曲计算,包括:
[0022]通过公式,对所述图像纹理中的每个像素点的初始纹理坐标进行螺旋扭曲计算;所述公式为:
[0023]DeltaUV=CurrentTexcoord

DistortCenter
[0024]RotatedDistortion.x=cos(RotateAngle)*DeltaUV.x

sin(RotateAngle)*DeltaUV.y
[0025]RotatedDistortion.y=sin(RotateAngle)*DeltaUV.x
...

【技术保护点】

【技术特征摘要】
1.一种扭曲效果生成方法,其特征在于,包括:获取图像纹理;对所述图像纹理对应的纹理坐标进行扭曲处理,得到第一扭曲纹理坐标,所述扭曲处理依次包括水波纹扭曲、环形波纹扭曲以及螺旋扭曲;获取用户输入的第二扭曲纹理坐标,将所述第一扭曲纹理坐标与所述第二扭曲纹理坐标进行叠加,得到最终采样坐标;通过所述最终采样坐标对所述图像纹理进行采样,将采样结果输出到临时纹理缓存中;对所述临时纹理缓存中的采样结果进行径向扭曲处理得到混合扭曲后的图像纹理,在屏幕中显示所述混合扭曲后的图像纹理。2.根据权利要求1所述的方法,其特征在于,所述对所述图像纹理对应的纹理坐标进行扭曲处理,得到第一扭曲纹理坐标,还包括:按照扭曲处理的排序顺序,对所述图像纹理的纹理坐标进行扭曲处理,每当对所述图像纹理的纹理坐标进行一次扭曲处理时,将当前进行扭曲处理所得的图像纹理确定为下一次扭曲处理时使用的所述图像纹理。3.根据权利要求2所述的方法,其特征在于,所述扭曲处理包括水波纹扭曲效果,所述对所述图像纹理对应的纹理坐标进行扭曲处理,包括:对所述图像纹理中的每个像素点的初始纹理坐标进行水波纹扭曲计算,得到经过水波纹扭曲的第一扭曲向量;基于所述图像纹理中的各像素点的初始纹理坐标和所述第一扭曲向量,确定经过水波纹扭曲的纹理坐标。4.根据权利要求3所述的方法,其特征在于,所述获取用户输入的第二扭曲纹理坐标,将所述第一扭曲纹理坐标与所述第二扭曲纹理坐标进行叠加,得到最终采样坐标,包括:获取用户输入的第二扭曲纹理坐标,所述第二扭曲纹理坐标包括红色r通道和绿色g通道的分量值;通过所述经过水波纹扭曲的纹理坐标,对所述第二扭曲纹理坐标进行采样,得到第三扭曲向量;将所述图像纹理中的各像素点的初始纹理坐标与对应的第三扭曲向量相加,得到经过水波纹扭曲的最终采样坐标。5.根据权利要求3所述的方法,其特征在于,所述对所述图像纹理中的每个像素点的初始纹理坐标进行水波纹扭曲计算,包括:通过公式,对所述图像纹理中的每个像素点的初始纹理坐标进行水波纹扭曲计算;所述公式为:WaveDistortion.x

=sin(DistanceToCenter

Time*5)*0.2WaveDistortion.x=WaveDistortion.x

sin(CurrentTexcoord.y

Time*5)*0.2WaveDistortion.y

=cos(DistanceToCenter

Time*5)*0.2WaveDistortion.y=WaveDistortion.y

cos(CurrentTexcoord.x

Time*5)*0.2其中,WaveDistortion.x为所述图像纹理中的任一像素点的初始纹理坐标在水平方向上的最终偏移分量,WaveDistortion.y为所述图像纹理中的任一像素点的初始纹理坐标在
竖直方向上的最终偏移分量,DistanceToCenter为所述图像纹理中当前像素点到中心点之间的距离,CurrentTexcoord.x和CurrentTexcoord.y为所述图像纹理中当前像素点的初始纹理坐标,Time为程序启动时刻到对所述图像纹理渲染的时刻之间的时间差,WaveDistortion.x

为基于DistanceToCenter和Time确定的值,WaveDistortion.y

为基于DistanceToCenter和Time确定的值。6.根据权利要求2所述的方法,其特征在于,所述扭曲效果处理包括环形波纹扭曲效果,所述对所述图像纹理对应的纹理坐标进行扭曲处理,包括:对所述图像纹理中的每个像素点的初始纹理坐标进行环形波纹扭曲计算,得到经过环形波纹扭曲的第四扭曲向量;基于所述图像纹理中的各像素点的初始纹理坐标和所述第四扭曲向量,确定经过环形波纹扭曲的纹理坐标。7.根据权利要求6所述的方法,其特征在于,所述获取用户输入的第二扭曲纹理坐标,将所述第一扭曲纹理坐标与所述第二扭曲纹理坐标进行叠加,得到最终采样坐标,包括:获取用户输入的第二扭曲纹理坐标,所述第二扭曲纹理坐标包括红色r通道和绿色g通道的分量值;通过所述经过环形波纹扭曲的纹理坐标,对所述第二扭曲纹理坐标进行采样,得到第六扭曲向量;将所述图像纹理中的各像素点的初始纹理坐标与对应的第六扭曲向量相加,得到经过环形波纹扭曲的最终采样坐标。8.根据权利要求6所述的方法,其特征在于,所述对所述图像纹理中的每个像素点的初始纹理坐标进行环形波纹扭曲计算,包括:通过公式,对所述图像纹理中的每个像素点的初始纹理坐标进行环形波纹扭曲计算;所述公式为:WaveDistortion...

【专利技术属性】
技术研发人员:姜明余
申请(专利权)人:成都完美时空网络技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1