一种光照渲染方法、装置、电子设备及存储介质制造方法及图纸

技术编号:37319568 阅读:10 留言:0更新日期:2023-04-21 23:00
本公开涉及一种光照渲染方法、装置、电子设备及存储介质,该方法包括获取三维虚拟场景中的光照传输信息;光照传输信息包括三维虚拟场景中多个预设位置中每个预设位置处的局部光照传输信息和每个预设位置处的全局光照传输信息;根据待渲染画面对应的局部三维虚拟场景,从多个预设位置中确定目标位置;基于全局光源的实时光照参数、目标位置处的局部光照传输信息和目标位置处的全局光照传输信息,对局部三维虚拟场景进行光照渲染,生成渲染后的渲染画面。本公开的光照渲染方法,实时渲染过程中不仅所需内存小、计算量小,且在全局光源光照的基础上考虑了局部静态光源对其周围物体的光照影响,从而可以极大地增强渲染画面的真实感,在提高渲染效率的同时提升光照渲染效果。果。果。

【技术实现步骤摘要】
一种光照渲染方法、装置、电子设备及存储介质


[0001]本公开涉及互联网
,尤其涉及一种光照渲染方法、装置、电子设备及存储介质。

技术介绍

[0002]近年来,随着互联网技术的发展、个人终端的普及以及流量成本的降低,游戏产业呈现出蓬勃发展的趋势。其中,3D游戏以其画面表现力强,光影效果好等优势逐渐成为了当今游戏市场的主流。人们在体验游戏的同时,对游戏的视觉效果也提出了更高的要求。
[0003]因此,如何更好的在游戏过程中对游戏画面的光照进行渲染,以展现出更为真实的场景,是亟待解决的问题。

技术实现思路

