图像渲染方法、装置、设备及存储介质制造方法及图纸

技术编号:23401577 阅读:44 留言:0更新日期:2020-02-22 13:41
本申请实施例公开了一种图像渲染方法、装置、设备及存储介质,属于图像处理技术领域。方法包括:确定在同一平面上排布的多个位置点;对于多个位置点中的每个位置点:根据多个第一特征点以及所述多个第一特征点的第一噪声值,选取位于同一直线上的多个第一特征点作为采样点;根据当前设置的渲染参数,对每个采样点的第一噪声值进行修改,得到每个采样点的第二噪声值,采样点的第二噪声值指示体积云在采样点的厚度;根据每个采样点的第二噪声值,获取位置点的像素值;根据多个位置点的像素值生成体积云图像。修改第一噪声值得到第二噪声值,渲染出的体积云图像发生变化。当渲染参数动态变化时,第二噪声值动态变化,从而渲染出动态变化的体积云。

Image rendering methods, devices, devices and storage media

【技术实现步骤摘要】
图像渲染方法、装置、设备及存储介质
本申请涉及图像处理
,特别涉及一种图像渲染方法、装置、设备及存储介质。
技术介绍
体渲染技术(VolumeRendering)是一种常用的体积云渲染技术。利用体渲染技术可以在界面中渲染出体积云,模拟真实云雾半透明、无规则的表现效果,而如何使渲染出的体积云更加真实,成为当前亟需解决的问题。由于采用柏林噪声算法,生成的柏林噪声值具有良好的随机性和连续性,因此,目前采用柏林噪声算法来渲染体积云。如图1所示,采用柏林噪声算法,生成纹理数据,该纹理数据包括多个特征点以及该多个特征点的柏林噪声值,确定在同一平面上依次排布的多个位置点,根据多个位置点中的任一位置点,从三维纹理图片中选取多个特征点作为采样点,该多个采样点位于同一直线上;获取每个采样点的噪声值,该噪声值指示体积云在该采样点的厚度。根据每个采样点的噪声值获取每个采样点对应的颜色值;将多个采样点的颜色值进行叠加,将叠加后的颜色值作为该位置点的像素值,根据多个位置点的像素值生成体积云图像。采用上述方法生成的纹理数据中的噪声值是固定不变的,因此,生成的体积云图像中的体积云也是固定不变的,若要体积云的形状发生变化,需要重新生成纹理数据,但是生成纹理数据的运算量较大,应用效果较差。
技术实现思路
本申请实施例提供了一种图像渲染方法、装置、设备及存储介质,解决了相关技术存在的改变体积云形状,需要的运算量较大的问题。所述技术方案如下:一方面,提供了一种图像渲染方法,所述方法包括:确定在同一平面上排布的多个位置点;对于所述多个位置点中的每个位置点:根据多个第一特征点以及所述多个第一特征点的第一噪声值,选取位于同一直线上的多个第一特征点作为采样点;根据当前设置的渲染参数,对每个采样点的第一噪声值进行修改,得到所述每个采样点的第二噪声值,所述采样点的第二噪声值指示体积云在所述采样点的厚度;根据所述每个采样点的第二噪声值,获取所述位置点的像素值;根据所述多个位置点的像素值生成体积云图像。在一种可能实现方式中,所述采用沃利噪声算法,生成第三纹理数据,包括:将目标空间划分为多个单位立方体,在每个单位立方体内随机选取一个第三特征点;确定选取的多个第三特征点的第三噪声值,所述第三特征点的第三噪声值与所述目标空间内的特征点构成的特征点集满足以下关系:其中,value为所述第三特征点的第三噪声值,sd为所述第三特征点与所述特征点集的最短距离;根据所述每个第三特征点的第三噪声值,生成所述第三纹理数据。在一种可能实现方式中,所述第一特征点的第一噪声值、所述第二特征点的第二噪声值和所述第三特征点的第三噪声值满足以下关系:Mix(P1)=remap(Perlin(P2),1-Worley(P3),1,0,1);其中,P1为所述第一特征点,Mix(P1)为所述第一特征点的第一噪声值,P2为所述第二特征点,Perlin(P2)为所述第二特征点的第二噪声值,P3为所述第三特征点,Worley(P3)为所述第三特征点的第三噪声值;remap为映射函数,remap(value,a,b,c,d)指示将value从[a,b]的区间内映射到[c,d]的区间内,a、b、c、d为任意数值。在一种可能实现方式中,所述第四特征点的第四噪声值、所述第四特征点的高度值和所述第四特征点的腐蚀参数满足以下关系:FErode(P4)=mix(Erode(P4),1-Erode(P4),fh);mix(a,b,x)=(1-x)·a+x·b;fh=clamp(10·h(P4),0,1);其中,P4为所述第四特征点,FErode(P4)为所述第四特征点的腐蚀参数,Erode(P4)为所述第四特征点的第四噪声值,fh为目标参数,h(P4)为所述第四特征点的高度值,clamp(a,b,c)表示将a限制在[b,c]的区间内,a、b、c为任意数值,mix为混合函数。在一种可能实现方式中,所述第二特征点的第二噪声值、所述第三特征点的第三噪声值和所述第五特征点的第五噪声值满足以下关系:base(P5)=remap(Perlin(P2),1-Worley(P3),1,0,1);其中,P2为所述第二特征点,Perlin(P2)为所述第二特征点的第二噪声值,P3为所述第三特征点,Worley(P3)为所述第三特征点的第三噪声值,P5为所述第五特征点,base(P5)为所述第五特征点的第五噪声值,remap为映射函数,remap(value,a,b,c,d)指示将value从[a,b]的区间内映射到[c,d]的区间内,a、b、c、d为任意数值。在一种可能实现方式中,所述第四特征点的腐蚀参数、所述第五特征点的第五噪声值和所述第一特征点的第一噪声值满足以下关系:Mix(P1)=remap(2·base(P5)-FErode(P4)·(1-base(P5)),0.2·FErode(P4),1,0,1);其中,P1为所述第一特征点,Mix(P1)为所述第一特征点的第一噪声值,P5为所述第五特征点,base(P5)为所述第五特征点的第五噪声值,P4为所述第四特征点,FErode(P4)为所述第四特征点的腐蚀参数,remap为映射函数,remap(value,a,b,c,d)指示将value从[a,b]的区间内映射到[c,d]的区间内,a、b、c、d为任意数值。在一种可能实现方式中,所述类型参数与所述类型参数对应的梯度满足以下关系:gra=fs·gras+fsc·grasc+fc·grac;fs=1-clamp(2·Type,0,1);fsc=1-2·|Type-0.5|;fsc=2·clamp(Type-0.5,0,1);其中,Type为所述类型参数,gra为所述类型参数对应的梯度,fs为第一体积云类型对应的第一权重,fsc为第二体积云类型对应的第二权重,fc为第二体积云类型对应的第三权重,gras为所述第一体积云类型对应的梯度,grasc为所述第二体积云类型对应的梯度,grac为所述第三体积云类型对应的梯度,clamp(a,b,c)表示将a限制在[b,c]的区间内,a、b、c为任意数值,|a|表示a的绝对值。在一种可能实现方式中,所述第一影响参数、所述类型参数、所述体积云的梯度和所述体积云的高度值满足以下关系:其中,P为采样点,FType(P)为所述采样点的第一影响参数,smooth函数为平滑函数,clamp(a,b,c)表示将a限制在[b,c]的区间内,a、b、c为任意数值,grax为所述梯度的x分量、gray为所述梯度的y分量、graz为所述梯度的z分量、graw为所述梯度的w分量,h(P)为所述采样点的高度值。在一种可能实现方式中,所述第二噪声值、所述第一噪声值和所述第一影响参数满足以下关系:W(本文档来自技高网...

【技术保护点】
1.一种图像渲染方法,其特征在于,所述方法包括:/n确定在同一平面上排布的多个位置点;/n对于所述多个位置点中的每个位置点:/n根据多个第一特征点以及所述多个第一特征点的第一噪声值,选取位于同一直线上的多个第一特征点作为采样点;/n根据当前设置的渲染参数,对每个采样点的第一噪声值进行修改,得到所述每个采样点的第二噪声值,所述采样点的第二噪声值指示体积云在所述采样点的厚度;/n根据所述每个采样点的第二噪声值,获取所述位置点的像素值;/n根据所述多个位置点的像素值生成体积云图像。/n

【技术特征摘要】
1.一种图像渲染方法,其特征在于,所述方法包括:
确定在同一平面上排布的多个位置点;
对于所述多个位置点中的每个位置点:
根据多个第一特征点以及所述多个第一特征点的第一噪声值,选取位于同一直线上的多个第一特征点作为采样点;
根据当前设置的渲染参数,对每个采样点的第一噪声值进行修改,得到所述每个采样点的第二噪声值,所述采样点的第二噪声值指示体积云在所述采样点的厚度;
根据所述每个采样点的第二噪声值,获取所述位置点的像素值;
根据所述多个位置点的像素值生成体积云图像。


2.根据权利要求1所述的方法,其特征在于,所述根据多个第一特征点以及所述多个第一特征点的第一噪声值,选取位于同一直线上的多个第一特征点作为采样点之前,所述方法还包括:
采用噪声算法,生成第一纹理数据,所述第一纹理数据包括所述多个第一特征点以及所述多个第一特征点的第一噪声值。


3.根据权利要求2所述的方法,其特征在于,所述采用噪声算法,生成第一纹理数据,包括:
采用柏林噪声算法,生成第二纹理数据,所述第二纹理数据包括多个第二特征点以及所述多个第二特征点的第二噪声值;
采用沃利噪声算法,生成第三纹理数据,所述第三纹理数据包括多个第三特征点以及所述多个第三特征点的第三噪声值,所述多个第二特征点与所述多个第三特征点一一对应;
将所述多个第二特征点的第二噪声值与所述第三多个特征点的第三噪声值进行融合,得到所述多个第一特征点的第一噪声值;
根据所述多个第一特征点的第一噪声值,生成所述第一纹理数据。


4.根据权利要求3所述的方法,其特征在于,所述将所述多个第二特征点的第二噪声值与所述第三多个特征点的第三噪声值进行融合,得到所述多个第一特征点的第一噪声值,包括:
采用腐蚀噪声算法,生成第四纹理数据,所述第四纹理数据包括多个第四特征点以及所述多个第四特征点的第四噪声值;
根据所述多个第四特征点的第四噪声值和每个第四特征点的高度值,获取所述每个第四特征点的腐蚀参数;
将所述多个第二特征点的第二噪声值与所述多个第三特征点的第三噪声值进行融合,得到多个第五特征点的第五噪声值;
根据每个第四特征点的腐蚀参数,对所述多个第五特征点的第五噪声值进行腐蚀处理,得到所述多个第一特征点的第一噪声值。


5.根据权利要求2所述的方法,其特征在于,所述选取位于同一直线上的多个第一特征点作为采样点,包括:
在渲染区域中选取位于同一直线上的多个采样点,所述渲染区域采用第一坐标系,所述第一纹理数据采用第二坐标系;
根据所述多个采样点在所述第一坐标系中的坐标以及所述第一坐标系和所述第二坐标系的映射关系,选取所述多个采样点在所述第一纹理数据中对应的采样点。


6.根据权利要求5所述的方法,其特征在于,所述根据所述多个采样点在所述第一坐标系中的位置以及所述第一坐标系和所述第二坐标系的映射关系,选取所述多个采样点在所述第一纹理数据中对应的采样点之后,所述方法还包括:
按照目标数值,对所述第一纹理数据中选取的多个采样点的坐标进行调整,根据调整后的多个坐标,在所述第一纹理数据中重新选取所述多个坐标对应的采样点。


7.根据权利要求5所述的方法,其特征在于,所述在渲染区域中选取位于同一直线上的多个采样点之前,所述方法...

【专利技术属性】
技术研发人员:蔡鸿钦
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东;44

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

1