【技术实现步骤摘要】
基于空间复用的真实感虚拟3D场景光场投影图像绘制方法
本专利技术涉及一种基于空间复用的真实感虚拟3D场景光场投影图像绘制方法,属于3D场景绘制和显示
技术介绍
当前,真三维显示技术受到人们的广泛关注。光场三维显示技术是近年来出现的一种新型真三维显示技术。发表在《液晶与显示》2017年32卷4期的论文《基于液晶多层屏的3D显示系统和算法设计》介绍的多层LCD三维显示系统就是光场三维显示技术的一种具体实现。目前,主要有两种用于获取光场三维显示系统显示的三维数据的方法;一种是针对实际3D场景的360度多视角图像采集方法,其使用围绕实际3D场景圆周分布的CCD相机阵列从多个视角对场景的不同侧面进行拍摄,得到相应的拍摄图像;另一种是使用虚拟相机阵列拍摄虚拟3D场景,以获得虚拟3D场景的光场的投影图像。如果把光场三维显示技术应用在影视娱乐中,就显示内容制作而言,第二种方法可根据需要使用软件创建三维场景,因此具有更大的灵活性。已有文献对虚拟3D场景的光场的投影图像生成过程作过论述,例如,发表在《液晶与显示》2017年32卷4期的论文《基于液晶多层屏的3D显示系统和算法设计》、浙江大学的夏新星于2014年完成的博士学位论文《水平光场三维显示机理及实现技术研究》、浙江大学的丁俊于2016年完成的硕士学位论文《基于多层液晶的近眼三维显示研究》等。对于近眼光场显示系统而言,通常要求在整个圆形瞳孔区域内进行视点采样,每个视点采样对应一个虚拟相机的视点位置,所有虚拟相机构成一个虚拟相机阵列,另外还要求确定各个虚拟相机的视口朝向、视场角和相机分辨率。这一过程的具体实现方法在 ...
【技术保护点】
基于空间复用的真实感虚拟3D场景光场投影图像绘制方法,其特征在于:首先使用光子跟踪技术创建光子图,接着计算虚拟相机阵列中的所有虚拟相机对应的可视场景点,并把所有可视场景点保存在一个列表中,然后计算列表中的所有可视场景点的全局光照值,具体实现步骤如下:提供一种数据结构TVSPT,用于存储与可视场景点相关的数据;数据结构TVSPT包含可视场景点所在位置vsPos、可视场景点所在位置的几何对象表面的法向量vsNrm、可视场景点对应的虚拟相机编号nCam、可视场景点对应的虚拟相机的虚拟像素平面上的像素的行号vnRow、可视场景点对应的虚拟相机的虚拟像素平面上的像素的列号vnCol、从可视场景点散射进入对应虚拟相机的光线的光亮度vsL、可视场景点对应的光源采样点位置vsQ、可视场景点对应的光源可见性vsV共八个成员变量;提供一种数据结构TALSPT,用于存储光源采样点相关数据;数据结构TALSPT包含光源采样点位置lsPos、光源可见性lsV共两个成员变量;1)使用光子跟踪技术创建光子图,具体方法如下:首先在计算机的存储器中创建一个不包含任何光子记录的光子图PMap;使用光子跟踪技术从面光源向三 ...
【技术特征摘要】
1.基于空间复用的真实感虚拟3D场景光场投影图像绘制方法,其特征在于:首先使用光子跟踪技术创建光子图,接着计算虚拟相机阵列中的所有虚拟相机对应的可视场景点,并把所有可视场景点保存在一个列表中,然后计算列表中的所有可视场景点的全局光照值,具体实现步骤如下:提供一种数据结构TVSPT,用于存储与可视场景点相关的数据;数据结构TVSPT包含可视场景点所在位置vsPos、可视场景点所在位置的几何对象表面的法向量vsNrm、可视场景点对应的虚拟相机编号nCam、可视场景点对应的虚拟相机的虚拟像素平面上的像素的行号vnRow、可视场景点对应的虚拟相机的虚拟像素平面上的像素的列号vnCol、从可视场景点散射进入对应虚拟相机的光线的光亮度vsL、可视场景点对应的光源采样点位置vsQ、可视场景点对应的光源可见性vsV共八个成员变量;提供一种数据结构TALSPT,用于存储光源采样点相关数据;数据结构TALSPT包含光源采样点位置lsPos、光源可见性lsV共两个成员变量;1)使用光子跟踪技术创建光子图,具体方法如下:首先在计算机的存储器中创建一个不包含任何光子记录的光子图PMap;使用光子跟踪技术从面光源向三维场景发射Npt个光子,跟踪这Npt个光子在3D场景中传播时与几何对象发生碰撞而被散射的过程;对于每个光子A002,在跟踪光子A002在3D场景中传播时与几何对象发生碰撞而被散射的过程中,从光子A002第二次与3D场景几何对象发生碰撞开始,每发生一次碰撞就向光子图PMap中添加一个光子记录,每个光子记录包括光子与3D场景几何对象的碰撞位置PPos、光子在碰撞位置PPos处的归一化入射方向向量PVi,光子在碰撞位置PPos处的入射功率PW共三个分量;2)计算包含Ncamr×Ncamc个虚拟相机的虚拟相机阵列中的每个虚拟相机的虚拟像素平面上的每个像素对应的可视场景点,具体方法如下:步骤Step201:在计算机的存储器中创建一个列表Ltvspt,列表Ltvspt的每个元素用于存储一个数据结构TVSPT类型的变量,令列表Ltvspt为空;步骤Step202:对于包含Ncamr×Ncamc个虚拟相机的虚拟相机阵列中的每个虚拟相机A003,做如下操作:根据虚拟相机A003的视点位置、视口朝向、视场角和相机分辨率参数,利用光线投射技术,从虚拟相机A003的视点位置发射穿过虚拟相机A003的虚拟像素平面上的每个像素中心点的光线A004,光线A004与虚拟相机A003的虚拟像素平面上的像素一一对应;对虚拟相机A003的虚拟像素平面上的每个像素对应的光线A004,执行如下操作:判断光线A004与3D场景的几何对象是否相交,如果光线A004与3D场景的几何对象相交,则进一步执行如下两个子步骤:步骤Step202-1:计算光线A004与3D场景的几何对象的离虚拟相机A003的视点位置最近的交点A005,交点A005是一个可视场景点,创建一个数据结构TVSPT类型的变量A006,变量A006对应了一条唯一的光线A004,把变量A006的可视场景点所在位置vsPos成员变量赋值为交点A005的位置,把变量A006的可视场景点所在位置的几何对象表面的法向量vsNrm成员变量赋值为交点A005处的几何对象表面法向量,把变量A006的可视场景点对应的虚拟相机编号nCam成员变量赋值为虚拟相机A003在虚拟相机阵列中的编号,把变量A006的可视场景点对应的虚拟相机的虚拟像素平面上的像素的行号vnRow成员变量赋值为变量A006对应的光线A004对应的虚拟相机A003的虚拟像素平面上的像素的行号,把变量A006的可视场景点对应的虚拟相机的虚拟像素平面上的像素的列号vnCol成员变量赋值为变量A006对应的光线A004对应的虚拟相机A003的虚拟像素平面上的像素的列号,把变量A006的从可视场景点散射进入对应虚拟相机的光线的光亮度vsL成员变量赋值为0;步骤Step202-2:把变量A006添加到列表Ltvspt中;3)计算经每个可视场景点散射进入对应的虚拟相机的光线的光亮度,具体方法如下:步骤Step301:对列表Ltvspt中的每个元素B001,执行如下操作:按均匀分布在面光源上产生一个随机光源采样点B002;把元素B001存储的数据结构TVSPT类型的变量的可视场景点对应的光源采样点位置vsQ成员变量赋值为光源采样点B002所在位置;判断从光源采样点B002所在位置到元素B001存储的数据结构TVSPT类型的变量的可视场景点所在位置vsPos成员变量表示的位置的线段B003与3D场景的几何对象是否相交,如果相交,则把元素B001存储的数据结构TVSPT类型的变量的可视场景点对应的光源可见性vsV成员变量赋值为0,否则把元素B001存储的数据结构TVSPT类型的变量的可视场景点对应的光源可见性vsV成员变量赋值为1;步骤Step302:以数据结构TVSPT类型的变量的可视场景点所在位置vsPos成员变量的值作为主键值,把列表Ltvspt中的所有元素存储的数据结构TVSPT类型的变量保存在一个kd树空间数据结构C001中;步骤Step303:对列表Ltvspt中的每个元素B001,执行如下子步骤:步骤Step303-1:在计算机存储器中创建一个列表C002,列表C002的每个元素存储一个数据结构TVSPT类型的变量,令列表C002为空;从kd树空间数据结构C001中找出满足条件COND1的所有数据结构TVSPT类型的变量,并把这些被找出的数据结构TVSPT类型的变量添加到列表C002中;条件COND1为:kd树空间数据结构C001中存储的数据结构TVSPT类型的变量的可视场景点所在位置vsPos成员变量表示的位置到元素B001存储的数据结构TVSPT类型的变量的可视场景点所在位置vsPos成员变量表示的位置的距离小于Td;步骤Step303-2:对列表C002中的每个元素C003,执行如下操作:步骤Step303-2-1:令Vs代表元素C003存储的数据结构TVSPT类型的变量的可视场景点所在位置的几何对象表面的法向量vsNrm成员...
【专利技术属性】
技术研发人员:陈纯毅,杨华民,蒋振刚,姜会林,
申请(专利权)人:长春理工大学,
类型:发明
国别省市:吉林,22
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。