CN115546378A - 一种对象渲染的方法、相关装置、设备以及存储介质 - Google Patents
一种对象渲染的方法、相关装置、设备以及存储介质 Download PDFInfo
- Publication number
- CN115546378A CN115546378A CN202110741982.XA CN202110741982A CN115546378A CN 115546378 A CN115546378 A CN 115546378A CN 202110741982 A CN202110741982 A CN 202110741982A CN 115546378 A CN115546378 A CN 115546378A
- Authority
- CN
- China
- Prior art keywords
- environment map
- outdoor
- indoor
- time point
- outdoor environment
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Image Generation (AREA)
Abstract
本申请公开了一种对象渲染的方法,包括:获取动态对象的室内外空间信息,其中,室内外空间信息表示动态对象分别在室内空间和户外空间所占的面积比例;根据室内外空间信息,确定户外环境贴图所对应的第一权重值以及自定义环境贴图所对应的第二权重值,其中,自定义环境贴图为预先设置的灰度图像;采用第一权重值、第二权重值、户外环境贴图以及自定义环境贴图,对动态对象进行渲染。本申请还提供装置、设备以及介质。本申请在渲染过程中,基于更新后的亮度值对自定义环境贴图与户外环境贴图进行混合,得到具有亮度过渡效果的渲染结果,从而提升视觉效果。
Description
技术领域
本申请涉及图像处理技术领域,尤其涉及一种对象渲染的方法、相关装置、设备以及存储介质。
背景技术
随着互联网技术的发展,游戏也得到了快速的发展,游戏画质也越来越精美。环境反射功能为游戏场景中的每个地方提供了有效的光滑反射效果。一些重要的材质,例如,金属,都依靠各个方向反射效果。在终端设备的硬件条件下,接近乃至还原真实效果一直是很多引擎厂商和游戏厂商所追求的目标。
目前,环境反射功能的实现主要为,先在游戏场景中预先摆放好立方体结构的区域块,以此将周围的环境捕捉到一张立方体贴图中。然后在实时渲染时,对象会选取距离最近的并相交的区域块,使用该区域块的立方体贴图作为环境反射源。
然而,以图1中(A)图和(B)图所示的场景为例,白色框圈出来的目镜的整体环境反射表现,在跨过室内空间的边界时,其反射内容发生跳变,导致视觉效果较差,不符合真实世界的显示效果。
发明内容
本申请实施例提供了一种对象渲染的方法、相关装置、设备以及存储介质,在渲染过程中,基于更新后的亮度值对自定义环境贴图与户外环境贴图进行混合,由此得到具有亮度过渡效果的渲染结果,从而提升视觉效果,使其更符合真实世界的显示效果。
有鉴于此,本申请一方面提供一种对象渲染的方法,包括:
获取动态对象的室内外空间信息,其中,室内外空间信息表示动态对象分别在室内空间和户外空间所占的面积比例;
根据室内外空间信息,确定户外环境贴图所对应的第一权重值以及自定义环境贴图所对应的第二权重值,其中,自定义环境贴图为预先设置的灰度图像;
采用第一权重值、第二权重值、户外环境贴图以及自定义环境贴图,对动态对象进行渲染。
本申请另一方面提供一种对象渲染装置,包括:
获取模块,用于获取动态对象的室内外空间信息,其中,室内外空间信息表示动态对象分别在室内空间和户外空间所占的面积比例;
确定模块,用于根据室内外空间信息,确定户外环境贴图所对应的第一权重值以及自定义环境贴图所对应的第二权重值,其中,自定义环境贴图为预先设置的灰度图像;
渲染模块,用于采用第一权重值、第二权重值、户外环境贴图以及自定义环境贴图,对动态对象进行渲染。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,
确定模块,具体用于根据室内外空间信息,确定动态对象在室内空间占据第一比例,以及在户外空间占据第二比例,其中,第一比例与第二比例之和为固定比例;
若第一比例为固定比例,且,第二比例为0,则将户外环境贴图所对应的第一权重值确定为0,并且将自定义环境贴图所对应的第二权重值确定为最大权重值;
若第二比例为固定比例,且,第一比例为0,则将户外环境贴图所对应的第一权重值确定为最大权重值,并且将自定义环境贴图所对应的第二权重值确定为0。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,
渲染模块,具体用于针对于所述户外环境贴图,将第一初始权重值更新为所述第一权重值;
针对于所述自定义环境贴图,将第二初始权重值更新为所述第二权重值;
基于所述第一权重值以及所述所述第二权重值,通过图形处理器对所述户外环境贴图以及所述自定义环境贴图进行混合,得到所述动态对象的渲染结果。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,
获取模块,还用于获取户外环境贴图,其中,户外环境贴图对应于目标时间点,目标时间点包含于至少一个时间点,至少一个时间点中的每个时间点对应于一个待选户外环境贴图;
获取模块,还用于获取自定义环境贴图,其中,自定义环境贴图包括预先设置的至少一个高亮区域,每个高亮区域的平均亮度值大于自定义环境贴图的平均亮度值。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,对象渲染装置还包括处理模块以及生成模块;
获取模块,还用于获取室内静态对象所处目标室内空间所对应的室内环境贴图,其中,室内环境贴图包括K个像素点,K为大于1的整数;
处理模块,用于对室内环境贴图进行归一化处理,得到第一室内环境贴图,其中,第一室内环境贴图包括K个经过亮度归一化处理后的像素点;
获取模块,还用于若目标室内空间存在光源,则根据室内静态对象在目标室内空间内的空间位置信息,获取全局光照信息,其中,全局光照信息包括K个预设色彩信息,每个预设色彩信息对应于一个像素点;
生成模块,用于根据第一室内环境贴图以及全局光照信息,生成第二室内环境贴图;
渲染模块,还用于采用第二室内环境贴图对室内静态对象进行渲染。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,
获取模块,还用于获取N个室内空间所对应的待处理室内环境贴图,其中,N个室内空间包括目标室内空间,N为大于1的整数;
处理模块,还用于对待处理室内环境贴图进行编码处理,得到立方体贴图;
处理模块,还用于对立方体贴图进行解码处理,得到室内环境贴图;
获取模块,具体用于将室内环境贴图作为室内静态对象所处目标室内空间所对应的室内环境贴图。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,
处理模块,具体用于获取室内环境贴图中每个像素点所对应的色彩信息;
根据室内环境贴图中每个像素点所对应的色彩信息,确定室内环境贴图中每个像素点所对应的亮度值;
根据室内环境贴图中每个像素点所对应的亮度值,确定室内环境贴图所对应的室内平均亮度值;
将室内环境贴图中每个像素点所对应的亮度值除以室内平均亮度值,以得到第一室内环境贴图。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,
生成模块,具体用于获取第一室内环境贴图中每个像素点所对应的色彩信息;
将第一室内环境贴图中每个像素点所对应的色彩信息,与全局光照信息中对应像素点的预设色彩信息进行相乘,得到K个像素点中每个像素点所对应的色彩信息;
根据K个像素点中每个像素点所对应的色彩信息,生成第二室内环境贴图。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,
获取模块,用于获取户外静态对象所处的户外空间所对应的至少两个待选户外环境贴图,其中,至少两个待选户外环境贴图中的每个待选户外环境贴图对应于一个时间点;
获取模块,还用于从至少两个待选户外环境贴图中获取目标时间点所对应的户外环境贴图,其中,户外环境贴图包括Q个像素点,Q为大于1的整数;
处理模块,还用于对户外环境贴图进行归一化处理,得到第一户外环境贴图,其中,第一户外环境贴图包括Q个经过亮度归一化处理后的像素点;
生成模块,还用于根据第一户外环境贴图以及户外光照信息,生成第二户外环境贴图,其中,户外光照信息包括Q个预设色彩信息,每个预设色彩信息对应于一个像素点,且户外光照信息与目标时间点具有对应关系;
渲染模块,还用于采用第二户外环境贴图对户外静态对象进行渲染。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,
获取模块,具体用于根据目标时间点确定第一时间点以及第二时间点,其中,第一时间点为目标时间点相邻的前一个时间点,第二时间点为目标时间点相邻的后一个时间点;
若目标时间点与第一时间点之间的时长小于目标时间点与第二时间点之间的时长,则将第一时间点所对应的待选户外环境贴图确定为目标时间点所对应的户外环境贴图;
若目标时间点与第一时间点之间的时长大于目标时间点与第二时间点之间的时长,则将第二时间点所对应的待选户外环境贴图确定为目标时间点所对应的户外环境贴图。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,
处理模块,具体用于获取户外环境贴图中每个像素点所对应的色彩信息;
根据户外环境贴图中每个像素点所对应的色彩信息,确定户外环境贴图中每个像素点所对应的亮度值;
获取户外环境贴图所对应的户外平均亮度值,其中,户外平均亮度值为根据户外环境贴图中每个像素点所对应的亮度值确定的,或者,户外平均亮度值为根据相邻两个时间点分别对应的待选户外环境贴图确定的,相邻两个时间点为目标时间点相邻的前一个时间点以及相邻的后一个时间点;
将户外环境贴图中每个像素点所对应的亮度值除以户外平均亮度值,以得到第一户外环境贴图。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,
生成模块,具体用于获取第一户外环境贴图中每个像素点所对应的色彩信息;
将第一户外环境贴图中每个像素点所对应的色彩信息,与户外光照信息中对应像素点的预设色彩信息进行相乘,得到Q个像素点中每个像素点所对应的色彩信息;
根据Q个像素点中每个像素点所对应的色彩信息,生成第二户外环境贴图。
本申请另一方面提供一种对象渲染的方法,包括:
获取室内静态对象所处目标室内空间所对应的室内环境贴图,其中,室内环境贴图包括K个像素点,K为大于1的整数;
对室内环境贴图进行归一化处理,得到第一室内环境贴图,其中,第一室内环境贴图包括K个经过亮度归一化处理后的像素点;
若目标室内空间存在光源,则根据室内静态对象在目标室内空间内的空间位置信息,获取全局光照信息,其中,全局光照信息包括K个预设色彩信息,每个预设色彩信息对应于一个像素点;
根据第一室内环境贴图以及全局光照信息,生成第二室内环境贴图;
采用第二室内环境贴图对室内静态对象进行渲染。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,对象渲染的方法还包括:
获取N个室内空间所对应的待处理室内环境贴图,其中,N个室内空间包括目标室内空间,N为大于1的整数;
对待处理室内环境贴图进行编码处理,得到立方体贴图;
对立方体贴图进行解码处理,得到室内环境贴图;
获取室内静态对象所处目标室内空间所对应的室内环境贴图,包括:
将室内环境贴图作为室内静态对象所处目标室内空间所对应的室内环境贴图。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,对室内环境贴图进行归一化处理,得到第一室内环境贴图,包括:
获取室内环境贴图中每个像素点所对应的色彩信息;
根据室内环境贴图中每个像素点所对应的色彩信息,确定室内环境贴图中每个像素点所对应的亮度值;
根据室内环境贴图中每个像素点所对应的亮度值,确定室内环境贴图所对应的室内平均亮度值;
将室内环境贴图中每个像素点所对应的亮度值除以室内平均亮度值,以得到第一室内环境贴图。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,根据第一室内环境贴图以及全局光照信息,生成第二室内环境贴图,包括:
获取第一室内环境贴图中每个像素点所对应的色彩信息;
将第一室内环境贴图中每个像素点所对应的色彩信息,与全局光照信息中对应像素点的预设色彩信息进行相乘,得到K个像素点中每个像素点所对应的色彩信息;
根据K个像素点中每个像素点所对应的色彩信息,生成第二室内环境贴图。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,对象渲染的方法还包括:
获取动态对象的室内外空间信息,其中,室内外空间信息表示动态对象分别在室内空间和户外空间所占的面积比例;
根据室内外空间信息,确定户外环境贴图所对应的第一权重值以及自定义环境贴图所对应的第二权重值,其中,自定义环境贴图为预先设置的灰度图像;
采用第一权重值、第二权重值、户外环境贴图以及自定义环境贴图,对动态对象进行渲染。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,根据室内外空间信息,确定户外环境贴图所对应的第一权重值以及自定义环境贴图所对应的第二权重值,包括:
根据室内外空间信息,确定动态对象在室内空间占据第一比例,以及在户外空间占据第二比例,其中,第一比例与第二比例之和为固定比例;
若第一比例为固定比例,且,第二比例为0,则将户外环境贴图所对应的第一权重值确定为0,并且将自定义环境贴图所对应的第二权重值确定为最大权重值;
若第二比例为固定比例,且,第一比例为0,则将户外环境贴图所对应的第一权重值确定为最大权重值,并且将自定义环境贴图所对应的第二权重值确定为0。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,采用第一权重值、第二权重值、户外环境贴图以及自定义环境贴图,对动态对象进行渲染,包括:
针对于户外环境贴图,将第一初始权重值更新为第一权重值;
针对于自定义环境贴图,将第二初始权重值更新为第二权重值;
基于第一权重值以及第二权重值,通过图形处理器对户外环境贴图以及自定义环境贴图进行混合,得到动态对象的渲染结果。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,对象渲染的方法还包括:
获取户外环境贴图,其中,户外环境贴图对应于目标时间点,目标时间点包含于至少一个时间点,至少一个时间点中的每个时间点对应于一个待选户外环境贴图;
获取自定义环境贴图,其中,自定义环境贴图包括预先设置的至少一个高亮区域,每个高亮区域的平均亮度值大于自定义环境贴图的平均亮度值。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,对象渲染的方法还包括:
获取户外静态对象所处的户外空间所对应的至少两个待选户外环境贴图,其中,至少两个待选户外环境贴图中的每个待选户外环境贴图对应于一个时间点;
从至少两个待选户外环境贴图中获取目标时间点所对应的户外环境贴图,其中,户外环境贴图包括Q个像素点,Q为大于1的整数;
对户外环境贴图进行归一化处理,得到第一户外环境贴图,其中,第一户外环境贴图包括Q个经过亮度归一化处理后的像素点;
根据第一户外环境贴图以及户外光照信息,生成第二户外环境贴图,其中,户外光照信息包括Q个预设色彩信息,每个预设色彩信息对应于一个像素点,且户外光照信息与目标时间点具有对应关系;
采用第二户外环境贴图对户外静态对象进行渲染。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,从至少两个待选户外环境贴图中获取目标时间点所对应的户外环境贴图,包括:
根据目标时间点确定第一时间点以及第二时间点,其中,第一时间点为目标时间点相邻的前一个时间点,第二时间点为目标时间点相邻的后一个时间点;
若目标时间点与第一时间点之间的时长小于目标时间点与第二时间点之间的时长,则将第一时间点所对应的待选户外环境贴图确定为目标时间点所对应的户外环境贴图;
若目标时间点与第一时间点之间的时长大于目标时间点与第二时间点之间的时长,则将第二时间点所对应的待选户外环境贴图确定为目标时间点所对应的户外环境贴图。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,对户外环境贴图进行归一化处理,得到第一户外环境贴图,包括:
获取户外环境贴图中每个像素点所对应的色彩信息;
根据户外环境贴图中每个像素点所对应的色彩信息,确定户外环境贴图中每个像素点所对应的亮度值;
获取户外环境贴图所对应的户外平均亮度值,其中,户外平均亮度值为根据户外环境贴图中每个像素点所对应的亮度值确定的,或者,户外平均亮度值为根据相邻两个时间点分别对应的待选户外环境贴图确定的,相邻两个时间点为目标时间点相邻的前一个时间点以及相邻的后一个时间点;
将户外环境贴图中每个像素点所对应的亮度值除以户外平均亮度值,以得到第一户外环境贴图。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,根据第一户外环境贴图以及户外光照信息,生成第二户外环境贴图,包括:
获取第一户外环境贴图中每个像素点所对应的色彩信息;
将第一户外环境贴图中每个像素点所对应的色彩信息,与户外光照信息中对应像素点的预设色彩信息进行相乘,得到Q个像素点中每个像素点所对应的色彩信息;
根据Q个像素点中每个像素点所对应的色彩信息,生成第二户外环境贴图。
本申请另一方面提供一种对象渲染的方法,包括:
获取户外静态对象所处的户外空间所对应的至少两个待选户外环境贴图,其中,至少两个待选户外环境贴图中的每个待选户外环境贴图对应于一个时间点;
从至少两个待选户外环境贴图中获取目标时间点所对应的户外环境贴图,其中,户外环境贴图包括Q个像素点,Q为大于1的整数;
对户外环境贴图进行归一化处理,得到第一户外环境贴图,其中,第一户外环境贴图包括Q个经过亮度归一化处理后的像素点;
根据第一户外环境贴图以及户外光照信息,生成第二户外环境贴图,其中,户外光照信息包括Q个预设色彩信息,每个预设色彩信息对应于一个像素点,且户外光照信息与目标时间点具有对应关系;
采用第二户外环境贴图对户外静态对象进行渲染。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,从至少两个待选户外环境贴图中获取目标时间点所对应的户外环境贴图,包括:
根据目标时间点确定第一时间点以及第二时间点,其中,第一时间点为目标时间点相邻的前一个时间点,第二时间点为目标时间点相邻的后一个时间点;
若目标时间点与第一时间点之间的时长小于目标时间点与第二时间点之间的时长,则将第一时间点所对应的待选户外环境贴图确定为目标时间点所对应的户外环境贴图;
若目标时间点与第一时间点之间的时长大于目标时间点与第二时间点之间的时长,则将第二时间点所对应的待选户外环境贴图确定为目标时间点所对应的户外环境贴图。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,对户外环境贴图进行归一化处理,得到第一户外环境贴图,包括:
获取户外环境贴图中每个像素点所对应的色彩信息;
根据户外环境贴图中每个像素点所对应的色彩信息,确定户外环境贴图中每个像素点所对应的亮度值;
获取户外环境贴图所对应的户外平均亮度值,其中,户外平均亮度值为根据户外环境贴图中每个像素点所对应的亮度值确定的,或者,户外平均亮度值为根据相邻两个时间点分别对应的待选户外环境贴图确定的,相邻两个时间点为目标时间点相邻的前一个时间点以及相邻的后一个时间点;
将户外环境贴图中每个像素点所对应的亮度值除以户外平均亮度值,以得到第一户外环境贴图。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,根据第一户外环境贴图以及户外光照信息,生成第二户外环境贴图,包括:
获取第一户外环境贴图中每个像素点所对应的色彩信息;
将第一户外环境贴图中每个像素点所对应的色彩信息,与户外光照信息中对应像素点的预设色彩信息进行相乘,得到Q个像素点中每个像素点所对应的色彩信息;
根据Q个像素点中每个像素点所对应的色彩信息,生成第二户外环境贴图。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,对象渲染的方法还包括:
获取动态对象的室内外空间信息,其中,室内外空间信息表示动态对象分别在室内空间和户外空间所占的面积比例;
根据室内外空间信息,确定户外环境贴图所对应的第一权重值以及自定义环境贴图所对应的第二权重值,其中,自定义环境贴图为预先设置的灰度图像;
采用第一权重值、第二权重值、户外环境贴图以及自定义环境贴图,对动态对象进行渲染。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,根据室内外空间信息,确定户外环境贴图所对应的第一权重值以及自定义环境贴图所对应的第二权重值,包括:
根据室内外空间信息,确定动态对象在室内空间占据第一比例,以及在户外空间占据第二比例,其中,第一比例与第二比例之和为固定比例;
若第一比例为固定比例,且,第二比例为0,则将户外环境贴图所对应的第一权重值确定为0,并且将自定义环境贴图所对应的第二权重值确定为最大权重值;
若第二比例为固定比例,且,第一比例为0,则将户外环境贴图所对应的第一权重值确定为最大权重值,并且将自定义环境贴图所对应的第二权重值确定为0。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,采用第一权重值、第二权重值、户外环境贴图以及自定义环境贴图,对动态对象进行渲染,包括:
针对于户外环境贴图,将第一初始权重值更新为第一权重值;
针对于自定义环境贴图,将第二初始权重值更新为第二权重值;
基于第一权重值以及第二权重值,通过图形处理器对户外环境贴图以及自定义环境贴图进行混合,得到动态对象的渲染结果。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,对象渲染的方法还包括:
获取户外环境贴图,其中,户外环境贴图对应于目标时间点,目标时间点包含于至少一个时间点,至少一个时间点中的每个时间点对应于一个待选户外环境贴图;
获取自定义环境贴图,其中,自定义环境贴图包括预先设置的至少一个高亮区域,每个高亮区域的平均亮度值大于自定义环境贴图的平均亮度值。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,对象渲染的方法还包括:
获取室内静态对象所处目标室内空间所对应的室内环境贴图,其中,室内环境贴图包括K个像素点,K为大于1的整数;
对室内环境贴图进行归一化处理,得到第一室内环境贴图,其中,第一室内环境贴图包括K个经过亮度归一化处理后的像素点;
若目标室内空间存在光源,则根据室内静态对象在目标室内空间内的空间位置信息,获取全局光照信息,其中,全局光照信息包括K个预设色彩信息,每个预设色彩信息对应于一个像素点;
根据第一室内环境贴图以及全局光照信息,生成第二室内环境贴图;
采用第二室内环境贴图对室内静态对象进行渲染。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,对象渲染的方法还包括:
获取N个室内空间所对应的待处理室内环境贴图,其中,N个室内空间包括目标室内空间,N为大于1的整数;
对待处理室内环境贴图进行编码处理,得到立方体贴图;
对立方体贴图进行解码处理,得到室内环境贴图;
获取室内静态对象所处目标室内空间所对应的室内环境贴图,包括:
将室内环境贴图作为室内静态对象所处目标室内空间所对应的室内环境贴图。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,对室内环境贴图进行归一化处理,得到第一室内环境贴图,包括:
获取室内环境贴图中每个像素点所对应的色彩信息;
根据室内环境贴图中每个像素点所对应的色彩信息,确定室内环境贴图中每个像素点所对应的亮度值;
根据室内环境贴图中每个像素点所对应的亮度值,确定室内环境贴图所对应的室内平均亮度值;
将室内环境贴图中每个像素点所对应的亮度值除以室内平均亮度值,以得到第一室内环境贴图。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,根据第一室内环境贴图以及全局光照信息,生成第二室内环境贴图,包括:
获取第一室内环境贴图中每个像素点所对应的色彩信息;
将第一室内环境贴图中每个像素点所对应的色彩信息,与全局光照信息中对应像素点的预设色彩信息进行相乘,得到K个像素点中每个像素点所对应的色彩信息;
根据K个像素点中每个像素点所对应的色彩信息,生成第二室内环境贴图。
本申请另一方面提供一种对象渲染的方法,包括:
在目标空间的第一位置上,显示动态对象;
响应针对于动态对象的控制操作,采用第一权重值、第二权重值、户外环境贴图以及自定义环境贴图,对动态对象进行渲染,得到已渲染的动态对象,其中,第一权重值为根据动态对象的室内外空间信息以及户外环境贴图确定的,第二权重值为根据根据动态对象的室内外空间信息以及自定义环境贴图确定的,室内外空间信息表示动态对象分别在室内空间和户外空间所占的面积比例,自定义环境贴图为预先设置的灰度图像;
在目标空间的第二位置上,显示已渲染的动态对象,其中,已渲染的动态对象与动态对象具有不同的光照效果。
本申请另一方面提供一种对象渲染的方法,包括:
在目标室内空间的目标位置上,显示室内静态对象;
若目标室内空间还存在光源,则采用第二室内环境贴图对室内静态对象进行渲染,得到已渲染的室内静态对象,其中,第二室内环境贴图为根据第一室内环境贴图以及全局光照信息生成的,全局光照信息为根据室内静态对象在目标室内空间内的空间位置信息获取到的,全局光照信息包括K个预设色彩信息,每个预设色彩信息对应于一个像素点,第一室内环境贴图为对室内环境贴图进行归一化处理后得到的,第一室内环境贴图包括K个经过亮度归一化处理后的像素点,室内环境贴图为目标室内空间所对应的环境贴图,室内环境贴图包括K个像素点,K为大于1的整数;
在目标室内空间的目标位置上,显示已渲染的室内静态对象,其中,已渲染的室内静态对象与室内静态对象具有不同的光照效果。
本申请另一方面提供一种对象渲染的方法,包括:
当在第一时间点时,在户外空间的目标位置上,显示户外静态对象;
当在第二时间点时,采用第二户外环境贴图对户外静态对象进行渲染,得到已渲染的户外静态对象,其中,第二户外环境贴图为根据第一户外环境贴图以及户外光照信息生成的,户外光照信息包括Q个预设色彩信息,每个预设色彩信息对应于一个像素点,且户外光照信息与目标时间点具有对应关系,第一户外环境贴图为对户外环境贴图进行归一化处理后得到的,第一户外环境贴图包括Q个经过亮度归一化处理后的像素点,户外环境贴图来源于至少两个待选户外环境贴图,至少两个待选户外环境贴图中的每个待选户外环境贴图对应于一个时间点,户外环境贴图包括Q个像素点,Q为大于1的整数;
在户外空间的目标位置上,显示已渲染的户外静态对象,其中,已渲染的户外静态对象与户外静态对象具有不同的光照效果。
本申请另一方面提供一种计算机设备,包括:存储器、处理器以及总线系统;
其中,所述存储器用于存储程序;
所述处理器用于执行所述存储器中的程序,所述处理器用于根据程序代码中的指令执行上述各方面的方法;
所述总线系统用于连接所述存储器以及所述处理器,以使所述存储器以及所述处理器进行通信。
本申请的另一方面提供了一种计算机可读存储介质,计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面的方法。
本申请的另一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方面所提供的方法。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请实施例中,提供了一种对象渲染的方法,首先获取目标动态对象的室内外空间信息,然后可根据室内外空间信息,确定户外环境贴图所对应的第一权重值以及自定义环境贴图所对应的第二权重值,由此,采用第一权重值、第二权重值、户外环境贴图以及自定义环境贴图,对动态对象进行渲染。通过上述方式,对于动态对象而言,能够根据该动态对象当前所处于的室内外空间比例,分别控制自定义环境贴图与户外环境贴图的亮度权重值,在渲染过程中,基于更新后的亮度值对自定义环境贴图与户外环境贴图进行混合,由此得到具有亮度过渡效果的渲染结果,从而提升视觉效果,使其更符合真实世界的显示效果。
附图说明
图1为现有技术中环境贴图内容出现跳变情况的一个示意图;
图2为本申请实施例中对象渲染系统的一个架构示意图;
图3为本申请实施例中将环境捕捉到立方体贴图的一个示意图;
图4为本申请实施例中使用立方体贴图实现环境反射效果的一个示意图;
图5为本申请实施例中基于对象类型和环境类型实现渲染的一个框架示意图;
图6为本申请实施例中对象渲染方法的一个流程示意图;
图7(A)为本申请实施例中动态对象在室内外空间占据面积的一个示意图;
图7(B)为本申请实施例中动态对象在室内外空间占据面积的另一个示意图;
图7(C)为本申请实施例中动态对象在室内外空间占据面积的另一个示意图;
图8为本申请实施例中户外环境贴图与自定义环境贴图的一个示意图;
图9为本申请实施例中动态对象在室内外移动的一个效果对比示意图;
图10为本申请与现有方案中动态对象在室内外移动的一个效果对比示意图;
图11为本申请实施例中对象渲染方法的另一个流程示意图;
图12为本申请实施例中优先前的环境反射立方体贴图的一个流程示意图;
图13为本申请实施例中优化后的环境反射立方体贴图的另一个流程示意图;
图14为本申请实施例中对室内静态对象进行处理的一个流程示意图;
图15为本申请与现有方案中室内静态对象在不同室内空间的一个效果对比示意图;
图16为本申请实施例中对象渲染方法的另一个流程示意图;
图17为本申请实施例中待选户外环境贴图序列的一个示意图;
图18为本申请实施例中对户外静态对象进行处理的一个流程示意图;
图19为本申请与现有方案中户外静态对象在不同时间点的一个效果对比示意图;
图20为本申请实施例中对象渲染装置的一个示意图;
图21为本申请实施例中对象渲染装置的另一个示意图;
图22为本申请实施例中对象渲染装置的另一个示意图;
图23为本申请实施例中终端设备的一个结构示意图。
具体实施方式
本申请实施例提供了一种对象渲染的方法、相关装置、设备以及存储介质,能够根据该动态对象当前所处于的室内外空间比例,分别控制自定义环境贴图与户外环境贴图的亮度权重值,在渲染过程中,基于更新后的亮度值对自定义环境贴图与户外环境贴图进行混合,由此得到具有亮度过渡效果的渲染结果,从而提升视觉效果,使其更符合真实世界的显示效果。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“对应于”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应理解,本申请提供的对象渲染方法可应用于游戏画面的渲染,使得游戏画面呈现的更加逼真效果。以第一人称射击类游戏(First-person shooting game,FPS)提供的游戏场景为例,玩家控制游戏角色执行任务,例如,需要角色从户外进入室内拿取药水,又例如,需要角色在等到游戏场景进入黑色的时候潜入到指定区域埋伏。然而,在不同的时间和空间下,玩家看到的游戏画面内容也会随之改变。例如,在户外空间时,角色的头盔应该反射出更亮的光,而在室内空间时,角色的头盔会随之变暗。又例如,在傍晚时分执行任务时,角色的头盔应该反射出夕阳余晖的颜色,而在中午时分执行任务时,角色的头盔应该反射出明朗天空的颜色。
为了在上述场景中实现更好的渲染效果,本申请提出了一种对象渲染的方法,该方法应用于图2所示的对象渲染系统,如图所示,对象渲染系统包括终端设备,且客户端部署于终端设备上,其中,客户端可以通过浏览器的形式运行于终端设备上,也可以通过独立的应用程序(application,APP)的形式运行于终端设备上等,对于客户端的具体展现形式,此处不做限定。对象渲染系统还可以包括服务器,本申请涉及的服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端设备可以是智能手机、平板电脑、笔记本电脑、掌上电脑、个人电脑、智能电视、智能手表、车载设备、可穿戴设备等,但并不局限于此。终端设备以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。服务器和终端设备的数量也不做限制。本申请提供的方案可以由终端设备独立完成,也可以由服务器独立完成,还可以由终端设备与服务器配合完成,对此,本申请并不做具体限定。
示例性地,以单机游戏为例,玩家通过终端设备控制游戏角色执行相应的指令,由终端设备响应于玩家指令,并对游戏画面进行实时渲染,以呈现给玩家。示例性地,以网络游戏为例,玩家通过终端设备控制游戏角色执行相应的指令,并将该指令上传至服务器,服务器响应于玩家指令,并向终端设备反馈指令执行结果(例如,游戏角色在游戏中的位置以及游戏中的时间信息等),由终端设备根据指令执行结果,对游戏画面进行实时渲染,以呈现给玩家。以云游戏为例,玩家通过终端设备控制游戏角色执行相应的指令,并将该指令上传至云端服务器,云端服务器响应于玩家指令,并向对游戏画面进行实时渲染,向渲染结果反馈至终端设备,由终端设备呈现给玩家。
由于本申请涉及到一些专业名词,为了便于理解,下面将对这些专业名词进行介绍。
(1)实时渲染:是指一边计算画面一边输出显示,特点是可以实时操控,实时交互,以非常高的速度处理三维图像,实现逼真的效果。实时渲染可应用于影视动漫、虚拟现实、灾难模拟以及三维游戏等领域。实时渲染可以要求至少以每秒24帧的速度输出画面。
(2)全局光照:在真实的大自然中,光从太阳照射到地面是经过多次的反射和折射的。在实时渲染中,模拟光线的多次反射和折射的结果就是全局光照。但由于终端设备性能限制,无法实现完全准确的全局光照。人们往往会用一些运行效率高,但效果有损的方法对全局光照做近似。
(3)环境反射:也叫基于图像的照明(Image Based Lighting,IBL),是一种在实时渲染中近似全局光照的一种方法。其原理是将周围的环境信息捕获到一张立方体贴图中,并对该立方体贴图进行一些预处理,在渲染时可以从立方体贴图中读取到环境的入射光信息。请参阅图3,图3为本申请实施例中将环境捕捉到立方体贴图的一个示意图,如图所示,一个立方体贴图包括六个面(上方、下方、前方、后方、左侧以及右侧),如果把这六个面折叠到一个立方体中,即可模拟一个空间。环境反射被广泛使用于反射效果上,为了便于理解,请参阅图4,图4为本申请实施例中使用立方体贴图实现环境反射效果的一个示意图,如图所示,使用环境立方体贴图实现环境反射效果,从左到右小球可以看到光滑度依次增加。
(4)红绿蓝通道倍数(red green blue channels and a multiplier,RGBM)编码:是一种有损的编码格式,是指将一个数值较大的RGB颜色,压缩到一个较小的数值范围内,数值小了存储需要的容量就小了,起到了对存储空间和内存进行优化的作用。RGBM的原理是基于“人眼对较暗的东西比亮的东西更敏感”的感受事实,放弃一部分亮度较高的颜色的精度,把数据精度更多留给较暗的颜色。
基于此,下面将结合图5,介绍本申请提供的对象渲染方法所涉及的三类场景。请参阅图5,图5为本申请实施例中基于对象类型和环境类型实现渲染的一个框架示意图,如图所示,在预处理过程中先划分室内空间和户外空间。场景一,对于室内空间内的静态对象(例如,静止小球)而言,共用同一张环境贴图,在实时渲染过程中,根据室内环境变化进行适应性处理,实现静态对象在室内空间的渲染结果。场景二,对于户外空间内的静态对象而言,预先保存多个时间点的待选户外环境贴图,在实时渲染过程中,选择户外环境贴图,并随着户外环境变化进行适应性处理,实现静态对象在户外空间的渲染结果。场景三,对于移动于室内外空间的动态对象而言,获取自定义环境贴图,在实时渲染过程中,选择户外环境贴图,并结合权重值对自定义环境贴图和户外环境贴图进行混合,实现动态对象在室内外空间的渲染结果。
结合上述介绍,下面将以对动态对象进行渲染的过程为例,对本申请中对象渲染的方法进行介绍,请参阅图6,本申请实施例中对象渲染方法的一个实施例包括:
110、获取动态对象的室内外空间信息,其中,室内外空间信息表示动态对象分别在室内空间和户外空间所占的面积比例;
在一个或多个实施例中,对象渲染装置获取动态对象在目标时间点所对应的室内外空间信息,室内外空间信息表示动态对象分别在室内空间和户外空间所占的面积比例。例如,动态对象在室内空间的面积比例为20%,在户外空间的面积比例为80%,因此,20%和80%即为室内外空间信息。目标时间点可以是当前时刻点,也可以是指定的任意一个时刻点,此处不做限定。
需要说明的是,对象渲染装置可部署于终端设备,也可部署于服务器,还可以部署于由终端设备与服务器构成的对象渲染系统中,此处不做限定。
120、根据室内外空间信息,确定户外环境贴图所对应的第一权重值以及自定义环境贴图所对应的第二权重值,其中,自定义环境贴图为预先设置的灰度图像;
在一个或多个实施例中,对象渲染装置还需要获取自定义环境贴图以及户外环境贴图。户外环境贴图为在户外光照下采集到的环境贴图,自定义环境贴图为人为预先设置的灰度图像,自定义环境贴图也可以是一张纯白或者纯黑的图像,此处不做限定。
具体地,根据室内外空间信息可确定动态对象分别在室内空间和户外空间所占的面积比例,由此计算户外环境贴图所对应的第一权重值,以及自定义环境贴图所对应的第二权重值。通常情况下,动态对象在户外空间的比例越多,第一权重值越大,第二权重值越小。相反地,动态对象在室内空间的比例越多,第二权重值越大,第一权重值越小。
130、采用第一权重值、第二权重值、户外环境贴图以及自定义环境贴图,对动态对象进行渲染。
在一个或多个实施例中,对象渲染装置根据将户外环境贴图所对应的第一初始权重值更新为第一权重值,其中,第一初始权重值是户外环境贴图预先设置的权重,
对象渲染装置通过图形处理器(graphics processing unit,GPU)实现对动态对象的渲染。具体地,GPU渲染是以像素点为单位的,以渲染像素点A为例,像素点A对应于户外环境贴图P1位置上的像素点B,以及对应于自定义环境贴图P2位置上的像素点C。基于此,将第一权重值作用于像素点B,并将第二权重值作用于像素点C,由此对动态对象进行渲染,渲染后的动态对象能够显示出光照效果。
需要说明的是,动态对象和静态对象的不同之处在于,动态对象需要处理在室内外空间内移动时环境贴图的跳变问题。在本申请中,如果室内空间都使用相同的立方体贴图,那么动态对象也无需考虑贴图内容准确性的问题。
结合上述介绍,下面将对本申请提供的对象渲染方法的另一个实施例进行介绍。
终端设备在目标空间的第一位置上,显示动态对象;
终端设备响应针对于动态对象的控制操作,采用第一权重值、第二权重值、户外环境贴图以及自定义环境贴图,对动态对象进行渲染,得到已渲染的动态对象,其中,第一权重值为根据动态对象的室内外空间信息以及户外环境贴图确定的,第二权重值为根据根据动态对象的室内外空间信息以及自定义环境贴图确定的,室内外空间信息表示动态对象分别在室内空间和户外空间所占的面积比例,自定义环境贴图为预先设置的灰度图像;
终端设备在目标空间的第二位置上,显示已渲染的动态对象,其中,已渲染的动态对象与动态对象具有不同的光照效果。
本实施例中,以游戏应用为例,在目标空间的第一位置上显示动态对象,例如,动态对象为一个玩家可控的小球。玩家可触发指令,控制动态物体在游戏应用提供的目标空间内移动。
具体地,终端设备可实时获取动态对象在当前时间点所对应的室内外空间信息,室内外空间信息表示动态对象分别在室内空间和户外空间所占的面积比例。此外,还需要获取自定义环境贴图以及户外环境贴图。户外环境贴图为在户外光照下采集到的环境贴图,自定义环境贴图为人为预先设置的灰度图像。基于此,根据室内外空间信息可确定动态对象分别在室内空间和户外空间所占的面积比例,由此计算户外环境贴图所对应的第一权重值,以及自定义环境贴图所对应的第二权重值。通常情况下,动态对象在户外空间的比例越多,第一权重值越大,第二权重值越小。相反地,动态对象在室内空间的比例越多,第二权重值越大,第一权重值越小。
由此,根据将户外环境贴图所对应的第一初始权重值更新为第一权重值,其中,第一初始权重值是户外环境贴图预先设置的权重。最后,通过GPU实现对动态对象的渲染,得到已渲染的动态对象,并在目标空间的第二位置上显示已渲染的动态对象。已渲染的动态对象与动态对象具有不同的光照效果,例如,已渲染的动态对象呈现更亮的效果,或者,已渲染的动态对象呈现更暗的效果。
本申请实施例中,提供了一种对象渲染的方法。通过上述方式,对于动态对象而言,能够根据该动态对象当前所处于的室内外空间比例,分别控制自定义环境贴图与户外环境贴图的亮度权重值,在渲染过程中,基于更新后的亮度值对自定义环境贴图与户外环境贴图进行混合,由此得到具有亮度过渡效果的渲染结果,从而提升视觉效果,使其更符合真实世界的显示效果。
可选地,在上述图6对应的各个实施例的基础上,本申请实施例提供的另一个可选实施例中,根据室内外空间信息,确定户外环境贴图所对应的第一权重值以及自定义环境贴图所对应的第二权重值,具体可以包括:
根据室内外空间信息,确定动态对象在室内空间占据第一比例,以及在户外空间占据第二比例,其中,第一比例与第二比例之和为固定比例;
若第一比例为固定比例,且,第二比例为0,则将户外环境贴图所对应的第一权重值确定为0,并且将自定义环境贴图所对应的第二权重值确定为最大权重值;
若第二比例为固定比例,且,第一比例为0,则将户外环境贴图所对应的第一权重值确定为最大权重值,并且将自定义环境贴图所对应的第二权重值确定为0。
在一个或多个实施例中,介绍了一种基于动态对象处于是室内外空间的比例确定权重值的方式。由前述实施例可知,对象渲染装置需要根据动态对象在目标时间点室内外空间信息,分别确定动态对象在室内空间占据第一比例,以及在户外空间占据第二比例,其中,第一比例和第二比例之和是一个固定比例(例如,100%)。基于此,根据第一比例和第二比例可以确定第一权重值和第二权重值,其中,第一权重值和第二权重值之和是一个固定值(例如,1或1.5)。如果动态对象在室内空间占据的比例越大,则自定义环境贴图的权重值越大,且户外环境贴图的权重值越小。如果动态对象在户外空间占据的比例越大,则户外环境贴图的权重值越大,且自定义环境贴图的权重值越小。下面将结合示例进行说明。
示例性地,为了便于说明,请参阅图7(A),图7(A)为本申请实施例中动态对象在室内外空间占据面积的一个示意图,假设白色圆形表示动态对象,如图所示,动态对象的大部分面积处于户外空间,小部分面积处理室内空间。具体地,应用程序可提供相关数据提供,由此可知,动态对象在当前位置上能够看到户外空间的面积比例(即第二比例)是多少,而根据固定比例也可知道动态对象在当前位置上能够看到室内空间的面积比例(即第一比例)是多少。基于预先设置的转换规则即可确定第一权重值和第二权重值。例如,第一比例为90%,第二比例为10%,则第一权重值为0.1,第二权重值为0.9。
示例性地,为了便于说明,请参阅图7(B),图7(B)为本申请实施例中动态对象在室内外空间占据面积的另一个示意图,如图所示,如果动态对象在室内空间占据第一比例达到固定比例,即100%,则表示整个动态对象都在室内空间,因此,将户外环境贴图所对应的第一权重值确定为0,并将自定义环境贴图所对应的第二权重值确定为最大权重值。
示例性地,为了便于说明,请参阅图7(C),图7(C)为本申请实施例中动态对象在室内外空间占据面积的另一个示意图,如图所示,如果动态对象在户外空间占据第二比例达到固定比例,即100%,则表示整个动态对象都在户外空间,因此,将户外环境贴图所对应的第一权重值确定为最大权重值,并将自定义环境贴图所对应的第二权重值确定为0。
可见,动态对象在户外空间时,户外环境贴图所对应的第一权重值最大,动态对象进入室内空间时,户外环境贴图所对应的第一权重值逐渐减小,而自定义环境贴图所对应的第二权重值逐渐增大。
其次,本申请实施例中,提供了一种基于动态对象处于是室内外空间的比例确定权重值的方式,通过上述方式,基于动态对象在室内空间占据的比例以及在户外空间占据的比例,能够动态地调整户外环境贴图和自定义环境贴图的权重值,从而得到更贴近于真实光照效果的视觉体验。
可选地,在上述图6对应的各个实施例的基础上,本申请实施例提供的另一个可选实施例中,采用第一权重值、第二权重值、户外环境贴图以及自定义环境贴图,对动态对象进行渲染,具体可以包括:
针对于户外环境贴图,将第一初始权重值更新为第一权重值;
针对于自定义环境贴图,将第二初始权重值更新为第二权重值;
基于第一权重值以及第二权重值,通过图形处理器对户外环境贴图以及自定义环境贴图进行混合,得到动态对象的渲染结果。
在一个或多个实施例中,介绍了一种生成渲染结果的方式。由前述实施例可知,可获取针对于户外环境贴图的第一权重值和针对于自定义环境贴图的第二权重值,结合第一权重值以及第二权重值可对户外环境贴图以及自定义环境贴图进行混合。
具体地,以渲染像素点A为例,像素点A对应于户外环境贴图P1位置上的像素点B,以及对应于自定义环境贴图P2位置上的像素点C,P1位置与P2位置是对应的。基于此,将第一权重值作用于像素点B,即B*B1,其中,B1表示第一权重值。类似地,将第二权重值作用于像素点C,即C*C1,其中,C1表示第二权重值。由此,得到的像素点A的渲染结果为B*B1+C*C1。需要说明的是,像素点A、像素点B与像素点C的坐标均为相同坐标,例如,坐标为(1,1)。
为了便于理解,请参阅图8,图8为本申请实施例中户外环境贴图与自定义环境贴图的一个示意图,如图所示,户外环境贴图可以是带有色彩信息的环境贴图,例如,包括天空和树木等,而自定义环境贴图是美术人员设计的,或者直接使用一张纯色的图片。
其次,本申请实施例中,提供了一种生成渲染结果的方式,通过上述方式,利用第一权重值和第二权重值对户外环境贴图和自定义环境贴图进行渲染,达到混合渲染的效果,由此增加方案的可行性和可操作性。
可选地,在上述图6对应的各个实施例的基础上,本申请实施例提供的另一个可选实施例中,还可以包括:
获取户外环境贴图,其中,户外环境贴图对应于目标时间点,目标时间点包含于至少一个时间点,至少一个时间点中的每个时间点对应于一个待选户外环境贴图;
获取自定义环境贴图,其中,自定义环境贴图包括预先设置的至少一个高亮区域,每个高亮区域的平均亮度值大于自定义环境贴图的平均亮度值。
在一个或多个实施例中,介绍了一种获取自定义环境贴图以及基于当前时刻选择户外环境贴图的方式。下面将结合示例进行说明。
具体地,动态对象在不同时间点往往具有不一样的户外环境贴图,例如,在下午2点时,户外环境贴图的天空是蓝色的,在下午6点时,户外环境贴图的天空是夕阳红的。因此,可根据目标时间点确定该目标时间点所对应的户外环境贴图。通常情况下,会预先保存若干个待选户外环境贴图,且每个待选户外环境贴图对应于一个时间点,这样的话,将距离目标时间点最近的一个时间点所对应的待选户外环境贴图,作为后续使用的户外环境贴图即可。
而对于自定义环境贴图而言,美术人员还可以自行进行设计,例如,在自定义环境贴图上预先设置的至少一个高亮区域(或光斑),每个高亮区域(或光斑)的平均亮度值大于自定义环境贴图的平均亮度值。将这些高亮区域(或光斑)布局在自定义环境贴图上,能够达到更加真实的光影效果。
为了便于理解,请参阅图9,图9为本申请实施例中动态对象在室内外移动的一个效果对比示意图,如图所示,从图9中的(A)图至(D)图模拟了动态对象从户外移动到室内的过程,在这个过程中,户外环境贴图所对应的第一权重值会逐渐减弱到0。这种方法避免了环境贴图的内容跳变,且可以支持一定的美术自定义效果。
再次,本申请实施例中,提供了一种获取自定义环境贴图以及基于当前时刻选择户外环境贴图的方式,通过上述方式,可根据目标时间点,选取更贴近该时间点光照颜色和亮度的户外环境贴图,并且,根据美术人员的设计,在自定义环境贴图上设置若干个亮度较高的区域用于仿真真实光照效果,由此,提升渲染效果的真实性。
基于此,下面将结合图示体现本申请与现有方案在渲染效果上的差异,为了便于说明,请参阅图10,图10为本申请与现有方案中动态对象在室内外移动的一个效果对比示意图,在现有方案中,以图10中的(A)图和(B)图为例,中间的白线为室内区域块和户外区块划分的边界。当动态对象在两个区域块之间移动(从室内到户外或者从户外到室内)的时候,环境贴图的内容会发生跳变,导致视觉效果较差,不符合真实世界的显示效果。
在本申请中,以图10中的(C)图和(D)图为例,中间的白线为室内区域块和户外区块划分的边界。当动态对象在两个区域块之间移动(从室内到户外或者从户外到室内)的时候,环境贴图的内容并未发生跳变,视觉效果较好,且符合真实世界的显示效果。
结合上述介绍,下面将以对室内静态对象进行渲染的过程为例,对本申请中对象渲染的方法进行介绍,在上述图6对应的各个实施例的基础上,或者,独立于图6所描述实施例的基础上,请参阅图11,本申请实施例中对象渲染方法的另一个实施例包括:
210、获取室内静态对象所处目标室内空间所对应的室内环境贴图,其中,室内环境贴图包括K个像素点,K为大于1的整数;
在一个或多个实施例中,对象渲染装置获取目标室内空间所对应的室内环境贴图,室内静态对象位于目标室内空间中。其中,室内环境贴图包括K个像素点,例如,室内环境贴图的尺寸为256*256,即包括65536个像素点。
需要说明的是,对象渲染装置可部署于终端设备,也可部署于服务器,还可以部署于由终端设备与服务器构成的对象渲染系统中,此处不做限定。
220、对室内环境贴图进行归一化处理,得到第一室内环境贴图,其中,第一室内环境贴图包括K个经过亮度归一化处理后的像素点;
在一个或多个实施例中,对象渲染装置对室内环境贴图进行归一化处理,即对室内环境贴图中的每个像素点进行亮度归一化处理,由此得到第一室内环境贴图。可以理解的是,亮度归一化处理目的是去掉室内环境贴图中的亮度信息,以便后续使用全局光照的色彩来替代。
230、若目标室内空间存在光源,则根据室内静态对象在目标室内空间内的空间位置信息,获取全局光照信息,其中,全局光照信息包括K个预设色彩信息,每个预设色彩信息对应于一个像素点;
在一个或多个实施例中,如果目标室内空间存在光源,那么对象渲染装置需要确定室内静态对象在目标室内空间内的空间位置信息,其中,由于室内静态对象相对于目标室内空间而言是静止,因此,可确定该室内静态对象在目标室内空间的空间位置信息。以球形的室内静态对象为例,空间位置信息可以包括球心的三维坐标值。
具体地,根据室内静态对象在目标室内空间的空间位置信息,可以确定该空间位置信息所对应的全局光照信息。可以理解的是,对象渲染装置会提前算好各种光的反弹结果,然后存到一些数据结构里,应用程序通过一些计算和转换可以拿到某个空间位置的全局光照信息。假设目标室内空间存在红色的光源,全局光照会把红色光线的各种反弹计算进来,最终结果就是在光源附近能够获取到偏红的全局光照信息。此外,全局光照信息还可能包括其他颜色的光照反弹到物体后的颜色。
240、根据第一室内环境贴图以及全局光照信息,生成第二室内环境贴图;
在一个或多个实施例中,对象渲染装置获取到的全局光照信息包括K个预设色彩信息,每个预设色彩信息对应于一个像素点,例如,像素点A所对应的预设色彩信息为(1,1,2)。基于此,针对于第一室内环境贴图中的每个像素点,采用每个像素点对应的色彩信息及其对应位置的预设色彩信息,计算出每个像素点变化后的色彩信息,由此,得到第二室内环境贴图。
250、采用第二室内环境贴图对室内静态对象进行渲染。
在一个或多个实施例中,对象渲染装置将第二室内环境贴图作为室内静态对象的贴图,并对该室内静态对象进行渲染,渲染后的室内静态对象能够显示出在室内的光照效果。
结合上述介绍,下面将对本申请提供的对象渲染方法的另一个实施例进行介绍。
终端设备在目标室内空间的目标位置上,显示室内静态对象;
若目标室内空间还存在光源,则终端设备采用第二室内环境贴图对室内静态对象进行渲染,得到已渲染的室内静态对象,其中,第二室内环境贴图为根据第一室内环境贴图以及全局光照信息生成的,全局光照信息为根据室内静态对象在目标室内空间内的空间位置信息获取到的,全局光照信息包括K个预设色彩信息,每个预设色彩信息对应于一个像素点,第一室内环境贴图为对室内环境贴图进行归一化处理后得到的,第一室内环境贴图包括K个经过亮度归一化处理后的像素点,室内环境贴图为目标室内空间所对应的环境贴图,室内环境贴图包括K个像素点,K为大于1的整数;
终端设备在目标室内空间的目标位置上,显示已渲染的室内静态对象,其中,已渲染的室内静态对象与室内静态对象具有不同的光照效果。
本实施例中,以游戏应用为例,在目标室内空间的目标位置上显示室内静态对象,例如,室内静态对象为一个在室内的静止小球。
具体地,终端设备获取目标室内空间所对应的室内环境贴图,室内静态对象位于目标室内空间中。然后,需要对室内环境贴图进行归一化处理,即对室内环境贴图中的每个像素点进行亮度归一化处理,由此得到第一室内环境贴图。可以理解的是,亮度归一化处理目的是去掉室内环境贴图中的亮度信息,以便后续使用全局光照的色彩来替代。如果目标室内空间还存在光源,那么需要确定室内静态对象在目标室内空间内的空间位置信息,由于室内静态对象相对于目标室内空间而言是静止,因此,可确定该室内静态对象在目标室内空间的空间位置信息。
基于此,针对于第一室内环境贴图中的每个像素点,采用每个像素点对应的色彩信息及其对应位置的预设色彩信息,计算出每个像素点变化后的色彩信息,由此,得到第二室内环境贴图。将第二室内环境贴图作为室内静态对象的贴图,并对该室内静态对象进行渲染。渲染后的室内静态对象能够显示出在室内的光照效果,即,已渲染的室内静态对象与室内静态对象具有不同的光照效果。
本申请实施例中,提供了一种对象渲染的方法,通过上述方式,对于在室内空间的静态对象而言,在室内空间存在光源的情况下,利用全局光照信息对室内环境贴图进行适应性处理,使其匹配室内空间中光源的颜色和亮度,从而提升视觉效果,使其更符合真实世界的显示效果。
可选地,在上述图11对应的各个实施例的基础上,本申请实施例提供的另一个可选实施例中,还可以包括:
获取N个室内空间所对应的待处理室内环境贴图,其中,N个室内空间包括目标室内空间,N为大于1的整数;
对待处理室内环境贴图进行编码处理,得到立方体贴图;
对立方体贴图进行解码处理,得到室内环境贴图;
获取室内静态对象所处目标室内空间所对应的室内环境贴图,具体可以包括:
将室内环境贴图作为室内静态对象所处目标室内空间所对应的室内环境贴图。
在一个或多个实施例中,介绍了一种在室内空间共用一张室内环境贴图的方式。为了最小程度降低渲染性能开销,还可以限制场景中同时使用的环境贴图数量,例如,设置为2。其中,户外空间的环境贴图存储的是天空,各个室内空间的环境贴图共用同一张白色光照环境下捕捉的立方体贴图。
具体地,在虚幻引擎4(Unreal Engine 4,UE4)中的默认方案是每个室内区域块的环境贴图都要匹配所在环境,即每个立方体贴图的内容都不同。为了便于说明,请参阅图12,图12为本申请实施例中优先前的环境反射立方体贴图的一个流程示意图,如图所示,假设室内区域块1和室内区域块2使用相同的环境立方体贴图(例如,环境立方体贴图1),但环境立方体贴图1需要分别进行预处理和编码,并在磁盘和内存中存储的两个不同的立方体贴图(例如,立方体贴图1_1和立方体贴图1_2)。
可见,在优化前不仅会造成磁盘和内存的使用大小增加,也会提高渲染实例化的难度,增加描绘次数(DrawCall)数量。基于此,为了实现室内共用环境贴图方法的最大性能优化,可通过修改UE的源代码实现优化UE4的环境反射流程。其中,环境反射流程指的是已经有环境贴图之后,中央处理器(central processing unit,CPU)如何二次处理成可以给GPU直接使用的贴图资源。
为了便于理解,请参阅图13,图13为本申请实施例中优化后的环境反射立方体贴图的另一个流程示意图,如图所示,假设N个室内空间包括室内区域块1和室内区域块2,对于室内区域块1和室内区域块2而言,都使用同一个待处理室内环境贴图(例如,环境立方体贴图1)。然后对室内环境贴图进行预处理和RGBM编码,得到立方体贴图(例如,立方体贴图1_1)。于是,将立方体贴图序列化到磁盘中,然后可以对立方体贴图进行解码处理,由此得到室内环境贴图。基于此,可直接将改室内环境贴图作为室内静态对象所处目标室内空间所对应的室内环境贴图。
可以理解的是,预处理可以将环境贴图转化为一个GPU可以直接读取的资源。例如,环境贴图可能分辨率很高,但GPU使用的分辨率不需要这么高,因此,可对分辨率做转化。
其次,本申请实施例中,提供了一种在室内空间共用一张室内环境贴图的方式,通过上述方式,所有的室内区域块都使用相同的立方体贴图,对立方体贴图只进行一次预处理和编码,然后序列化到磁盘中即可。由此,能够使得磁盘和内存的使用量较小,而且由于GPU使用的是同一个立方体贴图实例,因此,渲染实例化过程不会被打断。
可选地,在上述图11对应的各个实施例的基础上,本申请实施例提供的另一个可选实施例中,对室内环境贴图进行归一化处理,得到第一室内环境贴图,包括:
获取室内环境贴图中每个像素点所对应的色彩信息;
根据室内环境贴图中每个像素点所对应的色彩信息,确定室内环境贴图中每个像素点所对应的亮度值;
根据室内环境贴图中每个像素点所对应的亮度值,确定室内环境贴图所对应的室内平均亮度值;
将室内环境贴图中每个像素点所对应的亮度值除以室内平均亮度值,以得到第一室内环境贴图。
在一个或多个实施例中,介绍了一种对室内环境贴图进行亮度归一化处理的方式。在渲染时,并不直接使用室内环境贴图,而是先对室内环境贴图进行亮度归一化的处理。亮度归一化操作是将室内环境贴图上的每一个像素点,都除以整张室内环境贴图中所有像素点的平均亮度(即室内平均亮度值),这个操作主要是去掉贴图的亮度信息。
具体地,假设室内环境贴图的尺寸为256*256,即包括65536个像素点。针对于每个像素点,可分别获取其对应的色彩信息,其中,色彩信息具体可以表示为红绿蓝(red greenblue,RGB)信息,例如,(10,20,30)。基于此,根据每个像素点的色彩信息,可采用如下公式计算像素点对应的亮度值:
Y=(0.299*R)+(0.587*G)+(0.114*B);
其中,Y表示亮度值,R表示像素点的红(red,R)值,G表示像素点的绿(green,G)值,B表示像素点的蓝(blue,B)值。
基于此,将室内环境贴图中每个像素点所对应的亮度值进行加和之后求平均,得到室内平均亮度值。最后,针对室内环境贴图中每个像素点,分别将每个像素点所对应的亮度值除以室内平均亮度值,得到归一化后的亮度值,基于每个像素点归一化后的亮度值,得到归一化后的第一室内环境贴图。
需要说明的是,本申请的归一化并没有去掉室内环境贴图的色彩信息,且本申请所采用的立方体贴图是在白色光照的环境中捕捉出来的。
其次,本申请实施例中,提供了一种对室内环境贴图进行亮度归一化处理的方式,通过上述方式,能够去除室内环境贴图中的亮度信息,以便后续使用全局光照的色彩来替代,从而达到更贴近于真实光照的渲染效果。
可选地,在上述图11对应的各个实施例的基础上,本申请实施例提供的另一个可选实施例中,根据第一室内环境贴图以及全局光照信息,生成第二室内环境贴图,具体可以包括:
获取第一室内环境贴图中每个像素点所对应的色彩信息;
将第一室内环境贴图中每个像素点所对应的色彩信息,与全局光照信息中对应像素点的预设色彩信息进行相乘,得到K个像素点中每个像素点所对应的色彩信息;
根据K个像素点中每个像素点所对应的色彩信息,生成第二室内环境贴图。
在一个或多个实施例中,介绍了一种生成第二室内环境贴图的方式。由前述实施例可知,在得到第一室内环境贴图之后,还需要对第一室内环境贴图进行色彩适应性处理。引起室内环境的变化的原因,可能是不同位置的光源可能不一样,比如有的位置打了一盏很强烈的灯,有的位置没有灯。由于本申请中所有室内空间使用相同的待处理室内环境贴图,所以会出现实际环境和贴图内容不匹配的情况,因此,本申请在渲染时会对第一室内环境贴图做一次适应处理,以降低不匹配的程度。
具体地,假设第一室内环境贴图的尺寸为256*256,即包括65536个像素点(即,K为65536)。针对于每个像素点,可分别获取其对应的色彩信息,其中,色彩信息具体可以表示为RGB信息,例如,(10,20,30)。基于此,根据每个像素点的色彩信息,可采用如下公式计算像素点对应的色彩信息:
R’=R*a;
G’=G*b;
B’=B*c;
其中,R’表示像素点在第二室内环境贴图中的R值,R表示该像素点在第一室内环境贴图中的R值,a表示该像素点对应预设色彩信息中R对应的调节值。G’表示像素点在第二室内环境贴图中的G值,G表示该像素点在第一室内环境贴图中的G值,b表示该像素点对应预设色彩信息中G对应的调节值。B’表示像素点在第二室内环境贴图中的B值,B表示该像素点在第一室内环境贴图中的B值,c表示该像素点对应预设色彩信息中B对应的调节值。
具体地,为了便于理解,请参阅图14,图14为本申请实施例中对室内静态对象进行处理的一个流程示意图,如图所示,计算室内环境贴图中每个像素点所对应的亮度值。基于此,将室内环境贴图中每个像素点所对应的亮度值进行加和之后求平均,得到室内平均亮度值。针对室内环境贴图中每个像素点,分别将每个像素点所对应的亮度值除以室内平均亮度值,得到归一化后的亮度值,基于每个像素点归一化后的亮度值,得到归一化后的第一室内环境贴图。然后将第一室内环境贴图中每个像素点乘以全局光照信息,由此,得到适应后的第二室内环境贴图。
再次,本申请实施例中,提供了一种生成第二室内环境贴图的方式,通过上述方式,引起室内环境的变化的原因,主要是不同空间位置的光源可能不一样,有的空间位置有很强烈的光源,而有的空间位置没有光源,因此,基于全局光照信息对第一室内环境贴图中各个像素点的色彩信息进行调整,达到适应于全局光照的反射效果。
基于此,下面将结合图示体现本申请与现有方案在渲染效果上的差异,为了便于说明,请参阅图15,图15为本申请与现有方案中室内静态对象在不同室内空间的一个效果对比示意图,在现有方案中,以图15中的(A)图和(B)图为例,无论在什么环境下,白色框圈出来的头盔,其环境反射内容是一样的,并不会因为环境差异(例如,天空颜色变化或者室内光源变化等)而发生变化,导致视觉效果较差,不符合真实世界的显示效果。在本申请中,以图15中的(C)图和(D)图为例,在不同的环境中,白色框圈出来的区域可以看到环境贴图中的内容是一样的,但其渲染结果适应了所在位置的全局光照。通过这种方法,在只用一张室内环境贴图的情况下,也获得了较好的视觉效果,且符合真实世界的显示效果。
结合上述介绍,下面将以对户外静态对象进行渲染的过程为例,对本申请中对象渲染的方法进行介绍,在上述图6和/或图11对应的各个实施例的基础上,或者,独立于图6和/或图11所描述实施例的基础上,请参阅图16,本申请实施例中对象渲染方法的另一个实施例包括:
310、获取户外静态对象所处的户外空间所对应的至少两个待选户外环境贴图,其中,至少两个待选户外环境贴图中的每个待选户外环境贴图对应于一个时间点;
在一个或多个实施例中,对象渲染装置获取户外空间所对应的至少两个待选户外环境贴图,户外静态对象位于户外空间中。
具体地,每个待选户外环境贴图对应于一个时间点,为了便于理解,请参阅表1,表1为待选户外环境贴图与时间点对应关系的一个示意。
表1
待选户外环境贴图 | 时间点 |
户外环境贴图A | 8:00 |
户外环境贴图B | 9:00 |
户外环境贴图C | 10:00 |
户外环境贴图D | 11:00 |
户外环境贴图E | 12:00 |
户外环境贴图F | 13:00 |
户外环境贴图G | 14:00 |
户外环境贴图H | 15:00 |
户外环境贴图I | 16:00 |
户外环境贴图J | 16:30 |
户外环境贴图K | 17:00 |
户外环境贴图L | 17:30 |
户外环境贴图M | 18:00 |
户外环境贴图N | 19:00 |
由表1可知,考虑到在8点到16点之间的天空和亮度变化较小,因此,每小时设置一个时间点,而在16点到18点之间的天空和亮度变化较大,因此,每半小时设置一个时间点。可以理解的是,表1所示的时间点划分方式仅为一个示意,不应理解为对本申请的限定。
需要说明的是,对象渲染装置可部署于终端设备,也可部署于服务器,还可以部署于由终端设备与服务器构成的对象渲染系统中,此处不做限定。
320、从至少两个待选户外环境贴图中获取目标时间点所对应的户外环境贴图,其中,户外环境贴图包括Q个像素点,Q为大于1的整数;
在一个或多个实施例中,对象渲染装置从至少两个待选户外环境贴图中选择目标时间点所对应的户外环境贴图,该目标时间点可以是当前时刻所对应的时间点,也可以是某个指定时刻对应的时间点,此处不做限定。其中,户外环境贴图包括Q个像素点,例如,户外环境贴图的尺寸为256*256,即包括65536个像素点。
330、对户外环境贴图进行归一化处理,得到第一户外环境贴图,其中,第一户外环境贴图包括Q个经过亮度归一化处理后的像素点;
在一个或多个实施例中,对象渲染装置对户外环境贴图进行归一化处理,即对户外环境贴图中的每个像素点进行亮度归一化处理,由此得到第一户外环境贴图。可以理解的是,亮度归一化处理目的是去掉户外环境贴图中的亮度信息,以便后续使用全局光照的色彩来替代。
340、根据第一户外环境贴图以及户外光照信息,生成第二户外环境贴图,其中,户外光照信息包括Q个预设色彩信息,每个预设色彩信息对应于一个像素点,且户外光照信息与目标时间点具有对应关系;
在一个或多个实施例中,对象渲染装置可直接获取目标时间点对应的户外光照信息,其中,户外光照信息包括Q个预设色彩信息,每个预设色彩信息对应于一个像素点,例如,像素点A所对应的预设色彩信息为(1,1,2)。基于此,针对于第一户外环境贴图中的每个像素点,采用每个像素点对应的色彩信息及其对应位置的预设色彩信息,计算出每个像素点变化后的色彩信息,由此,得到第二户外环境贴图。
350、采用第二户外环境贴图对户外静态对象进行渲染。
在一个或多个实施例中,对象渲染装置将第二户外环境贴图作为户外静态对象的贴图,并对该户外静态对象进行渲染,渲染后的户外静态对象能够显示出在户外的光照效果。
结合上述介绍,下面将对本申请提供的对象渲染方法的另一个实施例进行介绍。
当在第一时间点时,终端设备在户外空间的目标位置上,显示户外静态对象;
当在第二时间点时,终端设备采用第二户外环境贴图对户外静态对象进行渲染,得到已渲染的户外静态对象,其中,第二户外环境贴图为根据第一户外环境贴图以及户外光照信息生成的,户外光照信息包括Q个预设色彩信息,每个预设色彩信息对应于一个像素点,且户外光照信息与目标时间点具有对应关系,第一户外环境贴图为对户外环境贴图进行归一化处理后得到的,第一户外环境贴图包括Q个经过亮度归一化处理后的像素点,户外环境贴图来源于至少两个待选户外环境贴图,至少两个待选户外环境贴图中的每个待选户外环境贴图对应于一个时间点,户外环境贴图包括Q个像素点,Q为大于1的整数;
终端设备在户外空间的目标位置上,显示已渲染的户外静态对象,其中,已渲染的户外静态对象与户外静态对象具有不同的光照效果。
本实施例中,以游戏应用为例,在户外空间的目标位置上显示户外静态对象,例如,户外静态对象为一个在户外的静止小球。
具体地,当在第一时间点时,终端设备在户外空间的目标位置上,显示户外静态对象。经过一段时间之后,当在第二时间点时,从至少两个待选户外环境贴图中选择第二时间点所对应的户外环境贴图。然后,对户外环境贴图进行归一化处理,即对户外环境贴图中的每个像素点进行亮度归一化处理,由此得到第一户外环境贴图。可以理解的是,亮度归一化处理目的是去掉户外环境贴图中的亮度信息,以便后续使用全局光照的色彩来替代。
基于此,终端设备还可以直接获取目标时间点对应的户外光照信息,其中,户外光照信息包括Q个预设色彩信息,每个预设色彩信息对应于一个像素点。针对于第一户外环境贴图中的每个像素点,采用每个像素点对应的色彩信息及其对应位置的预设色彩信息,计算出每个像素点变化后的色彩信息,由此,得到第二户外环境贴图。将第二户外环境贴图作为户外静态对象的贴图,并对该户外静态对象进行渲染,得到已渲染的户外静态对象。渲染后的户外静态对象能够显示出在户外的光照效果,即,已渲染的户外静态对象与户外静态对象具有不同的光照效果。
本申请实施例中,提供了一种对象渲染的方法,通过上述方式,对于在户外空间的静态对象而言,在户外空间存在光源的情况下,考虑到不同时间点的光照变化,在实时渲染时根据当前时间点选择最近时间点的户外环境贴图作为环境反射源,从而提升视觉效果,使其更符合真实世界的显示效果。
可选地,在上述图17对应的各个实施例的基础上,本申请实施例提供的另一个可选实施例中,从至少两个待选户外环境贴图中获取目标时间点所对应的户外环境贴图,具体可以包括:
根据目标时间点确定第一时间点以及第二时间点,其中,第一时间点为目标时间点相邻的前一个时间点,第二时间点为目标时间点相邻的后一个时间点;
若目标时间点与第一时间点之间的时长小于目标时间点与第二时间点之间的时长,则将第一时间点所对应的待选户外环境贴图确定为目标时间点所对应的户外环境贴图;
若目标时间点与第一时间点之间的时长大于目标时间点与第二时间点之间的时长,则将第二时间点所对应的待选户外环境贴图确定为目标时间点所对应的户外环境贴图。
在一个或多个实施例中,介绍了一种基于目标时间点选择户外环境贴图的方式。由前述实施例可知,户外光照环境的变化和室内光照环境变化不同,户外光照环境的变化通常与时间点有关,例如,从12点变为18点,天空从蓝色变为夕阳红。因此,可预先保存多个时间点对应的待选户外环境贴图,在实时渲染时根据目标时间点选择最近时间点的待选户外环境贴图作为环境反射源。可以理解的是,预先设置的时间点分布通常是不均匀的,例如,从12点到14点的光照变化并不大,因此,可以只设置1个时间点。然而,从17点到18点由于日落环境变化很大,天空的颜色可能在短时间内就从蓝色变为夕阳红,这种情况下需要设置密集的时间点。
具体地,为了便于理解,请参阅图17,图17为本申请实施例中待选户外环境贴图序列的一个示意图,从15点到18点存储有6个时间点分别对应的待选户外环境贴图,假设目标时间段为17点50分,那么可确定目标时间点相邻的前一个时间点是17点30分(即第一时间点为17点30分),目标时间点相邻的后一个时间点是18点(即第二时间点为18点)。目标时间点与第一时间点之间的时长为20分钟,目标时间点与第二时间点之间的时长为10分钟,因此,即目标时间点与第一时间点之间的时长大于目标时间点与第二时间点之间的时长,则将第二时间点(即18点)所对应的待选户外环境贴图确定为目标时间点所对应的户外环境贴图。
又假设目标时间段为17点10分,那么可确定目标时间点相邻的前一个时间点是17点(即第一时间点为17点),目标时间点相邻的后一个时间点是17点30分(即第二时间点为17点30分)。目标时间点与第一时间点之间的时长为10分钟,目标时间点与第二时间点之间的时长为20分钟,因此,即目标时间点与第一时间点之间的时长小于目标时间点与第二时间点之间的时长,则将第一时间点(即17点)所对应的待选户外环境贴图确定为目标时间点所对应的户外环境贴图。
其次,本申请实施例中,提供了一种基于目标时间点选择户外环境贴图的方式,通过上述方式,考虑到户外光照环境的变化和室内不一样,通常与位置无关而,但是与时间有关,因此,找到与目标时间点最接近的一个时间点,并将该时间点对应的待选户外环境贴图作为目标时间点的户外环境贴图,从而提升视觉效果,使其更符合真实世界的显示效果。
可选地,在上述图17对应的各个实施例的基础上,本申请实施例提供的另一个可选实施例中,对户外环境贴图进行归一化处理,得到第一户外环境贴图,具体可以包括:
获取户外环境贴图中每个像素点所对应的色彩信息;
根据户外环境贴图中每个像素点所对应的色彩信息,确定户外环境贴图中每个像素点所对应的亮度值;
获取户外环境贴图所对应的户外平均亮度值,其中,户外平均亮度值为根据户外环境贴图中每个像素点所对应的亮度值确定的,或者,户外平均亮度值为根据相邻两个时间点分别对应的待选户外环境贴图确定的,相邻两个时间点为目标时间点相邻的前一个时间点以及相邻的后一个时间点;
将户外环境贴图中每个像素点所对应的亮度值除以户外平均亮度值,以得到第一户外环境贴图。
在一个或多个实施例中,介绍了一种对户外环境贴图进行亮度归一化处理的方式。由前述实施例可知,在实时渲染时根据目标时间点,选择最近时间点的户外环境贴图作为环境反射源。为了减少时间流逝时贴图内容跳变的影响,户外平均亮度值取决于最近的两个时间点的待选户外环境贴图中存储的亮度值。
具体地,假设户外环境贴图的尺寸为256*256,即包括65536个像素点。针对于每个像素点,可分别获取其对应的色彩信息,其中,色彩信息具体可以表示为RGB信息,例如,(10,20,30)。基于此,根据每个像素点的色彩信息,可采用如下公式计算像素点对应的亮度值:
Y=(0.299*R)+(0.587*G)+(0.114*B);
其中,Y表示亮度值,R表示像素点的R值,G表示像素点的G值,B表示像素点的B值。
此外,还可以采用如下两种方式获取户外平均亮度值。
示例性地,将户外环境贴图中每个像素点所对应的亮度值进行加和之后求平均,得到户外平均亮度值。
示例性地,确定目标时间点相邻的前一个时间点以及相邻的后一个时间点,由此,分别获取这两个相邻时间点对应的待选户外环境贴图。再对这两个待选户外环境贴图进行平滑插值。假设目标时间点是18:00,那么户外平均亮度值可以是基于17:30的待选户外环境贴图和18:30的待选户外环境贴图的平滑插值结果。
基于此,针对户外环境贴图中每个像素点,分别将每个像素点所对应的亮度值除以户外平均亮度值,得到归一化后的亮度值,基于每个像素点归一化后的亮度值,得到归一化后的第一户外环境贴图。
需要说明的是,本申请的归一化并没有去掉户外环境贴图的色彩信息。
其次,本申请实施例中,提供了一种对户外环境贴图进行亮度归一化处理的方式,通过上述方式,能够去除户外环境贴图中的亮度信息,以便后续使用全局光照的色彩来替代,从而达到更贴近于真实光照的渲染效果。
可选地,在上述图17对应的各个实施例的基础上,本申请实施例提供的另一个可选实施例中,根据第一户外环境贴图以及户外光照信息,生成第二户外环境贴图,具体可以包括:
获取第一户外环境贴图中每个像素点所对应的色彩信息;
将第一户外环境贴图中每个像素点所对应的色彩信息,与户外光照信息中对应像素点的预设色彩信息进行相乘,得到Q个像素点中每个像素点所对应的色彩信息;
根据Q个像素点中每个像素点所对应的色彩信息,生成第二户外环境贴图。
在一个或多个实施例中,介绍了一种生成第二户外环境贴图的方式。由前述实施例可知,在得到第一户外环境贴图之后,还需要对第一户外环境贴图进行色彩适应性处理。由于不同时间点的户外光照信息不同,因此,本申请在渲染时会对第一户外环境贴图做一次适应处理,以降低不匹配的程度。
具体地,假设第一户外环境贴图的尺寸为256*256,即包括65536个像素点(即,Q为65536)。针对于每个像素点,可分别获取其对应的色彩信息,其中,色彩信息具体可以表示为RGB信息,例如,(10,20,30)。基于此,根据每个像素点的色彩信息,可采用如下公式计算像素点对应的色彩信息:
R2=R1*a1;
G2=G1*b1;
B2=B1*c1;
其中,R2表示像素点在第二户外环境贴图中的R值,R1表示该像素点在第一户外环境贴图中的R值,a1表示该像素点对应预设色彩信息中R对应的调节值。G2表示像素点在第二户外环境贴图中的G值,G1表示该像素点在第一户外环境贴图中的G值,b1表示该像素点对应预设色彩信息中G对应的调节值。B2表示像素点在第二户外环境贴图中的B值,B1表示该像素点在第一户外环境贴图中的B值,c1表示该像素点对应预设色彩信息中B对应的调节值。
具体地,为了便于理解,请参阅图18,图18为本申请实施例中对户外静态对象进行处理的一个流程示意图,如图所示,首先选时间点最接近的户外环境贴图,然后计算户外环境贴图中每个像素点所对应的亮度值。基于此,将户外环境贴图中每个像素点所对应的亮度值进行加和之后求平均,得到户外平均亮度值。针对户外环境贴图中每个像素点,分别将每个像素点所对应的亮度值除以户外平均亮度值,得到归一化后的亮度值,基于每个像素点归一化后的亮度值,得到归一化后的第一户外环境贴图。然后将第一户外环境贴图中每个像素点乘以户外光照信息,由此,得到适应后的第二户外环境贴图。
再次,本申请实施例中,提供了一种生成第二户外环境贴图的方式,通过上述方式,考虑到户外光照环境的变化和室内不一样,通常与位置无关而,但是与时间有关,因此,基于目标时间点对应的户外光照信息对第一户外环境贴图中各个像素点的色彩信息进行调整,达到适应于全局光照的反射效果。
基于此,下面将结合图示体现本申请与现有方案在渲染效果上的差异,为了便于说明,请参阅图19,图19为本申请与现有方案中户外静态对象在不同时间点的一个效果对比示意图,在现有方案中,以图19中的(A)图和(B)图为例,无论在什么时间点,小球反射的亮度是一样的。由于设备性能限制,环境贴图一般都选择预先生成,当运行时环境发生变化的时候,立方体贴图不进行更新就会导致渲染结果错误。因无法支持动态的光照环境变化导致视觉效果较差,不符合真实世界的显示效果。在本申请中,以图19中的(C)图、(D)图、(E)图和(F)图为例,在不同的时间点,小球反射的亮度与环境光照相适应,由此获得了较好的视觉效果,且符合真实世界的显示效果。渲染过程中的处理和UE4引擎的默认行为基本一致。
下面对本申请中的对象渲染装置进行详细描述,请参阅图20,图20为本申请实施例中对象渲染装置的一个实施例示意图,对象渲染装置40包括:
获取模块410,用于获取动态对象的室内外空间信息,其中,室内外空间信息表示动态对象分别在室内空间和户外空间所占的面积比例;
确定模块420,用于根据室内外空间信息,确定户外环境贴图所对应的第一权重值以及自定义环境贴图所对应的第二权重值,其中,自定义环境贴图为预先设置的灰度图像;
渲染模块430,用于采用第一权重值、第二权重值、户外环境贴图以及自定义环境贴图,对动态对象进行渲染。
本申请实施例中,提供了一种对象渲染装置。采用上述装置,对于动态对象而言,能够根据该动态对象当前所处于的室内外空间比例,分别控制自定义环境贴图与户外环境贴图的亮度权重值,在渲染过程中,基于更新后的亮度值对自定义环境贴图与户外环境贴图进行混合,由此得到具有亮度过渡效果的渲染结果,从而提升视觉效果,使其更符合真实世界的显示效果。
可选地,在上述图20所对应的实施例的基础上,本申请实施例提供的对象渲染装置40的另一实施例中,
确定模块420,具体用于根据室内外空间信息,确定动态对象在室内空间占据第一比例,以及在户外空间占据第二比例,其中,第一比例与第二比例之和为固定比例;
若第一比例为固定比例,且,第二比例为0,则将户外环境贴图所对应的第一权重值确定为0,并且将自定义环境贴图所对应的第二权重值确定为最大权重值;
若第二比例为固定比例,且,第一比例为0,则将户外环境贴图所对应的第一权重值确定为最大权重值,并且将自定义环境贴图所对应的第二权重值确定为0。
本申请实施例中,提供了一种对象渲染装置。采用上述装置,基于动态对象在室内空间占据的比例以及在户外空间占据的比例,能够动态地调整户外环境贴图和自定义环境贴图的权重值,从而得到更贴近于真实光照效果的视觉体验。
可选地,在上述图20所对应的实施例的基础上,本申请实施例提供的对象渲染装置40的另一实施例中,
渲染模块430,具体用于针对于所述户外环境贴图,将第一初始权重值更新为所述第一权重值;
针对于所述自定义环境贴图,将第二初始权重值更新为所述第二权重值;
基于所述第一权重值以及所述所述第二权重值,通过图形处理器对所述户外环境贴图以及所述自定义环境贴图进行混合,得到所述动态对象的渲染结果。
本申请实施例中,提供了一种对象渲染装置。采用上述装置,利用第一权重值和第二权重值对户外环境贴图和自定义环境贴图进行渲染,达到混合渲染的效果,由此增加方案的可行性和可操作性。
可选地,在上述图20所对应的实施例的基础上,本申请实施例提供的对象渲染装置40的另一实施例中,
获取模块410,还用于获取户外环境贴图,其中,户外环境贴图对应于目标时间点,目标时间点包含于至少一个时间点,至少一个时间点中的每个时间点对应于一个待选户外环境贴图;
获取模块410,还用于获取自定义环境贴图,其中,自定义环境贴图包括预先设置的至少一个高亮区域,每个高亮区域的平均亮度值大于自定义环境贴图的平均亮度值。
本申请实施例中,提供了一种对象渲染装置。采用上述装置,可根据目标时间点,选取更贴近该时间点光照颜色和亮度的户外环境贴图,并且,根据美术人员的设计,在自定义环境贴图上设置若干个亮度较高的区域用于仿真真实光照效果,由此,提升渲染效果的真实性。
可选地,在上述图20所对应的实施例的基础上,本申请实施例提供的对象渲染装置40的另一实施例中,对象渲染装置40还包括处理模块440以及生成模块450;
获取模块410,还用于获取室内静态对象所处目标室内空间所对应的室内环境贴图,其中,室内环境贴图包括K个像素点,K为大于1的整数;
处理模块440,还用于对室内环境贴图进行归一化处理,得到第一室内环境贴图,其中,第一室内环境贴图包括K个经过亮度归一化处理后的像素点;
获取模块410,还用于若目标室内空间存在光源,则根据室内静态对象在目标室内空间内的空间位置信息,获取全局光照信息,其中,全局光照信息包括K个预设色彩信息,每个预设色彩信息对应于一个像素点;
生成模块450,用于根据第一室内环境贴图以及全局光照信息,生成第二室内环境贴图;
渲染模块430,还用于采用第二室内环境贴图对室内静态对象进行渲染。
本申请实施例中,提供了一种对象渲染装置。采用上述装置,对于在室内空间的静态对象而言,在室内空间存在光源的情况下,利用全局光照信息对室内环境贴图进行适应性处理,使其匹配室内空间中光源的颜色和亮度,从而提升视觉效果,使其更符合真实世界的显示效果。
可选地,在上述图20所对应的实施例的基础上,本申请实施例提供的对象渲染装置40的另一实施例中,
获取模块410,还用于获取N个室内空间所对应的待处理室内环境贴图,其中,N个室内空间包括目标室内空间,N为大于1的整数;
处理模块440,还用于对待处理室内环境贴图进行编码处理,得到立方体贴图;
处理模块440,还用于对立方体贴图进行解码处理,得到室内环境贴图;
获取模块410,具体用于将室内环境贴图作为室内静态对象所处目标室内空间所对应的室内环境贴图。
本申请实施例中,提供了一种对象渲染装置。采用上述装置,所有的室内区域块都使用相同的立方体贴图,对立方体贴图只进行一次预处理和编码,然后序列化到磁盘中即可。由此,能够使得磁盘和内存的使用量较小,而且由于GPU使用的是同一个立方体贴图实例,因此,渲染实例化过程不会被打断。
可选地,在上述图20所对应的实施例的基础上,本申请实施例提供的对象渲染装置40的另一实施例中,
处理模块440,具体用于获取室内环境贴图中每个像素点所对应的色彩信息;
根据室内环境贴图中每个像素点所对应的色彩信息,确定室内环境贴图中每个像素点所对应的亮度值;
根据室内环境贴图中每个像素点所对应的亮度值,确定室内环境贴图所对应的室内平均亮度值;
将室内环境贴图中每个像素点所对应的亮度值除以室内平均亮度值,以得到第一室内环境贴图。
本申请实施例中,提供了一种对象渲染装置。采用上述装置,能够去除室内环境贴图中的亮度信息,以便后续使用全局光照的色彩来替代,从而达到更贴近于真实光照的渲染效果。
可选地,在上述图20所对应的实施例的基础上,本申请实施例提供的对象渲染装置40的另一实施例中,
生成模块450,具体用于获取第一室内环境贴图中每个像素点所对应的色彩信息;
将第一室内环境贴图中每个像素点所对应的色彩信息,与全局光照信息中对应像素点的预设色彩信息进行相乘,得到K个像素点中每个像素点所对应的色彩信息;
根据K个像素点中每个像素点所对应的色彩信息,生成第二室内环境贴图。
本申请实施例中,提供了一种对象渲染装置。采用上述装置,引起室内环境的变化的原因,主要是不同空间位置的光源可能不一样,有的空间位置有很强烈的光源,而有的空间位置没有光源,因此,基于全局光照信息对第一室内环境贴图中各个像素点的色彩信息进行调整,达到适应于全局光照的反射效果。
可选地,在上述图20所对应的实施例的基础上,本申请实施例提供的对象渲染装置40的另一实施例中,
获取模块410,用于获取户外静态对象所处的户外空间所对应的至少两个待选户外环境贴图,其中,至少两个待选户外环境贴图中的每个待选户外环境贴图对应于一个时间点;
获取模块410,还用于从至少两个待选户外环境贴图中获取目标时间点所对应的户外环境贴图,其中,户外环境贴图包括Q个像素点,Q为大于1的整数;
处理模块440,还用于对户外环境贴图进行归一化处理,得到第一户外环境贴图,其中,第一户外环境贴图包括Q个经过亮度归一化处理后的像素点;
生成模块450,还用于根据第一户外环境贴图以及户外光照信息,生成第二户外环境贴图,其中,户外光照信息包括Q个预设色彩信息,每个预设色彩信息对应于一个像素点,且户外光照信息与目标时间点具有对应关系;
渲染模块430,还用于采用第二户外环境贴图对户外静态对象进行渲染。
本申请实施例中,提供了一种对象渲染装置。采用上述装置,对于在户外空间的静态对象而言,在户外空间存在光源的情况下,考虑到不同时间点的光照变化,在实时渲染时根据当前时间点选择最近时间点的户外环境贴图作为环境反射源,从而提升视觉效果,使其更符合真实世界的显示效果。
可选地,在上述图20所对应的实施例的基础上,本申请实施例提供的对象渲染装置40的另一实施例中,
获取模块410,具体用于根据目标时间点确定第一时间点以及第二时间点,其中,第一时间点为目标时间点相邻的前一个时间点,第二时间点为目标时间点相邻的后一个时间点;
若目标时间点与第一时间点之间的时长小于目标时间点与第二时间点之间的时长,则将第一时间点所对应的待选户外环境贴图确定为目标时间点所对应的户外环境贴图;
若目标时间点与第一时间点之间的时长大于目标时间点与第二时间点之间的时长,则将第二时间点所对应的待选户外环境贴图确定为目标时间点所对应的户外环境贴图。
本申请实施例中,提供了一种对象渲染装置。采用上述装置,考虑到户外光照环境的变化和室内不一样,通常与位置无关而,但是与时间有关,因此,找到与目标时间点最接近的一个时间点,并将该时间点对应的待选户外环境贴图作为目标时间点的户外环境贴图,从而提升视觉效果,使其更符合真实世界的显示效果。
可选地,在上述图20所对应的实施例的基础上,本申请实施例提供的对象渲染装置40的另一实施例中,
处理模块440,具体用于获取户外环境贴图中每个像素点所对应的色彩信息;
根据户外环境贴图中每个像素点所对应的色彩信息,确定户外环境贴图中每个像素点所对应的亮度值;
获取户外环境贴图所对应的户外平均亮度值,其中,户外平均亮度值为根据户外环境贴图中每个像素点所对应的亮度值确定的,或者,户外平均亮度值为根据相邻两个时间点分别对应的待选户外环境贴图确定的,相邻两个时间点为目标时间点相邻的前一个时间点以及相邻的后一个时间点;
将户外环境贴图中每个像素点所对应的亮度值除以户外平均亮度值,以得到第一户外环境贴图。
本申请实施例中,提供了一种对象渲染装置。采用上述装置,能够去除户外环境贴图中的亮度信息,以便后续使用全局光照的色彩来替代,从而达到更贴近于真实光照的渲染效果。
可选地,在上述图20所对应的实施例的基础上,本申请实施例提供的对象渲染装置40的另一实施例中,
生成模块450,具体用于获取第一户外环境贴图中每个像素点所对应的色彩信息;
将第一户外环境贴图中每个像素点所对应的色彩信息,与户外光照信息中对应像素点的预设色彩信息进行相乘,得到Q个像素点中每个像素点所对应的色彩信息;
根据Q个像素点中每个像素点所对应的色彩信息,生成第二户外环境贴图。
本申请实施例中,提供了一种对象渲染装置。采用上述装置,考虑到户外光照环境的变化和室内不一样,通常与位置无关而,但是与时间有关,因此,基于目标时间点对应的户外光照信息对第一户外环境贴图中各个像素点的色彩信息进行调整,达到适应于全局光照的反射效果。
下面对本申请中的对象渲染装置进行详细描述,请参阅图21,图21为本申请实施例中对象渲染装置的一个实施例示意图,对象渲染装置50包括:
获取模块510,用于获取室内静态对象所处目标室内空间所对应的室内环境贴图,其中,室内环境贴图包括K个像素点,K为大于1的整数;
处理模块520,用于对室内环境贴图进行归一化处理,得到第一室内环境贴图,其中,第一室内环境贴图包括K个经过亮度归一化处理后的像素点;
获取模块510,还用于若目标室内空间存在光源,则根据室内静态对象在目标室内空间内的空间位置信息,获取全局光照信息,其中,全局光照信息包括K个预设色彩信息,每个预设色彩信息对应于一个像素点;
生成模块530,用于根据第一室内环境贴图以及全局光照信息,生成第二室内环境贴图;
渲染模块540,用于采用第二室内环境贴图对室内静态对象进行渲染。
下面对本申请中的对象渲染装置进行详细描述,请参阅图22,图22为本申请实施例中对象渲染装置的一个实施例示意图,对象渲染装置60包括:
获取模块610,用于获取户外静态对象所处的户外空间所对应的至少两个待选户外环境贴图,其中,至少两个待选户外环境贴图中的每个待选户外环境贴图对应于一个时间点;
获取模块610,还用于从至少两个待选户外环境贴图中获取目标时间点所对应的户外环境贴图,其中,户外环境贴图包括Q个像素点,Q为大于1的整数;
处理模块620,用于对户外环境贴图进行归一化处理,得到第一户外环境贴图,其中,第一户外环境贴图包括Q个经过亮度归一化处理后的像素点;
生成模块630,用于根据第一户外环境贴图以及户外光照信息,生成第二户外环境贴图,其中,户外光照信息包括Q个预设色彩信息,每个预设色彩信息对应于一个像素点,且户外光照信息与目标时间点具有对应关系;
渲染模块640,用于采用第二户外环境贴图对户外静态对象进行渲染。
本申请实施例还提供了另一种对象渲染装置,该对象渲染装置部署于计算机设备,计算机设备可以是终端设备或者服务器。以计算机设备为终端设备为例,如图23所示,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请实施例方法部分。在本申请实施例中,以终端设备为智能手机为例进行说明:
图23示出的是与本申请实施例提供的终端设备相关的智能手机的部分结构的框图。参考图23,智能手机包括:射频(radio frequency,RF)电路710、存储器720、输入单元730、显示单元740、传感器750、音频电路760、无线保真(wireless fidelity,WiFi)模块770、处理器780、以及电源790等部件。本领域技术人员可以理解,图23中示出的智能手机结构并不构成对智能手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图23对智能手机的各个构成部件进行具体的介绍:
RF电路710可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器780处理;另外,将设计上行的数据发送给基站。通常,RF电路710包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(low noiseamplifier,LNA)、双工器等。此外,RF电路710还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(globalsystem of mobile communication,GSM)、通用分组无线服务(general packet radioservice,GPRS)、码分多址(code division multiple access,CDMA)、宽带码分多址(wideband code division multiple access,WCDMA)、长期演进(long term evolution,LTE)、电子邮件、短消息服务(short messaging service,SMS)等。
存储器720可用于存储软件程序以及模块,处理器780通过运行存储在存储器720的软件程序以及模块,从而执行智能手机的各种功能应用以及数据处理。存储器720可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据智能手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器720可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元730可用于接收输入的数字或字符信息,以及产生与智能手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元730可包括触控面板731以及其他输入设备732。触控面板731,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板731上或在触控面板731附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板731可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器780,并能接收处理器780发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板731。除了触控面板731,输入单元730还可以包括其他输入设备732。具体地,其他输入设备732可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元740可用于显示由用户输入的信息或提供给用户的信息以及智能手机的各种菜单。显示单元740可包括显示面板741,可选的,可以采用液晶显示器(liquidcrystal display,LCD)、有机发光二极管(organic light-emitting diode,OLED)等形式来配置显示面板741。进一步的,触控面板731可覆盖显示面板741,当触控面板731检测到在其上或附近的触摸操作后,传送给处理器780以确定触摸事件的类型,随后处理器780根据触摸事件的类型在显示面板741上提供相应的视觉输出。虽然在图23中,触控面板731与显示面板741是作为两个独立的部件来实现智能手机的输入和输入功能,但是在某些实施例中,可以将触控面板731与显示面板741集成而实现智能手机的输入和输出功能。
智能手机还可包括至少一种传感器750,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板741的亮度,接近传感器可在智能手机移动到耳边时,关闭显示面板741和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别智能手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于智能手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路760、扬声器761,传声器762可提供用户与智能手机之间的音频接口。音频电路760可将接收到的音频数据转换后的电信号,传输到扬声器761,由扬声器761转换为声音信号输出;另一方面,传声器762将收集的声音信号转换为电信号,由音频电路760接收后转换为音频数据,再将音频数据输出处理器780处理后,经RF电路710以发送给比如另一智能手机,或者将音频数据输出至存储器720以便进一步处理。
WiFi属于短距离无线传输技术,智能手机通过WiFi模块770可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图23示出了WiFi模块770,但是可以理解的是,其并不属于智能手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器780是智能手机的控制中心,利用各种接口和线路连接整个智能手机的各个部分,通过运行或执行存储在存储器720内的软件程序和/或模块,以及调用存储在存储器720内的数据,执行智能手机的各种功能和处理数据,从而对智能手机进行整体监控。可选的,处理器780可包括一个或多个处理单元;可选的,处理器780可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器780中。
智能手机还包括给各个部件供电的电源790(比如电池),可选的,电源可以通过电源管理系统与处理器780逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
尽管未示出,智能手机还可以包括摄像头、蓝牙模块等,在此不再赘述。
上述实施例中由终端设备所执行的步骤可以基于该图23所示的终端设备结构。
本申请实施例中还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行如前述各个实施例描述的方法。
本申请实施例中还提供一种包括程序的计算机程序产品,当其在计算机上运行时,使得计算机执行前述各个实施例描述的方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (18)
1.一种对象渲染的方法,其特征在于,包括:
获取动态对象的室内外空间信息,其中,所述室内外空间信息表示所述动态对象分别在室内空间和户外空间所占的面积比例;
根据所述室内外空间信息,确定户外环境贴图所对应的第一权重值以及自定义环境贴图所对应的第二权重值,其中,所述自定义环境贴图为预先设置的灰度图像;
采用所述第一权重值、所述第二权重值、所述户外环境贴图以及所述自定义环境贴图,对所述动态对象进行渲染。
2.根据权利要求1所述的方法,其特征在于,所述根据所述室内外空间信息,确定户外环境贴图所对应的第一权重值以及自定义环境贴图所对应的第二权重值,包括:
根据所述室内外空间信息,确定所述动态对象在所述室内空间占据第一比例,以及在所述户外空间占据第二比例,其中,所述第一比例与所述第二比例之和为固定比例;
若所述第一比例为所述固定比例,且,所述第二比例为0,则将所述户外环境贴图所对应的所述第一权重值确定为0,并且将所述自定义环境贴图所对应的所述第二权重值确定为最大权重值;
若所述第二比例为所述固定比例,且,所述第一比例为0,则将所述户外环境贴图所对应的所述第一权重值确定为所述最大权重值,并且将所述自定义环境贴图所对应的所述第二权重值确定为0。
3.根据权利要求1所述的方法,其特征在于,所述采用所述第一权重值、所述第二权重值、所述户外环境贴图以及所述自定义环境贴图,对所述动态对象进行渲染,包括:
针对于所述户外环境贴图,将第一初始权重值更新为所述第一权重值;
针对于所述自定义环境贴图,将第二初始权重值更新为所述第二权重值;
基于所述第一权重值以及所述所述第二权重值,通过图形处理器对所述户外环境贴图以及所述自定义环境贴图进行混合,得到所述动态对象的渲染结果。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述方法还包括:
获取所述户外环境贴图,其中,所述户外环境贴图对应于目标时间点,所述目标时间点包含于至少一个时间点,所述至少一个时间点中的每个时间点对应于一个待选户外环境贴图;
获取所述自定义环境贴图,其中,所述自定义环境贴图包括预先设置的至少一个高亮区域,每个高亮区域的平均亮度值大于所述自定义环境贴图的平均亮度值。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取室内静态对象所处目标室内空间所对应的室内环境贴图,其中,所述室内环境贴图包括K个像素点,所述K为大于1的整数;
对所述室内环境贴图进行归一化处理,得到第一室内环境贴图,其中,所述第一室内环境贴图包括K个经过亮度归一化处理后的像素点;
若所述目标室内空间存在光源,则根据所述室内静态对象在所述目标室内空间内的空间位置信息,获取所述全局光照信息,其中,所述全局光照信息包括K个预设色彩信息,每个预设色彩信息对应于一个像素点;
根据所述第一室内环境贴图以及所述全局光照信息,生成第二室内环境贴图;
采用所述第二室内环境贴图对所述室内静态对象进行渲染。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
获取N个室内空间所对应的待处理室内环境贴图,其中,所述N个室内空间包括所述目标室内空间,所述N为大于1的整数;
对所述待处理室内环境贴图进行编码处理,得到立方体贴图;
对所述立方体贴图进行解码处理,得到所述室内环境贴图;
所述获取室内静态对象所处目标室内空间所对应的室内环境贴图,包括:
将所述室内环境贴图作为所述室内静态对象所处所述目标室内空间所对应的所述室内环境贴图。
7.根据权利要求5所述的方法,其特征在于,所述对所述室内环境贴图进行归一化处理,得到第一室内环境贴图,包括:
获取所述室内环境贴图中每个像素点所对应的色彩信息;
根据所述室内环境贴图中所述每个像素点所对应的色彩信息,确定所述室内环境贴图中所述每个像素点所对应的亮度值;
根据所述室内环境贴图中所述每个像素点所对应的亮度值,确定所述室内环境贴图所对应的室内平均亮度值;
将所述室内环境贴图中所述每个像素点所对应的亮度值除以所述室内平均亮度值,以得到所述第一室内环境贴图。
8.根据权利要求5至7中任一项所述的方法,其特征在于,所述根据所述第一室内环境贴图以及所述全局光照信息,生成第二室内环境贴图,包括:
获取所述第一室内环境贴图中每个像素点所对应的色彩信息;
将所述第一室内环境贴图中每个像素点所对应的色彩信息,与所述全局光照信息中对应像素点的预设色彩信息进行相乘,得到所述K个像素点中每个像素点所对应的色彩信息;
根据所述K个像素点中每个像素点所对应的色彩信息,生成所述第二室内环境贴图。
9.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取户外静态对象所处的户外空间所对应的至少两个待选户外环境贴图,其中,所述至少两个待选户外环境贴图中的每个待选户外环境贴图对应于一个时间点;
从所述至少两个待选户外环境贴图中获取目标时间点所对应的户外环境贴图,其中,所述户外环境贴图包括Q个像素点,所述Q为大于1的整数;
对所述户外环境贴图进行归一化处理,得到第一户外环境贴图,其中,所述第一户外环境贴图包括Q个经过亮度归一化处理后的像素点;
根据所述第一户外环境贴图以及户外光照信息,生成第二户外环境贴图,其中,所述户外光照信息包括Q个预设色彩信息,每个预设色彩信息对应于一个像素点,且所述户外光照信息与所述目标时间点具有对应关系;
采用所述第二户外环境贴图对所述户外静态对象进行渲染。
10.根据权利要求9所述的方法,其特征在于,所述从所述至少两个待选户外环境贴图中获取目标时间点所对应的户外环境贴图,包括:
根据所述目标时间点确定第一时间点以及第二时间点,其中,所述第一时间点为所述目标时间点相邻的前一个时间点,所述第二时间点为所述目标时间点相邻的后一个时间点;
若所述目标时间点与所述第一时间点之间的时长小于所述目标时间点与所述第二时间点之间的时长,则将所述第一时间点所对应的待选户外环境贴图确定为所述目标时间点所对应的所述户外环境贴图;
若所述目标时间点与所述第一时间点之间的时长大于所述目标时间点与所述第二时间点之间的时长,则将所述第二时间点所对应的待选户外环境贴图确定为所述目标时间点所对应的所述户外环境贴图。
11.根据权利要求9所述的方法,其特征在于,所述对所述户外环境贴图进行归一化处理,得到第一户外环境贴图,包括:
获取所述户外环境贴图中每个像素点所对应的色彩信息;
根据所述户外环境贴图中所述每个像素点所对应的色彩信息,确定所述户外环境贴图中所述每个像素点所对应的亮度值;
获取所述户外环境贴图所对应的户外平均亮度值,其中,所述户外平均亮度值为根据所述户外环境贴图中所述每个像素点所对应的亮度值确定的,或者,所述户外平均亮度值为根据相邻两个时间点分别对应的待选户外环境贴图确定的,所述相邻两个时间点为所述目标时间点相邻的前一个时间点以及相邻的后一个时间点;
将所述户外环境贴图中所述每个像素点所对应的亮度值除以所述户外平均亮度值,以得到所述第一户外环境贴图。
12.根据权利要求9至11中任一项所述的方法,其特征在于,所述根据所述第一户外环境贴图以及户外光照信息,生成第二户外环境贴图,包括:
获取所述第一户外环境贴图中每个像素点所对应的色彩信息;
将所述第一户外环境贴图中每个像素点所对应的色彩信息,与所述户外光照信息中对应像素点的预设色彩信息进行相乘,得到所述Q个像素点中每个像素点所对应的色彩信息;
根据所述Q个像素点中每个像素点所对应的色彩信息,生成所述第二户外环境贴图。
13.一种对象渲染的方法,其特征在于,包括:
在目标空间的第一位置上,显示动态对象;
响应针对于动态对象的控制操作,采用第一权重值、第二权重值、户外环境贴图以及自定义环境贴图,对所述动态对象进行渲染,得到已渲染的动态对象,其中,所述第一权重值为根据所述动态对象的室内外空间信息以及户外环境贴图确定的,所述第二权重值为根据根据所述动态对象的室内外空间信息以及自定义环境贴图确定的,所述室内外空间信息表示所述动态对象分别在室内空间和户外空间所占的面积比例,所述自定义环境贴图为预先设置的灰度图像;
在所述目标空间的第二位置上,显示所述已渲染的动态对象,其中,所述已渲染的动态对象与所述动态对象具有不同的光照效果。
14.一种对象渲染的方法,其特征在于,包括:
在目标室内空间的目标位置上,显示室内静态对象;
若所述目标室内空间还存在光源,则采用第二室内环境贴图对所述室内静态对象进行渲染,得到已渲染的室内静态对象,其中,所述第二室内环境贴图为根据第一室内环境贴图以及全局光照信息生成的,所述全局光照信息为根据所述室内静态对象在所述目标室内空间内的空间位置信息获取到的,所述全局光照信息包括K个预设色彩信息,每个预设色彩信息对应于一个像素点,所述第一室内环境贴图为对室内环境贴图进行归一化处理后得到的,所述第一室内环境贴图包括K个经过亮度归一化处理后的像素点,所述室内环境贴图为所述目标室内空间所对应的环境贴图,所述室内环境贴图包括K个像素点,所述K为大于1的整数;
在所述目标室内空间的所述目标位置上,显示所述已渲染的室内静态对象,其中,所述已渲染的室内静态对象与所述室内静态对象具有不同的光照效果。
15.一种对象渲染的方法,其特征在于,包括:
当在第一时间点时,在户外空间的目标位置上,显示户外静态对象;
当在第二时间点时,采用第二户外环境贴图对所述户外静态对象进行渲染,得到已渲染的户外静态对象,其中,所述第二户外环境贴图为根据第一户外环境贴图以及户外光照信息生成的,所述户外光照信息包括Q个预设色彩信息,每个预设色彩信息对应于一个像素点,且所述户外光照信息与所述目标时间点具有对应关系,所述第一户外环境贴图为对户外环境贴图进行归一化处理后得到的,所述第一户外环境贴图包括Q个经过亮度归一化处理后的像素点,所述户外环境贴图来源于至少两个待选户外环境贴图,所述至少两个待选户外环境贴图中的每个待选户外环境贴图对应于一个时间点,所述户外环境贴图包括Q个像素点,所述Q为大于1的整数;
在所述户外空间的所述目标位置上,显示所述已渲染的户外静态对象,其中,所述已渲染的户外静态对象与所述户外静态对象具有不同的光照效果。
16.一种对象渲染装置,其特征在于,包括:
获取模块,用于获取动态对象的室内外空间信息,其中,所述室内外空间信息表示所述动态对象分别在室内空间和户外空间所占的面积比例;
确定模块,用于根据所述室内外空间信息,确定户外环境贴图所对应的第一权重值以及自定义环境贴图所对应的第二权重值,其中,所述自定义环境贴图为预先设置的灰度图像;
渲染模块,用于采用所述第一权重值、所述第二权重值、所述户外环境贴图以及所述自定义环境贴图,对所述动态对象进行渲染。
17.一种计算机设备,其特征在于,包括:存储器、处理器以及总线系统;
其中,所述存储器用于存储程序;
所述处理器用于执行所述存储器中的程序,所述处理器用于根据程序代码中的指令执行权利要求1至12中任一项所述的方法;
所述总线系统用于连接所述存储器以及所述处理器,以使所述存储器以及所述处理器进行通信。
18.一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1至12中任一项所述的方法,或者,执行如权利要求13所述的方法,或者,执行如权利要求14所述的方法,或者,执行如权利要求15所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110741982.XA CN115546378A (zh) | 2021-06-30 | 2021-06-30 | 一种对象渲染的方法、相关装置、设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110741982.XA CN115546378A (zh) | 2021-06-30 | 2021-06-30 | 一种对象渲染的方法、相关装置、设备以及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115546378A true CN115546378A (zh) | 2022-12-30 |
Family
ID=84722882
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110741982.XA Pending CN115546378A (zh) | 2021-06-30 | 2021-06-30 | 一种对象渲染的方法、相关装置、设备以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115546378A (zh) |
-
2021
- 2021-06-30 CN CN202110741982.XA patent/CN115546378A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11270419B2 (en) | Augmented reality scenario generation method, apparatus, system, and device | |
US20200334893A1 (en) | Method for implementing virtual scene conversion and related apparatus | |
CN112263837B (zh) | 虚拟环境中的天气渲染方法、装置、设备及存储介质 | |
CN112037311B (zh) | 一种动画生成的方法、动画播放的方法以及相关装置 | |
US10332240B2 (en) | Method, device and computer readable medium for creating motion blur effect | |
US20220207821A1 (en) | Image rendering method and related apparatus, terminal and storage medium | |
CN109597481B (zh) | Ar虚拟人物绘制方法、装置、移动终端及存储介质 | |
CN109937393B (zh) | 支持增强现实软件应用 | |
CN109753892B (zh) | 人脸皱纹的生成方法、装置、计算机存储介质和终端 | |
KR102633468B1 (ko) | 핫스팟 맵 표시 방법 및 장치, 그리고 컴퓨터 기기와 판독 가능한 저장 매체 | |
CN111445563B (zh) | 一种图像生成的方法以及相关装置 | |
CN109729281A (zh) | 图像处理方法、装置、存储介质及终端 | |
CN106454438B (zh) | 一种数据处理的方法、相关设备以及系统 | |
CN114565708A (zh) | 一种选择抗锯齿算法的方法、装置、设备及可读存储介质 | |
CN113132704A (zh) | 一种图像处理的方法、装置、终端以及存储介质 | |
CN109544441B (zh) | 图像处理方法及装置、直播中的肤色处理方法及装置 | |
CN113487662A (zh) | 画面显示方法、装置、电子设备和存储介质 | |
CN107071555B (zh) | Vr视频中图像的加载方法、装置及电子设备 | |
CN115546378A (zh) | 一种对象渲染的方法、相关装置、设备以及存储介质 | |
CN116704107B (zh) | 一种图像渲染方法和相关装置 | |
CN113797538B (zh) | 一种准星显示方法、装置、终端及存储介质 | |
CN107038737B (zh) | 立体棋牌绘制方法和装置 | |
CN110322527B (zh) | 一种图案生成方法及终端 | |
US8897821B2 (en) | Method for providing visual effect messages and associated communication system and transmitting end | |
CN117459756A (zh) | 一种视频处理方法、设备及相关产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40079101 Country of ref document: HK |