三维夜景灯光自动生成和渲染的方法、装置和设备制造方法及图纸

技术编号:26973122 阅读:25 留言:0更新日期:2021-01-06 00:06
本发明专利技术涉及一种三维夜景灯光自动生成和渲染的方法、装置和设备,通过获取渲染场景在预设平面上的投影区域,在投影区域中添加预先构建的阵列,检测与阵列区块形状相同的相机视窗在阵列中的当前覆盖区域,将灯光粒子按照预设规律分布在当前覆盖区域中,对当前覆盖区域对应的当前渲染场景进行灯光渲染,随着相机视窗的移动,确定相机视窗在阵列中的移动覆盖区域,将当前覆盖区域中的灯光粒子转移到移动覆盖区域的阵列区块的坐标对应的位置处,对移动覆盖区域对应的移动渲染场景进行灯光渲染,以使每个灯光粒子始终按照同一坐标分布在相机视窗内,实现了区域性的效果概览,减小了需要渲染的灯光粒子数量,进而有效提高了运行速度和作图效率。

【技术实现步骤摘要】
三维夜景灯光自动生成和渲染的方法、装置和设备
本专利技术涉及灯光渲染
,具体涉及一种三维夜景灯光自动生成和渲染的方法、装置和设备。
技术介绍
灯光有助于表达情感,能够引导观众的眼睛到特定的位置,还可以为场景提供更大的深度,展现丰富的层次,使模型更加立体美观,灯光的运用已经成为一大流行趋势。目前,常用的灯光渲染方式有以下几种:第一,高级全局照明渲染器和全局照明渲染器,主要依据“光线跟踪”(raytrace)在模型表面之间追踪射线,射线不断被某些对象表面反射到其他对象表面,直到从场景中消失。第二,辐射度渲染法,通过集成缓存辐照度计算,反射能量在场景中不断反弹,能量逐级减弱。根据几何形状、能源、地理位置、日期或材料研究灯光效果,或粒子系统作为光源。第三,Lumaobject效果,Lumaobject使自发光物体作为光源,并可控制光线衰减在某种程度上实现了辐射度的效果,以白炽灯、立体光源和特殊材料属性的形式提供灯光效果。第四,多边形着色聚光灯uv大师,通过BPR渲染功能,利用全景图作为背景贴合模型,在渲染时作为环境的照明和着色。但是,现有技术中的灯光渲染方法均不能实现大面积灯光的一键插入,只能逐个放置,不能形成区域性的效果概览,且灯光过多时运行速度慢,影响作图效率。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种三维夜景灯光自动生成和渲染的方法、装置和设备,以克服目前灯光渲染方法均不能实现大面积灯光的一键插入,只能逐个放置,不能形成区域性的效果概览,且灯光过多时运行速度慢,影响作图效率的问题。为实现以上目的,本专利技术采用如下技术方案:一种三维夜景灯光自动生成和渲染的方法,包括:获取渲染场景的预设面作为投影区域;在所述投影区域中添加预先构建的阵列;其中,所述阵列的每个阵列区块均设置有相同的坐标系;检测形状、大小均与任一所述阵列区块相同的相机视窗在所述阵列中的当前覆盖区域;将灯光粒子按照预设规律分布在所述当前覆盖区域中,对所述当前覆盖区域对应的当前渲染场景进行灯光渲染;随着所述相机视窗的移动,确定所述相机视窗在所述阵列中的移动覆盖区域;将所述当前覆盖区域中的所述灯光粒子转移到所述移动覆盖区域的所述阵列区块坐标对应的位置处,对所述移动覆盖区域对应的移动渲染场景进行灯光渲染;将所述移动覆盖区域作为所述相机视窗下一次移动时的所述当前覆盖区域,以使每个所述灯光粒子始终按照同一坐标分布在所述相机视窗内。进一步地,以上所述的三维夜景灯光自动生成和渲染的方法,每个所述阵列区块包括相同的子阵列,所述子阵列中的子阵列区块的数量与所述灯光粒子的数量相同;所述将灯光粒子按照预设规律分布在所述当前覆盖区域中,包括:确定所述子阵列区块中,所述当前覆盖区域覆盖的目标子阵列区块;在每个所述目标子阵列区块的任意位置均放置一个所述灯光粒子。进一步地,以上所述的三维夜景灯光自动生成和渲染的方法,所述阵列区块和所述子阵列区块均为彼此相接的正方形区块;所述在每个所述目标子阵列区块的任意位置均放置一个所述灯光粒子之前,还包括:在0到N1之间随机设置每个所述灯光粒子的光照范围半径;其中,N1为所述子阵列区块的边长。进一步地,以上所述的三维夜景灯光自动生成和渲染的方法,所述将所述当前覆盖区域中的所述灯光粒子转移到所述移动覆盖区域的所述阵列区块坐标对应的位置处,包括:按照如下公式确定所述灯光粒子的偏移值:vOffset=(vCell+floor(uCameraPositionMod+0.5-vCell)-uCameraPositionMod)×N2;其中,vOffset为所述偏移值,vCell为所述当前覆盖区域中的任一所述灯光粒子的坐标(i,j),uCameraPositionMod为mod(CameraPosition,N2),N2为所述阵列区块的边长,CameraPosition为相机位置;按照所述偏移值转移所述灯光粒子。进一步地,以上所述的三维夜景灯光自动生成和渲染的方法,所述对所述当前覆盖区域对应的当前渲染场景进行灯光渲染,包括:确定所述当前渲染场景中所述灯光粒子的高度属性、色温属性和光晕属性;将所述高度属性、所述色温属性和所述光晕属性叠加到所述灯光粒子中,以对所述当前渲染场景进行灯光渲染。进一步地,以上所述的三维夜景灯光自动生成和渲染的方法,所述对所述移动覆盖区域对应的移动渲染场景进行灯光渲染,包括:将所述高度属性、所述色温属性和所述光晕属性叠加到所述灯光粒子中,以对所述移动渲染场景进行灯光渲染。进一步地,以上所述的三维夜景灯光自动生成和渲染的方法,所述获取渲染场景的预设面作为投影区域,包括:获取所述渲染场景俯视面作为所述投影区域。本专利技术还提供了一种三维夜景灯光自动生成和渲染的装置,包括:获取模块,用于获取渲染场景的预设面作为投影区域;添加模块,用于在所述投影区域中添加预先构建的阵列;其中,所述阵列的每个阵列区块均设置有相同的坐标系;检测模块,用于检测形状、大小均与任一所述阵列区块相同的相机视窗在所述阵列中的当前覆盖区域;渲染模块,用于将灯光粒子按照预设规律分布在所述当前覆盖区域中,对所述当前覆盖区域对应的当前渲染场景进行灯光渲染;确定模块,用于随着所述相机视窗的移动,确定所述相机视窗在所述阵列中的移动覆盖区域;所述渲染模块,还用于将所述当前覆盖区域中的所述灯光粒子转移到所述移动覆盖区域的所述阵列区块坐标对应的位置处,对所述移动覆盖区域对应的移动渲染场景进行灯光渲染;将所述移动覆盖区域作为所述相机视窗下一次移动时的所述当前覆盖区域,以使每个所述灯光粒子始终按照同一坐标分布在所述相机视窗内。进一步地,以上所述的三维夜景灯光自动生成和渲染的装置,每个所述阵列区块包括相同的子阵列,所述子阵列中的子阵列区块的数量与所述灯光粒子的数量相同;所述渲染模块,具体用于确定所述子阵列区块中,所述当前覆盖区域覆盖的目标子阵列区块;在每个所述目标子阵列区块的任意位置均放置一个所述灯光粒子。本专利技术还提供了一种三维夜景灯光自动生成和渲染的设备,包括处理器和存储器,所述处理器与所述存储器相连:其中,所述处理器,用于调用并执行所述存储器中存储的程序;所述存储器,用于存储所述程序,所述程序至少用于执行以上任一项所述的三维夜景灯光自动生成和渲染的方法。本专利技术的三维夜景灯光自动生成和渲染的方法、装置和设备,通过获取渲染场景在预设平面上的投影区域,在投影区域中添加预先构建的阵列,其中,阵列的每个阵列区块均设置有相同的坐标系,检测与阵列区块形状相同的相机视窗在阵列中的当前覆盖区域,将灯光粒子按照预设规律分布在当前覆盖区域中,对当前覆盖区域对应的当前渲染场景进行灯光渲染,随着相机视窗的移动,确定相机视窗在阵列中的移动覆盖区域,将当前覆盖区域中的灯光粒子转移到移动覆盖区域的阵列区块的坐标对本文档来自技高网...

