CN112819940B - 渲染方法、装置和电子设备 - Google Patents
渲染方法、装置和电子设备 Download PDFInfo
- Publication number
- CN112819940B CN112819940B CN202110134233.0A CN202110134233A CN112819940B CN 112819940 B CN112819940 B CN 112819940B CN 202110134233 A CN202110134233 A CN 202110134233A CN 112819940 B CN112819940 B CN 112819940B
- Authority
- CN
- China
- Prior art keywords
- rendered
- model
- image
- rendering
- pixel
- 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.)
- Active
Links
- 238000009877 rendering Methods 0.000 title claims abstract description 269
- 238000000034 method Methods 0.000 title claims abstract description 71
- 238000005286 illumination Methods 0.000 claims abstract description 61
- 239000013598 vector Substances 0.000 claims description 12
- 239000011159 matrix material Substances 0.000 claims description 10
- 238000002834 transmittance Methods 0.000 claims description 9
- 230000000694 effects Effects 0.000 abstract description 24
- 238000010586 diagram Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000000843 powder Substances 0.000 description 1
- 238000011282 treatment Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
- G06T15/506—Illumination models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
- G06T15/60—Shadow generation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
Abstract
本发明提供了一种渲染方法、装置和电子设备,其中,该方法包括:对待渲染模型进行初步渲染,得到待渲染模型的初始渲染图像;基于初始渲染图像、预设的光源位置和待渲染模型的光照参数,渲染待渲染模型的阴影区域,得到待渲染模型的阴影图像;将初始渲染图像与阴影图像进行混叠处理,得到待渲染模型的最终渲染图像。该方式中,在渲染模型的阴影区域时,考虑了光源位置和待渲染模型的光照参数,可以使模型的阴影区域过渡自然;如果模型包括半透明区域,考虑模型的光照参数可以实现自然逼真的焦散效果,从而从整体上提升了模型的渲染效果。
Description
技术领域
本发明涉及图像处理技术领域,尤其是涉及一种渲染方法、装置和电子设备。
背景技术
在CG(Computer Graphics,计算机图像)动画制作中,正确的半透明渲染是实现真实感渲染的一项重要技术。半透明渲染包含了半透明物体的渲染先后排序,半透明物体的投影以及半透明物体的焦散现象。另外,由于Unreal游戏引擎实时渲染的特点,该Unreal游戏引擎在CG制作中应用的越来越广泛,但Unreal游戏引擎需要实时渲染,处理速度较快,难以实现半透明物体的半透明投影和焦散效果。
相关技术中,Unreal游戏引擎中通常通过使用遮罩的方式来渲染半透明物体,但该方式得到的半透明物体的阴影过渡生硬,且不存在焦散效果。
发明内容
本发明的目的在于提供一种渲染方法、装置和电子设备,以提高半透明物体的渲染效果。
第一方面,本发明提供了一种渲染方法,该方法包括:对待渲染模型进行初步渲染,得到待渲染模型的初始渲染图像;基于该初始渲染图像、预设的光源位置和待渲染模型的光照参数,渲染待渲染模型的阴影区域,得到待渲染模型的阴影图像;将初始渲染图像与阴影图像进行混叠处理,得到待渲染模型的最终渲染图像。
在可选的实施方式中,上述基于初始渲染图像、预设的光源位置和待渲染模型的光照参数,渲染待渲染模型的阴影区域,得到待渲染模型的阴影图像的步骤,包括:基于待渲染模型,确定初始渲染图像中每个像素点与该待渲染模型中每个位置点的对应关系;针对所述初始渲染图像中的每个像素点,根据所述当前像素点在所述待渲染模型中对应的位置点的光照参数,确定所述当前像素点的光照参数;基于所述初始渲染图像、所述光源位置和所述初始渲染图像中每个像素点的光照参数,渲染所述待渲染模型的阴影区域,得到所述待渲染模型的阴影图像。
在可选的实施方式中,上述基于所述初始渲染图像、所述光源位置和所述初始渲染图像中每个像素点的光照参数,渲染所述待渲染模型的阴影区域,得到所述待渲染模型的阴影图像的步骤,包括:基于初始渲染图像,计算初始渲染图像中的每个像素点对应于待渲染模型上每个位置点的位置坐标;根据该位置坐标、光源位置、预设的相机位置和初始渲染图像中每个像素点的光照参数,设置待渲染模型的阴影区域的每个像素点的像素值;将每个像素点的像素值确定后的待渲染模型的阴影区域,确定为待渲染模型的阴影图像。
在可选的实施方式中,上述基于初始渲染图像,计算该初始渲染图像中的每个像素点对应于待渲染模型上每个位置点的位置坐标的步骤,包括:基于初始渲染图像,确定初始渲染图像中每个像素点的像素坐标;获取初始渲染图像中每个像素点的深度值;根据初始渲染图像中每个像素点的像素坐标和深度值,经过矩阵运算,得出该初始渲染图像中每个像素点对应于待渲染模型上每个位置点的位置坐标。
在可选的实施方式中,上述光照参数包括待渲染模型的透明度;上述根据位置坐标、光源位置、预设的相机位置和初始渲染图像中每个像素点的光照参数,设置待渲染模型的阴影区域的每个像素点的像素值的步骤,包括:从相机位置向待渲染模型的阴影区域对应的图像区域中的各个像素点发送主光线,针对该图像区域中的每个像素点执行下述操作:确定当前像素点与光源位置的连接线,如果该连接线穿过待渲染模型,将当前像素点确定为阴影遮罩点;其中,该连接线穿过待渲染模型表示:连接线穿过初始渲染图像中对应于待渲染模型上的每个位置点的位置坐标的像素点;识别初始渲染模型中该连接线的穿过位置应的像素点的透明度;基于透明度,确定阴影遮罩点的像素值。
在可选的实施方式中,上述基于透明度,确定阴影遮罩点的像素值的步骤,包括:如果穿过位置被M个连接线穿过,将该穿过位置的透明度的M次方确定为阴影遮罩点的像素值;其中,M为大于0的自然数。
在可选的实施方式中,上述基于透明度,确定阴影遮罩点的像素值的步骤,包括:如果连接线同时穿过待渲染模型和预设的至少一个第一模型,识别初始渲染图像中连接线的穿过位置对应的像素点的透明度和每个第一模型上连接线的穿过位置的透明度;将识别出的透明度的乘积,确定为阴影遮罩点的像素值。
在可选的实施方式中,上述光照参数还包括待渲染模型的折射率;上述基于透明度,确定阴影遮罩点的像素值的步骤,包括:根据初始渲染图像中连接线的穿过位置对应的像素点的折射率,确定像素倍乘因子;将该像素倍乘因子与透明度的乘积,确定为阴影遮罩点的像素值。
在可选的实施方式中,上述根据初始渲染图像中连接线的穿过位置对应的像素点的折射率,确定像素倍乘因子的步骤,包括:基于初始渲染图像中连接线的穿过位置对应的像素点的折射率,确定主光线的反射光线对应的折射光线;将该折射光线对应的向量与反射光线对应的向量进行点乘,得到偏差度;根据偏差度,确定像素倍乘因子。
在可选的实施方式中,上述根据偏差度,确定像素倍乘因子的步骤,包括:将偏差度的n次方与待渲染模型的折射率的乘积,确定为像素倍乘因子。
在可选的实施方式中,上述对待渲染模型进行初步渲染,得到待渲染模型的初始渲染图像的步骤,包括:确定待渲染模型的半透明区域和非透明区域;对非透明区域进行光栅化渲染,得到第一图像;对半透明区域进行光线追踪渲染,得到第二图像;整合第一图像和第二图像,得到初始渲染图像。
在可选的实施方式中,上述初始渲染图像的尺寸与阴影图像的尺寸相同;上述将初始渲染图像与阴影图像进行混叠处理,得到待渲染模型的最终渲染图像的步骤,包括:针对初始渲染图像中的每个像素点,执行下述操作:从阴影图像中,确定与当前像素点的位置相匹配的目标像素点;将当前像素点的像素值与目标像素点的像素值相乘,得到最终渲染图像中当前像素点的像素值。
第二方面,本发明提供了一种渲染装置,该装置包括:第一渲染模块,用于对待渲染模型进行初步渲染,得到待渲染模型的初始渲染图像;第二渲染模块,用于基于初始渲染图像、预设的光源位置和待渲染模型的光照参数,渲染待渲染模型的阴影区域,得到待渲染模型的阴影图像;混叠模块,用于将初始渲染图像与阴影图像进行混叠处理,得到待渲染模型的最终渲染图像。
第三方面,本发明提供了一种电子设备,该电子设备包括处理器和存储器,该存储器存储有能够被处理器执行的机器可执行指令,该处理器执行机器可执行指令以实现前述实施方式任一项所述的渲染方法。
第四方面,本发明提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令在被处理器调用和执行时,该计算机可执行指令促使所述处理器实现前述实施方式任一项所述的渲染方法。
本发明实施例带来了以下有益效果:
本发明提供的一种渲染方法、装置和电子设备,首先对待渲染模型进行初步渲染,得到该待渲染模型的初始渲染图像;进而基于该初始渲染图像、预设的光源位置和待渲染模型的光照参数,渲染该待渲染模型的阴影区域,得到该待渲染模型的阴影图像;然后将初始渲染图像与阴影图像进行混叠处理,得到待渲染模型的最终渲染图像。该方式中,在渲染模型的阴影区域时,考虑了光源位置和待渲染模型的光照参数,可以使模型的阴影区域过渡自然;如果模型包括半透明区域,考虑模型的光照参数可以实现自然逼真的焦散效果,从而从整体上提升了模型的渲染效果。
本发明的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本发明的上述技术即可得知。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施方式,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的光线追踪方式得到的半透明物体阴影的示意图;
图2为本发明实施例提供的使用遮罩的方式得到的半透明物体的阴影示意图;
图3为本发明实施例提供的一种渲染方法的流程图;
图4为本发明实施例提供的一种渲染效果图;
图5为本发明实施例提供的另一种渲染方法的流程图;
图6为本发明实施例提供的一种确定当前像素点与光源位置的连接线的示意图;
图7为本发明实施例提供的一种预设场景示意图;
图8为本发明实施例提供的另一种渲染方法的流程图;
图9为本发明实施例提供的一种光线折射的示意图;
图10为本发明实施例提供的一种渲染装置的结构示意图;
图11为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在CG动画制作中,正确的半透明渲染是实现真实感渲染的一项重要技术。半透明渲染包含了半透明物体的渲染先后排序,半透明物体的投影以及半透明物体的焦散现象。由于Unreal游戏引擎具有非常高质量的实时渲染功能,Unreal游戏引擎在CG动画制作中应用的越来越广泛,但Unreal游戏引擎需要实时渲染,处理速度较快,难以实现半透明物体的半透明投影和焦散效果。
相关技术中,Unreal游戏引擎采用两种渲染路径:光栅化和光线追踪。但是光栅化渲染方式不能解决半透明物体的排序问题,使得渲染后的半透明物体遮挡关系不正确;光线追踪方式虽然能够解决半透明物体的排序问题,得到半透明物体正确的遮挡关系,但是没有解决半透明物体的阴影以及焦散问题,该光线追踪方式使得半透明物体的投影为实投影(如图1所示为光线追踪方式得到的半透明物体阴影的示意图),严重影响了视觉效果,使得光线追踪的应用环境受到了很大的限制。
基于此,Unreal游戏引擎中可以通过烘焙来处理半透明物体的阴影问题,但烘焙是一个耗时的过程,且该技术不能运用在动态物体上面,所以采用烘焙技术来实时处理半透明物体的阴影效果不佳。相关技术中,Unreal游戏引擎中主要通过使用遮罩的方式来渲染半透明物体的阴影,但该方式得到的半透明物体的阴影过渡生硬(如图2所示为使用遮罩的方式得到的半透明物体的阴影示意图),有明显的抖动现象,且不存在焦散效果。
基于上述问题,本发明实施例提供了一种渲染方法、装置和电子设备,该技术可以应用于各种CG动画的渲染场景中,尤其是应用于Unreal游戏引擎中,对半透明物体进行实时渲染的场景中。为便于对本实施例进行理解,首先对本发明实施例所公开的一种渲染方法进行详细介绍,如图3所示,该方法包括如下具体步骤:
步骤S302,对待渲染模型进行初步渲染,得到该待渲染模型的初始渲染图像。
上述待渲染模型可以是用户设置的任意一个CG动画,该待渲染模型中可以包含有半透明区域和非透明区域中的一种或者两种,该待渲染模型可以是三维模型。上述初步渲染可以采用光栅化渲染或者光线追踪渲染的方式,也可以既采用光栅化渲染又采用光线追踪渲染的方式,得到待渲染模型的初步渲染图像。
在具体实现时,上述光栅化渲染通常是一种将几何图元(相当于上述待渲染模型)变为二维图像的过程。该过程包含了两部分的工作,第一部是决定窗口坐标中的哪些整型栅格区域被基本图元占用;第二部分是分配一个颜色值和一个深度值到各个区域。上述光线追踪渲染通常是一种基于模拟真实光线弹射路径渲染成像的技术,光线追踪渲染的基本工作原理是:从取景器(也可以是相机)发出一定量的射线,投射到三维物体(相当于上述待渲染模型)上,在三维空间中进行反弹,折射,并根据这个三维物体本身的一些材质属性,再综合光线路径等信息,计算出这个三维物体最终在画面中每一个像素点的颜色信息。
步骤S304,基于上述初始渲染图像、预设的光源位置和待渲染模型的光照参数,渲染待渲染模型的阴影区域,得到该待渲染模型的阴影图像。
上述光源位置可以是用户预先设置的用来照射待渲染模型的光源的位置,其中,用来照射待渲染模型的光源的数量可以根据用户需求设置,当光源为多个时,每个光源都对应有一个光源位置。上述待渲染模型的光照参数可以包括待渲染模型的透明度、折射率或者透光度等参数中的一个或者多个。
在具体实现时,根据初始渲染图像、光源位置、待渲染模型的位置和待渲染模型的光照参数,可以得到待渲染模型的阴影区域,该阴影区域不是指代的待渲染模型自身上的背光区域,而是在光照下的投影或倒影。该阴影区域中每个像素点的像素值可以根据待渲染模型的光照参数确定,例如,待渲染模型中某一部分为非透明区域,则该非透明区域对应的阴影区域的像素为纯黑像素;如果待渲染模型中某一部分为半透明区域,则该半透明区域对应的阴影区域的像素可以根据该半透明区域的透明度或者折射率等进行确定,以使该阴影区域的像素不为纯黑像素,从而使得对阴影区域的渲染更加真实。
在一些实施例中,如果用来照射待渲染模型的光源的数量为多个,那么根据每个光源位置都可以渲染得到待渲染模型的一个阴影图像,然后将每个光源位置对应的阴影区域进行叠加,即可得到待渲染模型对应的最终阴影图像。
步骤S306,将初始渲染图像与阴影图像进行混叠处理,得到待渲染模型的最终渲染图像。
由于初始渲染图像中仅包含有渲染的待渲染模型,不包含有待渲染模型的阴影区域,且阴影图像中仅包含有待渲染图像的阴影区域,所以将初始渲染图像与阴影图像进行混叠处理,可以得到既包含有渲染的待渲染模型,又包含有待渲染模型的阴影区域的最终渲染图像。上述混叠处理可以理解为将初始渲染图像和阴影图像中相对应的像素点的像素值进行乘法混合叠加处理。如图4所示为本发明实施例提供的一种渲染效果图,从图4中可以看出,本发明实施例中待渲染模型的阴影过度自然,且存在焦散效果。
本发明实施例提供的一种渲染方法,首先对待渲染模型进行初步渲染,得到该待渲染模型的初始渲染图像;进而基于初始渲染图像、预设的光源位置和待渲染模型的光照参数,渲染该待渲染模型的阴影区域,得到该待渲染模型的阴影图像;然后将初始渲染图像与阴影图像进行混叠处理,得到待渲染模型的最终渲染图像。该方式中,在渲染模型的阴影区域时,考虑了光源位置和待渲染模型的光照参数,可以使模型的阴影区域过渡自然;如果模型包括半透明区域,考虑模型的光照参数可以实现自然逼真的焦散效果,从而从整体上提升了模型的渲染效果。
本发明实施例还提供了另一种渲染方法,该方法在上述实施例的基础上实现,该方法重点描述对待渲染模型进行初步渲染,得到该待渲染模型的初始渲染图像的具体过程(通过下述步骤S502-S506实现),以及基于初始渲染图像、预设的光源位置和待渲染模型的光照参数,渲染待渲染模型的阴影区域,得到待渲染模型的阴影图像的具体过程(通过下述步骤S508-S512实现);如图5所示,该方法包括如下具体步骤:
步骤S502,确定待渲染模型的半透明区域和非透明区域。
步骤S504,对非透明区域进行光栅化渲染,得到第一图像;对半透明区域进行光线追踪渲染,得到第二图像。
上述待渲染模型可以包括半透明区域和非透明区域,非透明区域的渲染相对简单,可以直接采用光栅化渲染,且光栅化渲染的计算量较小,可以提高计算速度。由于半透明区域的渲染包含了对半透明区域的物体渲染的正确排序,但光栅化渲染无法解决半透明区域的排序问题,所以本实施例采用计算量相对较大的光线追踪技术来渲染半透明区域,从而解决半透明区域的排序问题。
步骤S506,整合第一图像和第二图像,得到初始渲染图像。
在具体实现时,上述第一图像是对待渲染模型的非透明区域进行光栅化渲染后,得到的包含有渲染的待渲染模型的非透明区域的图像;上述第二图像为对待渲染模型的半透明区域进行光线追踪渲染后,得到的包含有待渲染模型的半透明区域的图像;然后将第一图像和第二图像进行整合(也可以称为叠加处理),可以得到初始渲染图像,该初始渲染图像中包含有完整的、待渲染模型的渲染图像。
步骤S508,基于待渲染模型,确定初始渲染图像中每个像素点与待渲染模型中每个位置点的对应关系。
在具体实现时,初始渲染图像是对待渲染模型进行初步渲染后得到的,因而,初始渲染图像中的每个像素点,与待渲染模型中的每个位置点存在一定的对应关系。
步骤S510,针对初始渲染图像中的每个像素点,根据当前像素点在待渲染模型中对应的位置点的光照参数,确定当前像素点的光照参数。
步骤S512,基于初始渲染图像、光源位置和初始渲染图像中每个像素点的光照参数,渲染待渲染模型的阴影区域,得到待渲染模型的阴影图像。
在具体实现时,上述步骤S512可以通过下述步骤10-12实现:
步骤10,基于初始渲染图像,计算该初始渲染图像中的每个像素点对应于待渲染模型上每个位置点的位置坐标。
在具体实现时,上述初始渲染图像中的每个像素点在预设场景中都对应有世界空间坐标位置,该世界空间坐标位置也即是初始渲染图像中的像素点相对于待渲染模型上每个位置点的位置坐标。初始渲染图像中每个像素点对应的位置坐标可以通过下述方式确定:基于初始渲染图像,确定初始渲染图像中每个像素点的像素坐标;获取初始渲染图像中每个像素点的深度值;根据初始渲染图像中每个像素点的像素坐标和深度值,经过矩阵运算,得出初始渲染图像中每个像素点对应于待渲染模型上每个位置点的位置坐标。其中,上述深度值可以表示初始渲染图像中的像素点对应的待渲染模型中的位置点在Z轴上的坐标值。
具体地,针对于每个初始渲染图像中每个像素点执行下述操作:首先获取初始渲染模型中当前像素点的像素坐标,将该坐标规范到0~1范围内,进而获取该初始渲染图像的投影矩阵(每个图像对应的投影矩阵是用户提前设置好的),并计算该投影矩阵的逆矩阵;然后从预设的深度缓冲中获取该当前像素点的深度值,将规范后的像素坐标和该深度值组成一个4分量向量,再将该向量乘以投影矩阵的逆矩阵,可以得到该当前像素的位置坐标。
步骤11,根据位置坐标、光源位置、预设的相机位置和初始渲染图像中每个像素点的光照参数,设置待渲染模型的阴影区域的每个像素点的像素值。
上述相机位置可以理解为拍摄待渲染模型的相机在预设场景中放置的位置,上述光源位置可以理解为在预设场景中放置光源的位置。
在具体实现时,需要从相机位置向待渲染模型的阴影区域对应的图像区域中的各个像素点发射主光线,再以每个像素点为源点向光源发射阴影光线(也可以理解为反射光线),如果在预设场景中,该阴影光线在发射的过程中穿过待渲染模型,则认为该源点对应的像素点为阴影区域的像素点,然后根据待渲染模型被穿过位置的光照参数,确定该像素点的像素值;如果该阴影光线在发射的过程中没有穿过待渲染模型,则认为该源点对应的像素点不是阴影区域的像素点,该像素点的像素值可以设置为预设值,例如,设置为1。
步骤12,将每个像素点的像素值确定后的待渲染模型的阴影区域,确定为待渲染模型的阴影图像。
在具体实现时,上述光照参数包括待渲染模型的透明度时,上述步骤11可以通过下述步骤实现:从相机位置向待渲染模型的阴影区域对应的图像区域中的各个像素点发送主光线,针对该图像区域中的每个像素点执行下述步骤20-22的操作:
步骤20,确定当前像素点与光源位置的连接线,如果连接线穿过待渲染模型,将当前像素点确定为阴影遮罩点;其中,该连接线穿过待渲染模型表示:连接线穿过初始渲染图像中对应于待渲染模型上的每个位置点的位置坐标的像素点。
待渲染模型的阴影区域对应的图像区域中的每个像素点均可以作为一次当前像素点执行步骤20-22。由于在预设场景中,已知当前像素点的世界位置坐标、光源位置和相机位置,即可判定当前像素点与光源位置的连接线是否穿过待渲染模型。如果连线穿过待渲染模型,确定当前像素点为阴影遮罩点,该阴影遮罩点为阴影区域的像素点。如图6所示为一种确定当前像素点与光源位置的连接线的示意图,图6中相机位置分别向待渲染模型的阴影区域对应的图像区域中的两个像素点发射主光线,然后这两个像素点分别向光源位置发射阴影光线(该阴影光线相当于像素点与光源位置的连接线),其中,图6中左侧的阴影光线未穿过待渲染模型(图6中的圆形图像为待渲染模型),这个像素会被光源照亮,图6右侧的阴影光线穿过待渲染模型,这个像素点处于待渲染模型的阴影区域。
步骤21,识别初始渲染模模型中连接线的穿过位置对应的像素点的透明度。
步骤22,基于上述透明度,确定阴影遮罩点的像素值。
如果当前像素点与光源位置的连接线穿过待渲染模型,需要识别初始渲染模模型中连接线的穿过位置对应的像素点的透明度(也可以理解为识别该像素点的光照参数),然后基于该透明度确定该当前像素点(相当于上述阴影遮罩点)的像素值。例如,可以将该透明度确定为阴影遮罩点的像素值。
如果当前像素点与光源位置的连接线未穿过待渲染模型,该当前像素点的像素值可以设置为预设值。该预设值根据用户需求设置。在一些实施例中,上述预设值可以设置为1,待渲染模型的透明度可以设置为0~1之间的数值,透明度也可以表示为透光率,通常透光率越高透明度对应的数值越大,透光率越低透明度对应的数值越小,通常透光率为0的区域可以理解为非透明区域。
在一些实施例中,在存在多个光源的情况下,如果预设图像中存在M个像素点与光源位置的连接线穿过待渲染模型的同一个位置,也即是待渲染模型上连接线的穿过位置被M个连接线穿过,将该穿过位置的透明度的M次方确定为阴影遮罩点的像素值;其中,M为大于0的自然数。
在一些实施例中,预设场景中可能包含有多个模型,例如,预设场景中除包含有待渲染模型外还包含有至少一个第一模型。如果当前像素点与光源位置的连接线同时穿过待渲染模型和至少一个第一模型,在确定当前像素点为阴影遮罩点的同时,识别初始渲染图像中连接线的穿过位置对应的像素点的透明度和每个第一模型对应的初始渲染模型中连接线的穿过位置对应的像素点的透明度;将识别出的透明度的乘积,确定为阴影遮罩点的像素值。
如图7所示为一种预设场景示意图,图7所示的预设场景中包含有3个长条形状的模型,这3个模型从左往右可以依次称为模型1、模型2和模型3,从相机位置向预设像素位置发射主光线后,该预设像素与光源位置的连接线同时穿过模型1和模型3,此时,该预设像素位置的像素值为模型1上连接线的穿过位置的透明度与模型3上连接线的穿过位置的透明度的乘积。例如,模型1上每个位置的透明度均为0.5,模型3上每个位置的透明度均为0.4,那么该预设像素的像素值为0.5*0.4=0.2。
步骤S514,将初始渲染图像与阴影图像进行混叠处理,得到待渲染模型的最终渲染图像。
在一些实施例中,上述步骤S508~S512可以在Unreal游戏引擎中部署的实时光线追踪技术(简称RTX)硬件框架中实现,该实时光线追踪可以通过多个着色器对待渲染模型的阴影进行渲染,首先通过Ray Generation Shader着色器向当前像素发射主光线,并以该当前像素位置所在的世界空间坐标位置为源点,向光源发射阴影光线。当阴影光线命中预设场景中的待渲染模型时(相当于阴影光线与光源位置的连接线穿过待渲染模型时),调用Any-Hit Shader着色器,表示该当前像素处在阴影区域中;如果阴影光线没有命中场景中的任何模型,调用Miss Shader着色器,表示当前像素会被光源照亮。在处理待渲染模型的半透明区域的投影时,需要在Any-Hit Shader着色器中识别待渲染模型的半透明区域的透明度,并且根据该透明度确定当前像素的像素值。
上述渲染方法中针对待渲染模型中的半透明区域和非透明区域进行不同的渲染处理,得到初步渲染图像,提升了模型的渲染效率和渲染效果;同时,该方式通过待渲染模型的光照参数确定阴影图像中每个像素点的像素值,使得初始渲染图像与阴影图像混叠后的最终渲染图像中的阴影区域过度更加自然,符合真实的视觉体验。
本发明实施例还提供了另一种渲染方法,该方法在上述实施例的基础上实现,该方法重点描述在光照参数包括透明度和折射率的情况下,基于初始渲染图像、预设的光源位置和待渲染模型的光照参数,渲染待渲染模型的阴影区域,得到待渲染模型的阴影图像的具体过程(通过下述步骤S804-S820实现);如图8所示,该方法包括如下具体步骤:
步骤S802,对待渲染模型进行初步渲染,得到该待渲染模型的初始渲染图像。
步骤S804,基于待渲染模型,确定初始渲染图像中每个像素点与待渲染模型中每个位置点的对应关系。
步骤S806,针对初始渲染图像中的每个像素点,根据当前像素点在待渲染模型中对应的位置点的光照参数,确定当前像素点的光照参数。
步骤S808,基于初始渲染图像,计算初始渲染图像中的每个像素点对应于待渲染模型上每个位置点的位置坐标。
步骤S810,从待渲染模型的阴影区域对应的图像区域中的各个像素点中确定目标像素点。
在第一次从待渲染模型的阴影区域对应的图像区域中确定目标像素点时,该目标像素点可以是待渲染模型的阴影区域对应的图像区域中的任意一个像素点,在第二次及之后确定目标像素点时,该目标像素点为待渲染模型的阴影区域对应的图像区域中之前未被确定为目标像素点的像素点,从而保证待渲染模型的阴影区域对应的图像区域中的每个像素点均被遍历。
步骤S812,从预设的相机位置向目标像素点发送主光线,确定该目标像素点与预设的光源位置的连接线。
步骤S814,如果上述连接线穿过待渲染模型,将目标像素点确定为阴影遮罩点,识别初始渲染图像中该连接线的穿过位置对应的像素点的透明度。
步骤S816,根据初始渲染图像中该连接线的穿过位置对应的像素点的折射率,确定像素倍乘因子;将像素倍乘因子与上述透明度的乘积,确定为阴影遮罩点的像素值。
在具体实现时,由于真实的焦散计算量巨大,在实时渲染领域中使用真实焦散效果不实际,所以,需要采用一种近似的方式处理。本实施例利用折射率来计算阴影光线被折射后的光线和阴影光线,计算两个光线方向之间的偏差度,最终利用这个偏差度来计算阴影遮罩点的像素倍乘因子。
在一些实施例中,还可以通过下述步骤30-32确定像素倍乘因子:
步骤30,基于初始渲染图像中该连接线的穿过位置对应的像素点的折射率,确定主光线的反射光线对应的折射光线。
步骤31,将折射光线对应的向量与反射光线对应的向量进行点乘,得到偏差度。
如图9所示为一种光线折射的示意图,图9中像素位置与光源位置直接连接的连接线称为反射光线L,也即是图9中右侧部分的实现,通过待渲染模型折射后的光线称为折射光线R,也即是图9中的虚线。在一些实施例中,为了便于计算,可以假设待渲染模型仅对光线折射一次,也即是不考虑待渲染模型的厚度。
步骤32,根据上述偏差度,确定像素倍乘因子。
在具体实现时,可以将偏差角度与折射率的乘积,确定为像素倍乘因子。为了得到更好的近似,将这个偏差度进行一个指数运算,为了让折射率影响到焦散亮度,最后将指数运算后的数值乘以折射率得到像素倍乘因子,也即是将偏差度的n次方与折射率的乘积,确定为像素倍乘因子,其中,n为大于零的自然数,n的具体值可以根据用户需求设置,例如,n可以设置为10。像素倍乘因子计算公式可以表示为:
Factor=(L·R)n×IOR
其中,Factor表示像素倍乘因子,L表示反射光线对应的向量,R表示折射光线对应的向量,IOR表示折射率。当反射光线与折射光线方向一致时,像素倍乘因子为1,表示采用当前遮罩值(相当于透明度);当反射光线与折射光线方向有偏差,那么像素倍乘因子会小于1,那么会降低当前遮罩值,由此来模拟焦散效果。
步骤S818,判断待渲染模型的阴影区域对应的图像区域中的各个像素点是否均确定为目标像素点;如果是,执行步骤S820;否则,执行步骤S810。
步骤S820,将每个像素点的像素值确定后的待渲染模型的阴影区域,确定为待渲染模型的阴影图像。
步骤S822,将初始渲染图像与阴影图像进行混叠处理,得到待渲染模型的最终渲染图像。
在具体实现时,上述初始渲染图像的尺寸与阴影图像的尺寸相同;上述步骤S822中针对初始渲染图像中的每个像素点,执行下述步骤40-41的操作:
步骤40,从阴影图像中,确定与当前像素点的位置相匹配的目标像素点。也可以理解为针对初始渲染图像中当前像素点的像素位置,在阴影图像中寻找与该像素位置相同的像素点。
步骤41,将上述当前像素点的像素值与目标像素点的像素值相乘,得到最终渲染图像中当前像素点的像素值。
由于初始渲染图像中不包含有待渲染模型的阴影区域,阴影图像中仅包含有待渲染模型的阴影区域,那么将两个图像中对应位置的像素点的像素值相乘,就可以得到最终渲染图像。在具体实现时,上述阴影图像中所包含的像素值可以是0~1之间任意数值,其中,0可以代表纯黑色,1可以代表白色。
上述渲染方法中,在渲染待渲染模型的阴影区域时,充分考虑了待渲染模型的透明度和折射率,使得该待渲染模型的阴影过渡自然且存在焦散效果,从而从整体上提升了模型的渲染效果。
对应于上述方法实施例,本发明实施例提供了一种渲染装置,如图10所示,该装置包括:
第一渲染模块90,用于对待渲染模型进行初步渲染,得到待渲染模型的初始渲染图像。
第二渲染模块91,用于基于初始渲染图像、预设的光源位置和待渲染模型的光照参数,渲染待渲染模型的阴影区域,得到待渲染模型的阴影图像。
混叠模块92,用于将初始渲染图像与阴影图像进行混叠处理,得到待渲染模型的最终渲染图像。
上述渲染装置,首先对待渲染模型进行初步渲染,得到该待渲染模型的初始渲染图像;进而基于初始渲染图像、预设的光源位置和待渲染模型的光照参数,渲染该待渲染模型的阴影区域,得到该待渲染模型的阴影图像;然后将初始渲染图像与阴影图像进行混叠处理,得到待渲染模型的最终渲染图像。该方式中,在渲染模型的阴影区域时,考虑了光源位置和待渲染模型的光照参数,可以使模型的阴影区域过渡自然;如果模型包括半透明区域,考虑模型的光照参数可以实现自然逼真的焦散效果,从而从整体上提升了模型的渲染效果。
进一步地,上述第二渲染模块91,还用于:基于待渲染模型,确定初始渲染图像中每个像素点与待渲染模型中每个位置点的对应关系;针对初始渲染图像中的每个像素点,根据当前像素点在待渲染模型中对应的位置点的光照参数,确定当前像素点的光照参数;基于初始渲染图像、光源位置和初始渲染图像中每个像素点的光照参数,渲染待渲染模型的阴影区域,得到待渲染模型的阴影图像。
具体地,上述第二渲染模块91,包括:坐标确定模块,用于基于初始渲染图像,计算初始渲染图像中的每个像素点对应于待渲染模型上每个位置点的位置坐标;像素值设置模块,用于根据位置坐标、光源位置、预设的相机位置和初始渲染图像中每个像素点的光照参数,设置待渲染模型的阴影区域的每个像素点的像素值;图像确定模块,用于将每个像素点的像素值确定后的待渲染模型的阴影区域,确定为待渲染模型的阴影图像。
在具体实现时,上述坐标确定模块,还用于:基于初始渲染图像,确定初始渲染图像中每个像素点的像素坐标;获取初始渲染图像中每个像素点的深度值;根据初始渲染图像中每个像素点的像素坐标和深度值,经过矩阵运算,得出初始渲染图像中每个像素点对应于待渲染模型上每个位置点的位置坐标。
具体地,上述光照参数包括所述待渲染模型的透明度;上述像素值设置模块,用于:从相机位置向待渲染模型的阴影区域对应的图像区域中的各个像素点发送主光线,针对该图像区域中的每个像素点执行下述操作:确定当前像素点与光源位置的连接线,如果连接线穿过待渲染模型,将当前像素点确定为阴影遮罩点;其中,连接线穿过待渲染模型表示:连接线穿过初始渲染图像中对应于待渲染模型上的每个位置点的位置坐标的像素点;识别初始渲染图像中连接线的穿过位置对应的像素点的透明度;基于该透明度,确定阴影遮罩点的像素值。
进一步地,上述像素值设置模块,还用于:如果穿过位置被M个连接线穿过,将穿过位置的透明度的M次方确定为阴影遮罩点的像素值;其中,M为大于0的自然数。
进一步地,上述像素值设置模块,还用于:如果连接线同时穿过待渲染模型和预设的至少一个第一模型,识别初始渲染图像中连接线的穿过位置对应的像素点的透明度和每个第一模型对应的初始渲染图像中连接线的穿过位置对应的像素点的透明度;将识别出的透明度的乘积,确定为阴影遮罩点的像素值。
进一步地,上述光照参数还包括待渲染模型的折射率;上述像素值设置模块,还用于:根据初始渲染图像中连接线的穿过位置对应的像素点的折射率,确定像素倍乘因子;将像素倍乘因子与透明度的乘积,确定为阴影遮罩点的像素值。
具体地,上述像素值设置模块,还用于:基于初始渲染图像中连接线的穿过位置对应的像素点的折射率,确定主光线的反射光线对应的折射光线;将折射光线对应的向量与反射光线对应的向量进行点乘,得到偏差度;根据偏差度,确定像素倍乘因子。
在具体实现时,上述像素值设置模块,还用于:将偏差度的n次方与待渲染模型的折射率的乘积,确定为像素倍乘因子。
进一步地,上述第一渲染模块90,用于:确定待渲染模型的半透明区域和非透明区域;对非透明区域进行光栅化渲染,得到第一图像;对半透明区域进行光线追踪渲染,得到第二图像;整合第一图像和第二图像,得到初始渲染图像。
进一步地,上述初始渲染图像的尺寸与阴影图像的尺寸相同;上述混叠模块92,用于:针对初始渲染图像中的每个像素点,执行下述操作:从阴影图像中,确定与当前像素点的位置相匹配的目标像素点;将当前像素点的像素值与目标像素点的像素值相乘,得到最终渲染图像中当前像素点的像素值。
本发明实施例所提供的渲染装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
本发明实施例还提供了一种电子设备,如图11所示,该电子设备包括处理器101和存储器100,该存储器100存储有能够被处理器101执行的机器可执行指令,该处理器101执行机器可执行指令以实现上述渲染方法。
进一步地,图11所示的电子设备还包括总线102和通信接口103,处理器101、通信接口103和存储器100通过总线102连接。
其中,存储器100可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口103(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线102可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图11中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
处理器101可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器101中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器101可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DigitalSignal Processing,简称DSP)、专用集成电路(Application Specific IntegratedCircuit,简称ASIC)、现成可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器100,处理器101读取存储器100中的信息,结合其硬件完成前述实施例的方法的步骤。
本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令在被处理器调用和执行时,该计算机可执行指令促使处理器实现上述渲染方法,具体实现可参见方法实施例,在此不再赘述。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,电子设备,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (15)
1.一种渲染方法,其特征在于,所述方法包括:
对待渲染模型进行初步渲染,得到所述待渲染模型的初始渲染图像;基于所述初始渲染图像、预设的光源位置和所述待渲染模型的光照参数,渲染所述待渲染模型的阴影区域,得到所述待渲染模型的阴影图像;所述待渲染模型的光照参数包括以下至少一种:所述待渲染模型的透明度、所述待渲染模型的折射率、所述待渲染模型的透光度;
将所述初始渲染图像与所述阴影图像进行混叠处理,得到所述待渲染模型的最终渲染图像;
通过以下步骤确定所述待渲染模型的阴影图像:确定所述初始渲染图像中每个像素点与所述待渲染模型中每个位置点的对应关系;针对所述初始渲染图像中的每个像素点,根据当前像素点在所述待渲染模型中对应的位置点的透明度、折射率或者透光度,设置所述待渲染模型的阴影区域的每个像素点的像素值,将每个像素点的像素值确定后的所述待渲染模型的阴影区域,确定为所述待渲染模型的阴影图像。
2.根据权利要求1所述的方法,其特征在于,所述基于所述初始渲染图像、预设的光源位置和所述待渲染模型的光照参数,渲染所述待渲染模型的阴影区域,得到所述待渲染模型的阴影图像的步骤,包括:
基于所述待渲染模型,确定所述初始渲染图像中每个像素点与所述待渲染模型中每个位置点的对应关系;
针对所述初始渲染图像中的每个像素点,根据当前像素点在所述待渲染模型中对应的位置点的光照参数,确定所述当前像素点的光照参数;
基于所述初始渲染图像、所述光源位置和所述初始渲染图像中每个像素点的光照参数,渲染所述待渲染模型的阴影区域,得到所述待渲染模型的阴影图像。
3.根据权利要求2所述的方法,其特征在于,基于所述初始渲染图像、所述光源位置和所述初始渲染图像中每个像素点的光照参数,渲染所述待渲染模型的阴影区域,得到所述待渲染模型的阴影图像的步骤,包括:
基于所述初始渲染图像,计算所述初始渲染图像中的每个像素点对应于所述待渲染模型上每个位置点的位置坐标;
根据所述位置坐标、所述光源位置、预设的相机位置和所述初始渲染图像中每个像素点的光照参数,设置所述待渲染模型的阴影区域的每个像素点的像素值;
将每个像素点的像素值确定后的所述待渲染模型的阴影区域,确定为所述待渲染模型的阴影图像。
4.根据权利要求3所述的方法,其特征在于,所述基于所述初始渲染图像,计算所述初始渲染图像中的每个像素点对应于所述待渲染模型上每个位置点的位置坐标的步骤,包括:
基于所述初始渲染图像,确定所述初始渲染图像中每个像素点的像素坐标;
获取所述初始渲染图像中每个像素点的深度值;
根据所述初始渲染图像中每个像素点的像素坐标和深度值,经过矩阵运算,得出所述初始渲染图像中每个像素点对应于所述待渲染模型上每个位置点的位置坐标。
5.根据权利要求3所述的方法,其特征在于,所述光照参数包括所述待渲染模型的透明度;
所述根据所述位置坐标、所述光源位置、预设的相机位置和所述初始渲染图像中每个像素点的光照参数,设置所述待渲染模型的阴影区域的每个像素点的像素值的步骤,包括:
从所述相机位置向待渲染模型的阴影区域对应的图像区域中的各个像素点发送主光线,针对所述图像区域中的每个像素点执行下述操作:
确定当前像素点与所述光源位置的连接线,如果所述连接线穿过所述待渲染模型,将所述当前像素点确定为阴影遮罩点;其中,所述连接线穿过所述待渲染模型表示:所述连接线穿过所述初始渲染图像中对应于所述待渲染模型上的每个位置点的位置坐标的像素点;
识别所述初始渲染图像中所述连接线的穿过位置对应的像素点的透明度;基于所述透明度,确定所述阴影遮罩点的像素值。
6.根据权利要求5所述的方法,其特征在于,所述基于所述透明度,确定所述阴影遮罩点的像素值的步骤,包括:
如果所述穿过位置被M个连接线穿过,将所述穿过位置的透明度的M次方确定为所述阴影遮罩点的像素值;其中,M为大于0的自然数。
7.根据权利要求5所述的方法,其特征在于,所述基于所述透明度,确定所述阴影遮罩点的像素值的步骤,包括:
如果所述连接线同时穿过所述待渲染模型和预设的至少一个第一模型,识别所述初始渲染图像中所述连接线的穿过位置对应的像素点的透明度和每个所述第一模型对应的初始渲染图像中所述连接线的穿过位置对应的像素点的透明度;
将识别出的所述透明度的乘积,确定为所述阴影遮罩点的像素值。
8.根据权利要求5所述的方法,其特征在于,所述光照参数还包括所述待渲染模型的折射率;
所述基于所述透明度,确定所述阴影遮罩点的像素值的步骤,包括:
根据所述初始渲染图像中所述连接线的穿过位置对应的像素点的折射率,确定像素倍乘因子;
将所述像素倍乘因子与所述透明度的乘积,确定为所述阴影遮罩点的像素值。
9.根据权利要求8所述的方法,其特征在于,所述根据所述初始渲染图像中所述连接线的穿过位置对应的像素点的折射率,确定像素倍乘因子的步骤,包括:
基于所述初始渲染图像中所述连接线的穿过位置对应的像素点的折射率,确定所述主光线的反射光线对应的折射光线;
将所述折射光线对应的向量与所述反射光线对应的向量进行点乘,得到偏差度;
根据所述偏差度,确定所述像素倍乘因子。
10.根据权利要求9所述的方法,其特征在于,所述根据所述偏差度,确定所述像素倍乘因子的步骤,包括:
将所述偏差度的n次方与所述折射率的乘积,确定为所述像素倍乘因子。
11.根据权利要求1所述的方法,其特征在于,所述对待渲染模型进行初步渲染,得到所述待渲染模型的初始渲染图像的步骤,包括:
确定所述待渲染模型的半透明区域和非透明区域;
对所述非透明区域进行光栅化渲染,得到第一图像;
对所述半透明区域进行光线追踪渲染,得到第二图像;
整合所述第一图像和所述第二图像,得到所述初始渲染图像。
12.根据权利要求1所述的方法,其特征在于,所述初始渲染图像的尺寸与所述阴影图像的尺寸相同;
所述将所述初始渲染图像与所述阴影图像进行混叠处理,得到所述待渲染模型的最终渲染图像的步骤,包括:
针对所述初始渲染图像中的每个像素点,执行下述操作:
从所述阴影图像中,确定与当前像素点的位置相匹配的目标像素点;
将所述当前像素点的像素值与所述目标像素点的像素值相乘,得到所述最终渲染图像中当前像素点的像素值。
13.一种渲染装置,其特征在于,所述装置包括:
第一渲染模块,用于对待渲染模型进行初步渲染,得到所述待渲染模型的初始渲染图像;所述待渲染模型的光照参数包括以下至少一种:所述待渲染模型的透明度、所述待渲染模型的折射率、所述待渲染模型的透光度;
第二渲染模块,用于基于所述初始渲染图像、预设的光源位置和所述待渲染模型的光照参数,渲染所述待渲染模型的阴影区域,得到所述待渲染模型的阴影图像;
混叠模块,用于将所述初始渲染图像与所述阴影图像进行混叠处理,得到所述待渲染模型的最终渲染图像;
所述第二渲染模块用于通过以下步骤确定所述待渲染模型的阴影图像:确定所述初始渲染图像中每个像素点与所述待渲染模型中每个位置点的对应关系;针对所述初始渲染图像中的每个像素点,根据当前像素点在所述待渲染模型中对应的位置点的透明度、折射率或者透光度,设置所述待渲染模型的阴影区域的每个像素点的像素值,将每个像素点的像素值确定后的所述待渲染模型的阴影区域,确定为所述待渲染模型的阴影图像。
14.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器执行所述机器可执行指令以实现权利要求1至12任一项所述的渲染方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令在被处理器调用和执行时,所述计算机可执行指令促使所述处理器实现权利要求1至12任一项所述的渲染方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110134233.0A CN112819940B (zh) | 2021-01-29 | 2021-01-29 | 渲染方法、装置和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110134233.0A CN112819940B (zh) | 2021-01-29 | 2021-01-29 | 渲染方法、装置和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112819940A CN112819940A (zh) | 2021-05-18 |
CN112819940B true CN112819940B (zh) | 2024-02-23 |
Family
ID=75860842
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110134233.0A Active CN112819940B (zh) | 2021-01-29 | 2021-01-29 | 渲染方法、装置和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112819940B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113313806B (zh) * | 2021-06-28 | 2022-08-19 | 完美世界(北京)软件科技发展有限公司 | 一种阴影效果的渲染方法、装置、存储介质和电子装置 |
CN113870380A (zh) * | 2021-09-28 | 2021-12-31 | 泰山信息科技有限公司 | 一种光影效果图的生成方法、装置、设备及可读存储介质 |
CN114998504B (zh) * | 2022-07-29 | 2022-11-15 | 杭州摩西科技发展有限公司 | 二维图像光照渲染方法、装置、系统和电子装置 |
CN118628639A (zh) * | 2023-03-08 | 2024-09-10 | 深圳市腾讯网域计算机网络有限公司 | 阴影渲染方法、装置、计算机设备和存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5870097A (en) * | 1995-08-04 | 1999-02-09 | Microsoft Corporation | Method and system for improving shadowing in a graphics rendering system |
CN103903296A (zh) * | 2014-04-23 | 2014-07-02 | 东南大学 | 虚拟家装室内场景设计中的阴影渲染方法 |
CN105447906A (zh) * | 2015-11-12 | 2016-03-30 | 浙江大学 | 基于图像和模型计算光照参数进行重光照渲染的方法 |
CN109658494A (zh) * | 2019-01-07 | 2019-04-19 | 北京达美盛科技有限公司 | 一种在三维可视化图形中的阴影渲染方法 |
CN109993823A (zh) * | 2019-04-11 | 2019-07-09 | 腾讯科技(深圳)有限公司 | 阴影渲染方法、装置、终端及存储介质 |
CN110599574A (zh) * | 2019-09-17 | 2019-12-20 | 网易(杭州)网络有限公司 | 游戏场景的渲染方法、装置及电子设备 |
CN111968216A (zh) * | 2020-07-29 | 2020-11-20 | 完美世界(北京)软件科技发展有限公司 | 一种体积云阴影渲染方法、装置、电子设备及存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6791544B1 (en) * | 2000-04-06 | 2004-09-14 | S3 Graphics Co., Ltd. | Shadow rendering system and method |
US6903741B2 (en) * | 2001-12-13 | 2005-06-07 | Crytek Gmbh | Method, computer program product and system for rendering soft shadows in a frame representing a 3D-scene |
US9838583B2 (en) * | 2015-09-21 | 2017-12-05 | Siemens Energy, Inc. | Method and apparatus for verifying lighting setup used for visual inspection |
US9818221B2 (en) * | 2016-02-25 | 2017-11-14 | Qualcomm Incorporated | Start node determination for tree traversal for shadow rays in graphics processing |
US10762695B1 (en) * | 2019-02-21 | 2020-09-01 | Electronic Arts Inc. | Systems and methods for ray-traced shadows of transparent objects |
-
2021
- 2021-01-29 CN CN202110134233.0A patent/CN112819940B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5870097A (en) * | 1995-08-04 | 1999-02-09 | Microsoft Corporation | Method and system for improving shadowing in a graphics rendering system |
CN103903296A (zh) * | 2014-04-23 | 2014-07-02 | 东南大学 | 虚拟家装室内场景设计中的阴影渲染方法 |
CN105447906A (zh) * | 2015-11-12 | 2016-03-30 | 浙江大学 | 基于图像和模型计算光照参数进行重光照渲染的方法 |
CN109658494A (zh) * | 2019-01-07 | 2019-04-19 | 北京达美盛科技有限公司 | 一种在三维可视化图形中的阴影渲染方法 |
CN109993823A (zh) * | 2019-04-11 | 2019-07-09 | 腾讯科技(深圳)有限公司 | 阴影渲染方法、装置、终端及存储介质 |
CN110599574A (zh) * | 2019-09-17 | 2019-12-20 | 网易(杭州)网络有限公司 | 游戏场景的渲染方法、装置及电子设备 |
CN111968216A (zh) * | 2020-07-29 | 2020-11-20 | 完美世界(北京)软件科技发展有限公司 | 一种体积云阴影渲染方法、装置、电子设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
DX 11高级渲染技术下3D游戏引擎;袁琼;刘立;;计算机系统应用(04);第78-81页 * |
一种快速高效渲染水下刻蚀和光束的方法;曹红飞;吴世通;李云飞;;系统仿真学报(07);第150-155页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112819940A (zh) | 2021-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112819940B (zh) | 渲染方法、装置和电子设备 | |
US10068368B2 (en) | Method, visualization device, and computer program product for visualizing a three-dimensional object | |
KR102223064B1 (ko) | 영상 처리 장치 및 방법 | |
CN113808245B (zh) | 用于遍历光线追踪加速结构的增强技术 | |
CN112712582B (zh) | 动态全局光照方法、电子设备及计算机可读存储介质 | |
CN114419240B (zh) | 光照渲染方法、装置、计算机设备和存储介质 | |
CN111632378B (zh) | 光照贴图制作、游戏模型的渲染方法、装置和电子设备 | |
US20230230311A1 (en) | Rendering Method and Apparatus, and Device | |
CN112184873B (zh) | 分形图形创建方法、装置、电子设备和存储介质 | |
CN113205586A (zh) | 图像处理方法及装置、电子设备、计算机可读存储介质 | |
CN111739142A (zh) | 场景渲染方法、装置、电子设备及计算机可读存储介质 | |
KR102413146B1 (ko) | 3차원 데이터 처리 방법 | |
US20240290027A1 (en) | Synthetic Images for Machine Learning | |
US20060250414A1 (en) | System and method of anti-aliasing computer images | |
US8970626B2 (en) | System, method, and computer program product for adding computer-generated scene elements into a representation of a real-world scene, using path tracing | |
CN115359172A (zh) | 渲染方法及相关装置 | |
US20240249461A1 (en) | Vector graphic texture engine | |
US20240233265A9 (en) | Appearance Capture | |
US20240312117A1 (en) | System and method for real-time ray tracing in a 3d environment | |
CN118172459A (zh) | 一种倾斜摄影模型渲染方法及渲染系统 | |
CN118736097A (zh) | 阴影生成方法、图像渲染方法、图形处理器及系统 | |
US20140333611A1 (en) | Method and device for visualizing contact(s) between objects of a virtual scene | |
CN118304644A (zh) | 场景渲染方法、装置和电子设备 | |
CN117541706A (zh) | 用于光线追踪实现透明材质的实时渲染处理方法和系统 | |
Noor et al. | SAwareSSGI: Surrounding-Aware Screen-Space Global Illumination Using Generative Adversarial Networks |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |