利索能及
我要发布
收藏
专利号: 2019111195608
申请人: 深圳市瑞立视多媒体科技有限公司
专利类型:发明专利
专利状态:已下证
更新日期:2026-04-09
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种水波纹渲染方法,其特征在于,所述方法包括如下步骤:

创建一个水面波纹着色器,在所述水面波纹着色器中创建一个水面材质球,将所述水面材质球放在一个预先创建的水面图层上;

获取所述水面图层中每个像素点的纹理坐标,对所述水面图层中每个像素点的纹理坐标进行偏移处理,以在所述水面图层中生成水面图像;

所述获取所述水面图层中每个像素点的纹理坐标,对所述水面图层中每个像素点的纹理坐标进行偏移处理,以在所述水面图层中生成水面图像的步骤包括:在所述水面图层上添加纹理,所述纹理划分为uv值向上偏移部分和uv值向下偏移部分,所述uv值表示纹理坐标,所述u代表水平方向,所述v代表垂直方向,所述uv值为水平方向和垂直方向的坐标值;

分别获取所述uv值向上偏移部分和所述uv值向下偏移部分中每个像素点的纹理坐标;

对所述uv值向上偏移部分中每个像素点的纹理坐标进行向上偏移处理,并对所述uv值向下偏移部分中每个像素点的纹理坐标进行向下偏移处理,得到所述水面图层中每个像素点进行偏移处理后的纹理坐标;

根据所述水面图层中每个像素点进行偏移处理后的纹理坐标和预设的噪声纹理数据,在所述水面图层中生成水面图像;

创建一个水底波纹着色器,在所述水底波纹着色器中创建一个水底材质球,将所述水底材质球放在一个预先创建的水底图层上;

获取所述水底图层中每个像素点的纹理坐标,对所述水底图层中每个像素点的纹理坐标进行偏移处理,以在所述水底图层中生成水底图像;

所述获取所述水底图层中每个像素点的纹理坐标,对所述水底图层中每个像素点的纹理坐标进行偏移处理,以在所述水底图层中生成水底图像的步骤包括:调用所述水底波纹着色器的顶点函数;

在所述水底波纹着色器的顶点函数中,将所述水底图层的顶点从模型空间转化为世界空间,得到所述水底图层中每个像素点的纹理坐标;

调用所述水底波纹着色器的片元函数,所述片元函数用于把模型空间上物体每个像素点上的颜色进行变换计算,得到一个颜色值并渲染到裁剪空间中对象对应的像素点上;

在所述水底波纹着色器的片元函数中,使用预设的时间函数、正弦函数和余弦函数对所述水底图层中每个像素点的纹理坐标进行偏移处理;

根据所述水底图层中每个像素点进行偏移处理后的纹理坐标,在所述水底图层中生成水底图像;

将所述水面图像和所述水底图像进行叠加,以生成目标水波纹图像。

2.如权利要求1所述的方法,其特征在于,所述创建一个水面波纹着色器,在所述水面波纹着色器中创建一个水面材质球,将所述水面材质球放在一个预先创建的水面图层上的步骤之前,还包括:接收图层创建指令;

根据所述图层创建指令创建一个水面图层和一个水底图层。

3.如权利要求1所述的方法,其特征在于,所述分别获取所述uv值向上偏移部分和所述uv值向下偏移部分中每个像素点的纹理坐标的步骤包括:调用所述水面波纹着色器的顶点函数;

在所述水面波纹着色器的顶点函数中,将所述uv值向上偏移部分的顶点从模型空间转化为世界空间,得到所述uv值向上偏移部分中每个像素点的纹理坐标,将所述uv值向下偏移部分的顶点从模型空间转化为世界空间,得到所述uv值向下偏移部分中每个像素点的纹理坐标。

4.如权利要求1所述的方法,其特征在于,所述对所述uv值向上偏移部分中每个像素点的纹理坐标进行向上偏移处理,并对所述uv值向下偏移部分中每个像素点的纹理坐标进行向下偏移处理,得到所述水面图层中每个像素点进行偏移处理后的纹理坐标的步骤包括:调用所述水面波纹着色器的片元函数,所述片元函数用于把模型空间上物体每个像素点上的颜色进行变换计算,得到一个颜色值并渲染到裁剪空间中对象对应的像素点上;

