图像渲染方法、装置、电子设备、存储介质及程序产品与流程
- 国知局
- 2024-09-14 14:49:23
本技术涉及计算机图形图像技术,尤其涉及一种图像渲染方法、装置、电子设备、计算机可读存储介质及计算机程序产品。
背景技术:
1、基于图形处理硬件的显示技术,扩展了感知环境以及获取信息的渠道,尤其是虚拟场景的显示技术,能够根据实际应用需求实现受控于用户或人工智能的虚拟对象之间的多样化的交互,具有各种典型的应用场景,例如在游戏等的虚拟场景中,能够模拟虚拟对象之间的真实的对战过程。
2、随着计算机技术的不断发展,应用程序(尤其是游戏类的应用程序)所呈现的图像(包括各种各样的虚拟对象)也越来越精细,虚拟对象能够通过反射平面投影出反射对象,例如虚拟场景中的树木通过湖面投影出树木的倒影,以形象生动地展示虚拟场景。
3、相关技术中,在虚拟场景存在多个反射平面时,虽然虚拟对象(包括多个反射源)能够通过反射平面进行投影反射,但是所呈现出的反射图像有错误,从而这种方式会造成大量的计算资源的浪费,进而影响使用体验。
技术实现思路
1、本技术实施例提供一种图像渲染方法、装置、电子设备、计算机可读存储介质及计算机程序产品,能够正确处理反射源与多个反射平面的关系,以准确呈现反射图像。
2、本技术实施例的技术方案是这样实现的:
3、本技术实施例提供一种图像渲染方法,包括:
4、获取待反射图像,其中,所述待反射图像包括多个反射源以及多个反射平面;
5、对每个所述反射源进行基于所述多个反射平面的投影处理,得到每个所述反射源对应的多个反射点;
6、从每个所述反射源对应的多个反射点中,确定每个所述反射源的目标反射点;
7、基于每个所述反射源以及每个所述反射源的目标反射点,确定所述待反射图像的反射贴图;
8、基于所述待反射图像的反射贴图,对所述待反射图像进行图像渲染处理,得到所述待反射图像对应的反射图像。
9、本技术实施例提供一种图像渲染装置,包括:
10、获取模块,用于获取待反射图像,其中,所述待反射图像包括多个反射源以及多个反射平面;
11、投影模块,用于对每个所述反射源进行基于所述多个反射平面的投影处理,得到每个所述反射源对应的多个反射点;
12、从每个所述反射源对应的多个反射点中,确定每个所述反射源的目标反射点;
13、反射模块,用于基于每个所述反射源以及每个所述反射源的目标反射点,确定所述待反射图像的反射贴图;
14、渲染模块,用于基于所述待反射图像的反射贴图,对所述待反射图像进行图像渲染处理,得到所述待反射图像对应的反射图像。
15、上述技术方案中,所述投影模块还用于确定每个所述反射源的屏幕空间坐标,并确定每个所述反射平面的世界坐标;
16、将每个所述反射源的屏幕空间坐标转换到目标空间坐标系中,得到每个所述反射源的第一目标空间坐标;
17、将每个所述反射平面的世界坐标转换到所述目标空间坐标系中,得到每个所述反射平面的第二目标空间坐标;
18、基于每个所述反射源的第一目标空间坐标以及每个所述反射平面的第二目标空间坐标,对每个所述反射源进行物理投影处理,得到每个所述反射源对应的多个反射点。
19、上述技术方案中,所述投影模块还用于针对所述多个反射平面中的任一所述反射平面执行以下处理:
20、在所述目标空间坐标系下,基于所述反射平面的第二目标空间坐标以及每个所述反射源的第一目标空间坐标进行投影处理,得到每个所述反射源相对于所述反射平面的对称点;
21、在所述目标空间坐标系下,构建所述对称点与相机的连线;
22、将所述连线与所述反射平面的交点,确定为每个所述反射源对应的反射点。
23、上述技术方案中,所述投影模块还用于确定每个所述反射点与相机之间的距离;
24、当所述多个反射点中的任一所述反射点在所述反射平面的范围内、且任一所述反射点与相机之间的距离最小时,将任一所述反射点确定为每个所述反射源的目标反射点。
25、上述技术方案中,所述将任一所述反射点确定为每个所述反射源的目标反射点之前,所述投影模块还用于确定所述反射平面的原点坐标以及所述反射平面的尺寸;
26、基于所述反射平面的原点坐标以及所述反射平面的尺寸,确定所述反射平面的范围;
27、当任一所述反射点落入所述反射平面的范围时,确定所述多个反射点中的任一所述反射点在所述反射平面的范围内。
28、上述技术方案中,所述反射模块还用于针对所述多个反射源中的任一所述反射源执行以下处理:
29、基于所述反射源与所述目标反射点的对应关系,确定所述反射源的颜色值;
30、将所述反射源的颜色值确定为所述目标反射点的颜色值;
31、将所述目标反射点的颜色值写入渲染目标中,得到所述待反射图像的反射贴图。
32、上述技术方案中,所述反射模块还用于对所述反射源的屏幕空间坐标进行基于编码格式的编码处理,得到所述反射源的编码坐标;
33、基于所述反射源与所述目标反射点的对应关系,将所述反射源的编码坐标写入所述反射源的目标反射点的屏幕空间坐标,得到投影缓冲;
34、基于所述投影缓冲进行解码处理,得到所述反射源的解码坐标;
35、基于所述反射源的解码坐标采样屏幕颜色,得到所述反射源的颜色值。
36、上述技术方案中,所述反射源的屏幕空间坐标包括横轴坐标值以及纵轴坐标值;所述反射模块还用于当所述反射平面与水平面之间的夹角小于角度阈值时,将所述反射源的纵轴坐标值的整数部分存入所述编码格式的第一编码位,将所述反射源的纵轴坐标值的小数部分存入所述编码格式的第二编码位,将所述反射源的横轴坐标值的整数部分存入所述编码格式的第三编码位,将所述反射源的横轴坐标值的小数部分存入所述编码格式的第四编码位,得到所述反射源的编码坐标。
37、上述技术方案中,所述反射源的屏幕空间坐标包括横轴坐标值以及纵轴坐标值;所述反射模块还用于当所述反射平面与垂直面之间的夹角小于角度阈值时,将所述反射源的横轴坐标值的整数部分存入所述编码格式的第五编码位,将所述反射源的横轴坐标值的小数部分存入所述编码格式的第六编码位,将所述反射源的纵轴坐标值的整数部分存入所述编码格式的第七编码位,将所述反射源的纵轴坐标值的小数部分存入所述编码格式的第八编码位,得到所述反射源的编码坐标。
38、上述技术方案中,所述反射模块还用于当所述反射源的目标反射点的屏幕空间坐标已写入其他反射源的编码坐标时,对所述反射源的编码坐标以及所述其他反射源的编码坐标进行对比处理,
39、当位于编码格式的目标编码位的所述反射源的编码坐标小于所述其他反射源的编码坐标时,将所述反射源的编码坐标写入所述反射源的目标反射点的屏幕空间坐标;或者,
40、当所述反射源的目标反射点的屏幕空间坐标未写入其他反射源的编码坐标时,将所述反射源的编码坐标写入所述反射源的目标反射点的屏幕空间坐标。
41、上述技术方案中,所述对每个所述反射源进行基于所述多个反射平面的投影处理之前,所述获取模块还用于对所述多个反射平面进行视锥剔除处理,得到剔除后的所述反射平面;
42、基于剔除后的所述反射平面的尺寸,对剔除后的所述反射平面进行降序排序处理;
43、将排序结果中排列在前的部分剔除后的所述反射平面,作为用于进行投影处理的所述反射平面。
44、本技术实施例提供一种用于图像渲染的电子设备,所述电子设备包括:
45、存储器,用于存储计算机程序或计算机可执行指令;
46、处理器,用于执行所述存储器中存储的计算机程序或计算机可执行指令时,实现本技术实施例提供的图像渲染方法。
47、本技术实施例提供一种计算机可读存储介质,存储有计算机程序或者计算机可执行指令,所述计算机程序或计算机可执行指令被处理器执行时实现本技术实施例提供的图像渲染方法。
48、本技术实施例提供一种计算机程序产品,包括计算机程序或计算机可执行指令,所述计算机程序或计算机可执行指令被处理器执行时实现本技术实施例提供的图像渲染方法。
49、本技术实施例具有以下有益效果:
50、通过从反射源对应的多个反射点中,准确确定出反射源唯一对应的目标反射点,实现反射源与反射点的一一对应关系,从而准确确定出反射源与多个反射平面的关系,并基于反射源与反射点的一一对应关系进行图像渲染,以准确呈现反射图像,从而避免大量的计算资源的浪费,提高图像渲染效果。
本文地址:https://www.jishuxx.com/zhuanli/20240914/296055.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表