【技术保护点】
1.一种三维夜景灯光自动生成和渲染的方法,其特征在于,包括:/n获取渲染场景的预设面作为投影区域;/n在所述投影区域中添加预先构建的阵列;其中,所述阵列的每个阵列区块均设置有相同的坐标系;/n检测形状、大小均与任一所述阵列区块相同的相机视窗在所述阵列中的当前覆盖区域;/n将灯光粒子按照预设规律分布在所述当前覆盖区域中,对所述当前覆盖区域对应的当前渲染场景进行灯光渲染;/n随着所述相机视窗的移动,确定所述相机视窗在所述阵列中的移动覆盖区域;/n将所述当前覆盖区域中的所述灯光粒子转移到所述移动覆盖区域的所述阵列区块坐标对应的位置处,对所述移动覆盖区域对应的移动渲染场景进行灯光渲染;/n将所述移动覆盖区域作为所述相机视窗下一次移动时的所述当前覆盖区域,以使每个所述灯光粒子始终按照同一坐标分布在所述相机视窗内。/n

【技术特征摘要】
1.一种三维夜景灯光自动生成和渲染的方法,其特征在于,包括:
获取渲染场景的预设面作为投影区域;
在所述投影区域中添加预先构建的阵列;其中,所述阵列的每个阵列区块均设置有相同的坐标系;
检测形状、大小均与任一所述阵列区块相同的相机视窗在所述阵列中的当前覆盖区域;
将灯光粒子按照预设规律分布在所述当前覆盖区域中,对所述当前覆盖区域对应的当前渲染场景进行灯光渲染;
随着所述相机视窗的移动,确定所述相机视窗在所述阵列中的移动覆盖区域;
将所述当前覆盖区域中的所述灯光粒子转移到所述移动覆盖区域的所述阵列区块坐标对应的位置处,对所述移动覆盖区域对应的移动渲染场景进行灯光渲染;
将所述移动覆盖区域作为所述相机视窗下一次移动时的所述当前覆盖区域,以使每个所述灯光粒子始终按照同一坐标分布在所述相机视窗内。