在所述水面波纹着色器的片元函数中,使用预设的时间函数对所述uv值向上偏移部分中每个像素点的纹理坐标进行向上偏移处理,并对所述uv值向下偏移部分中每个像素点的纹理坐标进行向下偏移处理,得到所述水面图层中每个像素点进行偏移处理后的纹理坐标。

5.如权利要求1所述的方法,其特征在于,所述根据所述水面图层中每个像素点进行偏移处理后的纹理坐标和预设的噪声纹理数据,在所述水面图层中生成水面图像的步骤包括:获取偏移后的所述水面图层中每个像素点的纹理坐标的水平分量值和垂直分量值,并读取预设的噪声纹理的灰度值;

将所述水平分量值与所述灰度值叠加,得到所述噪声纹理向上偏移的颜色值;

将所述垂直分量值与所述灰度值叠加,得到所述噪声纹理向下偏移的颜色值;

将所述噪声纹理向上偏移的颜色值乘以所述灰度值和第一预设权重,将所述噪声纹理向下偏移的颜色值乘以所述灰度值和第二预设权重,得到所述水面图层中每个像素点的颜色值;

根据所述水面图层中每个像素点进行偏移处理后的纹理坐标和所述水面图层中每个像素点的颜色值,在所述水面图层中生成水面图像。

6.一种水波纹渲染装置,其特征在于,所述装置包括:

水面图层处理模块,用于创建一个水面波纹着色器,在所述水面波纹着色器中创建一个水面材质球,将所述水面材质球放在一个预先创建的水面图层上;

水面图像生成模块,用于获取所述水面图层中每个像素点的纹理坐标,对所述水面图层中每个像素点的纹理坐标进行偏移处理,以在所述水面图层中生成水面图像;

所述获取所述水面图层中每个像素点的纹理坐标,对所述水面图层中每个像素点的纹理坐标进行偏移处理,以在所述水面图层中生成水面图像的步骤包括:在所述水面图层上添加纹理,所述纹理划分为uv值向上偏移部分和uv值向下偏移部分,所述uv值表示纹理坐标,所述u代表水平方向,所述v代表垂直方向,所述uv值为水平方向和垂直方向的坐标值;

分别获取所述uv值向上偏移部分和所述uv值向下偏移部分中每个像素点的纹理坐标;

对所述uv值向上偏移部分中每个像素点的纹理坐标进行向上偏移处理,并对所述uv值向下偏移部分中每个像素点的纹理坐标进行向下偏移处理,得到所述水面图层中每个像素点进行偏移处理后的纹理坐标;

根据所述水面图层中每个像素点进行偏移处理后的纹理坐标和预设的噪声纹理数据,在所述水面图层中生成水面图像;

水底图层处理模块,用于创建一个水底波纹着色器,在所述水底波纹着色器中创建一个水底材质球,将所述水底材质球放在一个预先创建的水底图层上;

水底图像生成模块,用于获取所述水底图层中每个像素点的纹理坐标,对所述水底图层中每个像素点的纹理坐标进行偏移处理,以在所述水底图层中生成水底图像;

所述获取所述水底图层中每个像素点的纹理坐标,对所述水底图层中每个像素点的纹理坐标进行偏移处理,以在所述水底图层中生成水底图像的步骤包括:调用所述水底波纹着色器的顶点函数;

在所述水底波纹着色器的顶点函数中,将所述水底图层的顶点从模型空间转化为世界空间,得到所述水底图层中每个像素点的纹理坐标;

调用所述水底波纹着色器的片元函数,所述片元函数用于把模型空间上物体每个像素点上的颜色进行变换计算,得到一个颜色值并渲染到裁剪空间中对象对应的像素点上;

在所述水底波纹着色器的片元函数中,使用预设的时间函数、正弦函数和余弦函数对所述水底图层中每个像素点的纹理坐标进行偏移处理;

根据根据所述水底图层中每个像素点进行偏移处理后的纹理坐标,在所述水底图层中生成水底图像;

叠加模块,用于将所述水面图像和所述水底图像进行叠加,以生成目标水波纹图像。

7.一种水波纹渲染设备,其特征在于,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的水波纹渲染程序,所述水波纹渲染程序被所述处理器执行时实现如权利要求1至5中任一项所述的水波纹渲染方法的步骤。

8.一种存储介质,其特征在于,所述存储介质上存储有水波纹渲染程序,所述水波纹渲染程序被处理器执行时实现如权利要求1至5中任一项所述的水波纹渲染方法的步骤。