[发明专利]阴影渲染方法、装置、终端及存储介质有效
申请号: | 201910290577.3 | 申请日: | 2019-04-11 |
公开(公告)号: | CN109993823B | 公开(公告)日: | 2022-11-25 |
发明(设计)人: | 侯仓健 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06T15/60 | 分类号: | G06T15/60;G06T15/04 |
代理公司: | 北京三高永信知识产权代理有限责任公司 11138 | 代理人: | 张所明 |
地址: | 518057 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 阴影 渲染 方法 装置 终端 存储 介质 | ||
本发明公开了一种阴影渲染方法、装置、终端及存储介质,属于图像渲染技术领域。该方法包括:根据虚拟场景中的光照方向,获取该虚拟场景中的至少一个渲染结构体;根据当前视角和该多个像素点的深度信息,获取该多个像素点的模型坐标;根据该多个像素点的模型坐标,对至少一个阴影贴图进行采样,得到与该多个像素点所对应的多个采样点;在该虚拟场景中对该多个采样点进行渲染,得到该至少一个阴影。本发明不使用第三方插件的情况下,基于渲染引擎本身的功能实现了阴影的实时渲染,节约了终端的内存资源,提高了终端CPU的处理效率。
技术领域
本发明涉及图像渲染技术领域,特别涉及一种阴影渲染方法、装置、终端及存储介质。
背景技术
随着图像渲染技术的发展,为了模拟出更加逼真的三维场景,终端通常会实时地对三维场景内的对象的阴影进行渲染,该对象可以是人物,也可以是物体。
目前,可以通过第三方插件(例如Fast Shadow Receiver,快速阴影接收器)实现实时阴影渲染,也即是:对场景网格(mesh)进行烘焙(bake)处理,将高维、具体的场景数据转换为近似的低维、泛化的场景数据,其中,上述场景网格用于表示三维模型的纹理、光照、材质等信息;根据光源数据和已烘焙好的场景网格,从该场景网格中获取阴影区域的网格,将阴影纹理渲染在该阴影区域上,得到具有阴影的场景网格,第三方插件直接渲染出来的阴影通常会和场景中原本的三维模型产生“重影”(例如地形互相穿插、地面有贴花等)问题,因此技术人员通常会基于该具有阴影的场景网格,重新制作一张修正了重影部分的新网格,从而修正了“重影”问题,以达到实时展示阴影的效果。
在上述过程中,已烘焙好的场景网格通常需占用1.5~4M的内存,因此通过第三方插件进行阴影渲染时,挤占了终端的内存资源,影响了终端CPU(central processingunit,中央处理器)的处理效率。
发明内容
本发明实施例提供了一种阴影渲染方法、装置、终端及存储介质,能够解决第三方插件渲染阴影时挤占终端内存资源,影响终端CPU处理效率的问题。该技术方案如下:
一方面,提供了一种阴影渲染方法,该方法包括:
根据虚拟场景中的光照方向,获取该虚拟场景中的至少一个渲染结构体,该至少一个渲染结构体用于渲染至少一个虚拟对象的至少一个阴影,每个渲染结构体包括多个像素点;
根据当前视角和该多个像素点的深度信息,获取该多个像素点的模型坐标,一个模型坐标用于描述一个像素点相对于一个虚拟对象的模型顶点的纹理信息;
根据该多个像素点的模型坐标,对至少一个阴影贴图进行采样,得到与该多个像素点所对应的多个采样点,每个阴影贴图用于提供一个阴影的纹理信息;
在该虚拟场景中对该多个采样点进行渲染,得到该至少一个阴影。
一方面,提供了一种阴影渲染装置,该装置包括:
第一获取模块,用于根据虚拟场景中的光照方向,获取该虚拟场景中的至少一个渲染结构体,该至少一个渲染结构体用于渲染至少一个虚拟对象的至少一个阴影,每个渲染结构体包括多个像素点;
第二获取模块,用于根据当前视角和该多个像素点的深度信息,获取该多个像素点的模型坐标,一个模型坐标用于描述一个像素点相对于一个虚拟对象的模型基点的纹理信息;
采样模块,用于根据该多个像素点的模型坐标,对至少一个阴影贴图进行采样,得到与该多个像素点所对应的多个采样点,每个阴影贴图用于提供一个阴影的纹理信息;
渲染模块,用于在该虚拟场景中对该多个采样点进行渲染,得到该至少一个阴影。
在一种可能实施方式中,该装置还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910290577.3/2.html,转载请声明来源钻瓜专利网。