2.根据权利要求1所述的三维夜景灯光自动生成和渲染的方法,其特征在于,每个所述阵列区块包括相同的子阵列,所述子阵列中的子阵列区块的数量与所述灯光粒子的数量相同;
所述将灯光粒子按照预设规律分布在所述当前覆盖区域中,包括:
确定所述子阵列区块中,所述当前覆盖区域覆盖的目标子阵列区块;
在每个所述目标子阵列区块的任意位置均放置一个所述灯光粒子。


3.根据权利要求2所述的三维夜景灯光自动生成和渲染的方法,其特征在于,所述阵列区块和所述子阵列区块均为彼此相接的正方形区块;
所述在每个所述目标子阵列区块的任意位置均放置一个所述灯光粒子之前,还包括:
在0到N1之间随机设置每个所述灯光粒子的光照范围半径;其中,N1为所述子阵列区块的边长。


4.根据权利要求3所述的三维夜景灯光自动生成和渲染的方法,其特征在于,所述将所述当前覆盖区域中的所述灯光粒子转移到所述移动覆盖区域的所述阵列区块坐标对应的位置处,包括:
按照如下公式确定所述灯光粒子的偏移值:
vOffset=(vCell+floor(uCameraPositionMod+0.5-vCell)-uCameraPositionMod)×N2;
其中,vOffset为所述偏移值,vCell为所述当前覆盖区域中的任一所述灯光粒子的坐标(i,j),uCameraPositionMod为mod(CameraPosition,N2),N2为所述阵列区块的边长,CameraPosition为相机位置;
按照所述偏移值转移所述灯光粒子。


5.根据权利要求1所述的三维夜景灯光自...

【专利技术属性】
技术研发人员:丁伟
申请(专利权)人:洛阳众智软件科技股份有限公司
类型:发明
国别省市:河南;41

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

1