[0004]本公开提供一种光照渲染方法、装置、电子设备及存储介质,本公开的技术方案如下:
[0005]根据本公开实施例的第一方面,提供一种光照渲染方法,包括:
[0006]获取三维虚拟场景中的光照传输信息;光照传输信息包括三维虚拟场景中多个预设位置中每个预设位置处的局部光照传输信息和每个预设位置处的全局光照传输信息;局部光照传输信息基于三维虚拟场景中的局部静态光源确定,全局光照传输信息基于三维虚拟场景中的全局光源确定;
[0007]根据待渲染画面对应的局部三维虚拟场景,从多个预设位置中确定目标位置;
[0008]基于全局光源的实时光照参数、目标位置处的局部光照传输信息和目标位置处的全局光照传输信息,对局部三维虚拟场景进行光照渲染,生成渲染后的渲染画面。
[0009]在一些可能的实施例中,每个预设位置处的光照传输信息基于光照探针的方式预先烘焙得到;局部静态光源来自三维虚拟场景中的静态发光对象;方法还包括:
[0010]在三维虚拟场景中布置多个光照探针;
[0011]将多个光照探针中每个光照探针所处的位置确定为多个预设位置中每个预设位置;
[0012]在静态发光对象处于发光状态的情况下,确定每个光照探针在多个预设方向中每个预设方向上的局部光照亮度信息;局部光照亮度信息包括红绿蓝三个通道的颜色信息和光照强度信息;
[0013]将每个光照探针的局部光照亮度信息,作为每个光照探针对应的预设位置处的局部光照传输信息。
[0014]在一些可能的实施例中,方法还包括:
[0015]在静态发光对象处于不发光状态的情况下,确定每个光照探针在每个预设方向上的球谐系数和每个光照探针在每个预设方向上的天光可见性信息;
[0016]将每个光照探针在每个预设方向的球谐系数和每个光照探针在每个预设方向上
的天光可见性信息,作为每个光照探针对应的预设位置处的全局光照传输信息。
[0017]在一些可能的实施例中,确定每个光照探针在每个预设方向上的球谐系数和每个光照探针在每个预设方向上的天光可见性信息,包括:
[0018]针对每个光照探针,以光照探针的中心为起始点,确定多条第一射线;多条第一射线的方向均匀分布在光照探针周围的各个方向;
[0019]针对多条第一射线中的每条第一射线,若第一射线与三维虚拟场景中的对象存在第一撞击点,确定第一撞击点的位置信息和第一撞击点的颜色信息,确定第一射线的天光可见性信息为天光不可见;
[0020]以第一撞击点的位置信息为起始点,确定多条第二射线;多条第二射线中每条第二射线与三维虚拟场景中的对象存在第二撞击点;
[0021]基于第一射线的方向球谐系数、第一撞击点的颜色信息、第一射线与多条第二射线中每条第二射线之间的夹角和第二射线的数量,确定光照探针在第一射线的第一射线方向上的球谐系数;
[0022]基于光照探针在多条第一射线中每条第一射线的第一射线方向上的球谐系数,确定光照探针在每个预设方向上的球谐系数;
[0023]基于光照探针在多条第一射线中每条第一射线的第一射线方向上的天光可见性信息,确定光照探针在每个预设方向上的天光可见性信息。
[0024]在一些可能的实施例中,基于光照探针在多条第一射线中每条第一射线的第一射线方向上的球谐系数,确定光照探针在每个预设方向上的球谐系数,包括:
[0025]针对每个预设方向,确定预设方向与每条第一射线的第一射线方向之间的余弦值;
[0026]基于每条第一射线对应的余弦值,对光照探针在每条第一射线的第一射线方向上的球谐系数进行加权求和,得到求和结果;
[0027]将求和结果除以多条第一射线中第一射线的数量,得到光照探针在预设方向上的球谐系数。
[0028]在一些可能的实施例中,目标位置包括多个目标位置;基于全局光源的实时光照参数、目标位置处的局部光照传输信息和目标位置处的全局光照传输信息,对局部三维虚拟场景进行光照渲染,生成渲染后的渲染画面,包括:
[0029]基于多个目标位置中每个目标位置处的局部光照传输信息,生成第一体纹理图;第一体纹理图中每个第一大像素与每个目标位置一一对应;每个第一大像素包括四个第一小像素,四个第一小像素分别存储每个第一大像素对应的目标位置在每个预设方向上的红绿蓝三个通道的颜色信息和光照强度信息;
[0030]基于每个目标位置处的全局光照传输信息,生成第二体纹理图和第三体纹理图;第二体纹理图中每个第二大像素与每个目标位置一一对应;每个第二大像素包括四个第二小像素,四个第二小像素分别存储每个第二大像素对应的目标位置在四个预设方向中每个预设方向上的二阶球谐系数;第三体纹理图中每个像素与每个目标位置一一对应,每个像素存储每个像素对应的目标位置在每个预设方向上的天光可见性信息;
[0031]基于第一体纹理图、第二体纹理图、第三体纹理图和全局光源的实时光照参数,对局部三维虚拟场景进行光照渲染,生成渲染后的渲染画面。
[0032]在一些可能的实施例中,实时光照参数包括实时颜色信息和实时方向信息;基于第一体纹理图、第二体纹理图、第三体纹理图和全局光源的实时光照参数,对局部三维虚拟场景进行光照渲染,生成渲染后的渲染画面,包括:
[0033]针对待渲染画面中每个待渲染像素,在第一体纹理图中确定待渲染像素对应的第一目标大像素,在第二体纹理图中确定渲染像素对应的第二目标大像素,在第三体纹理图中确定渲染像素对应的第三目标像素;
[0034]基于实时颜色信息、实时方向信息、第二目标大像素存储的四个预设方向中每个预设方向上的二阶球谐系数和第三目标像素存储的每个预设方向上的天光可见性信息,确定初始光照渲染参数;
[0035]将第一目标大像素存储的每个预设方向上的红绿蓝三个通道的颜色信息和光照强度信息,与初始光照渲染参数进行叠加,得到待渲染像素的目标光照渲染参数;
[0036]基于每个待渲染像素的目标光照渲染参数,对每个待渲染像素进行光照渲染,得到渲染后的渲染画面。
[0037]根据本公开实施例的第二方面,提供一种光照渲染装置,包括:
[0038]获取模块,被配置为执行获取三维虚拟场景中的光照传输信息;光照传输信息包括三维虚拟场景中多个预设位置中每个预设位置处的局部光照传输信息和每个预设位置处的全局光照传输信息;局部光照传本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种光照渲染方法,其特征在于,包括:获取三维虚拟场景中的光照传输信息;所述光照传输信息包括所述三维虚拟场景中多个预设位置中每个预设位置处的局部光照传输信息和所述每个预设位置处的全局光照传输信息;所述局部光照传输信息基于所述三维虚拟场景中的局部静态光源确定,所述全局光照传输信息基于所述三维虚拟场景中的全局光源确定;根据待渲染画面对应的局部三维虚拟场景,从所述多个预设位置中确定目标位置;基于所述全局光源的实时光照参数、所述目标位置处的局部光照传输信息和所述目标位置处的全局光照传输信息,对所述局部三维虚拟场景进行光照渲染,生成渲染后的渲染画面。2.根据权利要求1所述的光照渲染方法,其特征在于,所述每个预设位置处的光照传输信息基于光照探针的方式预先烘焙得到;所述局部静态光源来自所述三维虚拟场景中的静态发光对象;所述方法还包括:在所述三维虚拟场景中布置多个光照探针;将所述多个光照探针中每个光照探针所处的位置确定为所述多个预设位置中每个预设位置;在所述静态发光对象处于发光状态的情况下,确定所述每个光照探针在多个预设方向中每个预设方向上的局部光照亮度信息;所述局部光照亮度信息包括红绿蓝三个通道的颜色信息和光照强度信息;将所述每个光照探针在所述每个预设方向上的局部光照亮度信息,作为所述每个光照探针对应的预设位置处的局部光照传输信息。3.根据权利要求2所述的光照渲染方法,其特征在于,所述方法还包括:在所述静态发光对象处于不发光状态的情况下,确定所述每个光照探针在所述每个预设方向上的球谐系数和所述每个光照探针在所述每个预设方向上的天光可见性信息;将所述每个光照探针在所述每个预设方向的球谐系数和所述每个光照探针在所述每个预设方向上的天光可见性信息,作为所述每个光照探针对应的预设位置处的全局光照传输信息。4.根据权利要求3所述的光照渲染方法,其特征在于,所述确定所述每个光照探针在所述每个预设方向上的球谐系数和所述每个光照探针在所述每个预设方向上的天光可见性信息,包括:针对所述每个光照探针,以所述光照探针的中心为起始点,确定多条第一射线;所述多条第一射线的方向均匀分布在所述光照探针周围的各个方向;针对所述多条第一射线中的每条第一射线,若所述第一射线与所述三维虚拟场景中的对象存在第一撞击点,确定所述第一撞击点的位置信息和所述第一撞击点的颜色信息,确定所述第一射线的天光可见性信息为天光不可见;以所述第一撞击点的位置信息为起始点,确定多条第二射线;所述多条第二射线中每条第二射线与所述三维虚拟场景中的对象存在第二撞击点;基于所述第一射线的方向球谐系数、所述第一撞击点的颜色信息、所述第一射线与所述多条第二射线中每条第二射线之间的夹角和所述第二射线的数量,确定所述光照探针在所述第一射线的第一射线方向上的球谐系数;
基于所述光照探针在所述多条第一射线中每条第一射线的第一射线方向上的球谐系数,确定所述光照探针在所述每个预设方向上的球谐系数;基于所述光照探针在所述多条第一射线中每条第一射线的第一射线方向上的天光可见性信息,确定所述光照探针在所述每个预设方向上的天光可见性信息。5.根据权利要求4所述的光照渲染方法,其特征在于,所述基于所述光照探针在所述多条第一射线中每条第一射线的第一射线方向上的球谐系数,确定所述光照探针在所述每个预设方向上的球谐系数,包括:针对所述每个预设方向,确定所述预设方向与所述每条第一射线的第一射线方向之间的余弦值;基于所述每条第一射线对应的余弦值,对所述光照探针在所述每条第一射线的第一射线方向上的球谐系数进行加权求和,得到求和结果;将所述求和结果除以所述多条第一射线中第一射线的数量,得到所述光照探针在...

【专利技术属性】
技术研发人员:朱雨乐
申请(专利权)人:星臻科技上海有限公司
类型:发明
国别省市:

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

1