CN107909647B - 基于空间复用的真实感虚拟3d场景光场投影图像绘制方法 - Google Patents
基于空间复用的真实感虚拟3d场景光场投影图像绘制方法 Download PDFInfo
- Publication number
- CN107909647B CN107909647B CN201711175280.XA CN201711175280A CN107909647B CN 107909647 B CN107909647 B CN 107909647B CN 201711175280 A CN201711175280 A CN 201711175280A CN 107909647 B CN107909647 B CN 107909647B
- Authority
- CN
- China
- Prior art keywords
- variable
- data structure
- virtual camera
- light source
- point
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
Abstract
本发明公开一种基于空间复用的真实感虚拟3D场景光场投影图像绘制方法,其特征在于:在绘制虚拟相机阵列拍摄的各幅虚拟3D场景画面时,通过对光照计算结果进行空间复用来加快3D场景画面的绘制速度。对于面光源照射下的虚拟3D场景的间接光照结果,该方法使用光子映射技术来实现在绘制各个虚拟相机拍摄画面时对间接光照计算结果的空间复用。对于面光源照射下的虚拟3D场景的直接光照结果,该方法对面光源采样点的可见性计算结果进行空间复用。
Description
技术领域
本发明涉及一种基于空间复用的真实感虚拟3D场景光场投影图像绘制方法,属于3D场景绘制和显示技术领域。
背景技术
当前,真三维显示技术受到人们的广泛关注。光场三维显示技术是近年来出现的一种新型真三维显示技术。发表在《液晶与显示》2017年32卷4期的论文《基于液晶多层屏的3D显示系统和算法设计》介绍的多层LCD三维显示系统就是光场三维显示技术的一种具体实现。目前,主要有两种用于获取光场三维显示系统显示的三维数据的方法;一种是针对实际3D场景的360度多视角图像采集方法,其使用围绕实际3D场景圆周分布的CCD相机阵列从多个视角对场景的不同侧面进行拍摄,得到相应的拍摄图像;另一种是使用虚拟相机阵列拍摄虚拟3D场景,以获得虚拟3D场景的光场的投影图像。如果把光场三维显示技术应用在影视娱乐中,就显示内容制作而言,第二种方法可根据需要使用软件创建三维场景,因此具有更大的灵活性。已有文献对虚拟3D场景的光场的投影图像生成过程作过论述,例如,发表在《液晶与显示》2017年32卷4期的论文《基于液晶多层屏的3D显示系统和算法设计》、浙江大学的夏新星于2014年完成的博士学位论文《水平光场三维显示机理及实现技术研究》、浙江大学的丁俊于2016年完成的硕士学位论文《基于多层液晶的近眼三维显示研究》等。对于近眼光场显示系统而言,通常要求在整个圆形瞳孔区域内进行视点采样,每个视点采样对应一个虚拟相机的视点位置,所有虚拟相机构成一个虚拟相机阵列,另外还要求确定各个虚拟相机的视口朝向、视场角和相机分辨率。这一过程的具体实现方法在《基于多层液晶的近眼三维显示研究》中有介绍。在确定虚拟相机阵列的各个虚拟相机的视点位置、视口朝向、视场角和相机分辨率后,使用三维场景绘制技术可以绘制出各个虚拟相机拍摄到的虚拟3D场景画面,每幅画面就是一幅虚拟3D场景的光场投影图像。为了使虚拟3D场景画面具有良好的真实感,需要绘制虚拟3D场景画面的全局光照效果。对于复杂虚拟3D场景来说,绘制考虑全局光照效果时的场景画面是一件非常耗时的工作。在生成真实感虚拟3D场景的光场投影图像时,如果对虚拟相机阵列中的每个相机,都独立地执行一遍场景绘制操作,则总耗时将随虚拟相机个数的增加而成倍增长。对用于近眼光场显示的一系列光场投影图像而言,各幅光场投影图像之间虽然存在细微差异,但通常保持着明显的相似性。这种相似性为在绘制真实感虚拟3D场景画面的过程中利用空间复用来减少绘制操作时间消耗提供了物理基础。
光源发出的光入射到一个3D场景点后,会被3D场景点散射而沿其他方向传递光照。可以把经一个3D场景点散射后直接进入虚拟相机的光亮度分为源自直接光照的光亮度和源自间接光照的光亮度。源自直接光照的光亮度可以使用蒙特卡罗积分求解方法来估计。这需要在面光源上产生一定数目的采样点(如图1所示),并计算每个采样点与可视场景点之间的可见性。发表在《ACM Transactions on Graphics》1996年15卷1期1~36页的论文详细介绍了蒙特卡罗直接光照亮度值估计技术。光子映射(Photon Mapping)技术常被用来计算源自间接光照的光亮度。首先使用光子跟踪技术创建光子图,然后利用光线投射技术找到可视场景点。对每个漫反射类型的可视场景点,可从光子图中搜索与该可视场景点邻近的光子并据此计算被该可视场景点散射进入虚拟相机的源自间接光照的光亮度。然而,这种直接根据光子图中的光子计算被可视场景点散射进入虚拟相机的源自间接光照的光亮度的方式会导致三维场景画面中出现明显的低频噪声。解决这一问题的方法是使用最终聚集(Final Gathering)技术。最终聚集技术在许多文献中有专门论述,例如2010年MorganKaufmann出版社出版的由M.Pharr和G.Humphreys撰写的书《Physically BasedRendering:From Theory to Implementation,2nd Edition》、山东大学2014年崔云鹏的硕士学位论文《基于Renderman的光子映射算法研究与实现》等。光线投射技术是三维图形绘制中的一种常见技术,其关键步骤是从虚拟相机的视点位置发射穿过虚拟像素平面上的各个像素的中心点的光线,并计算光线与3D场景几何对象之间的离视点位置最近的交点。如图2所示,点E是虚拟相机的视点位置,矩形ABCD是虚拟像素平面,点E和矩形ABCD的中心点G的连线垂直于矩形ABCD所在平面,线段EG的长度可以指定为1,从点E指向矩形ABCD的中心点G的向量对应了虚拟相机的视口朝向,点K为线段BC的中点,点H为线段AD的中点,点R为线段AB的中点,点S为线段CD的中点,线段EH和线段EK所夹的角对应了虚拟相机的水平视场角,线段ER和线段ES所夹的角对应了虚拟相机的竖直视场角,矩形ABCD中的每个小方格表示虚拟像素平面上的一个像素,虚拟像素平面上的像素行数和列数由虚拟相机的分辨率确定,例如1024×768的虚拟相机分辨率可对应包含1024行像素、768列像素的虚拟像素平面。在三维图形绘制中,常用kd树空间数据结构来组织数据集,以便能够根据主键值快速地找到满足特定条件的数据集元素。kd树空间数据结构在Pearson Education公司2014年出版的《Computer Graphics:Principles and Practice(3rd Edition)》中有详细介绍。本发明公开一种利用光照计算结果空间复用来加快真实感虚拟3D场景光场投影图像绘制速度的方法,为快速生成真实感虚拟3D场景的光场投影图像提供支持。
发明内容
本发明的目的在于提供一种基于空间复用的真实感虚拟3D场景光场投影图像绘制方法,绘制出使用包含Ncamr×Ncamc个虚拟相机的虚拟相机阵列拍摄的虚拟3D场景画面,为近眼光场显示应用系统提供三维数据。
本发明的技术方案是这样实现的:一种基于空间复用的真实感虚拟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成员变量表示的向量,令Vr代表元素B001存储的数据结构TVSPT类型的变量的可视场景点所在位置的几何对象表面的法向量vsNrm成员变量表示的向量;如果(Vs·Vr)/(|Vs|·|Vr|)小于Tv,则从列表C002中删除元素C003,并转步骤Step303-2-2,|Vs|表示Vs的长度,|Vr|表示Vr的长度;令P1代表元素C003存储的数据结构TVSPT类型的变量的可视场景点所在位置vsPos成员变量表示的位置,令P2代表元素B001存储的数据结构TVSPT类型的变量的可视场景点所在位置vsPos成员变量表示的位置,令Ql代表元素C003存储的数据结构TVSPT类型的变量的可视场景点对应的光源采样点位置vsQ成员变量表示的位置,令Vl1代表从Ql指向P1的向量,令Vl2代表从Ql指向P2的向量;如果(Vl1·Vl2)/(|Vl1|·|Vl2|)小于Tl,则从列表C002中删除元素C003,|Vl1|表示Vl1的长度,|Vl2|表示Vl2的长度;
步骤Step303-2-2:针对元素C003的操作结束;
步骤Step303-3:在计算机的存储器中创建一个列表C004,列表C004的每个元素存储一个数据结构TALSPT类型的变量,令列表C004为空;对列表C002中的每个元素C005,执行如下操作:
创建一个数据结构TALSPT类型的变量C006,把元素C005存储的数据结构TVSPT类型的变量的可视场景点对应的光源采样点位置vsQ成员变量的值赋给变量C006的光源采样点位置lsPos成员变量,把元素C005存储的数据结构TVSPT类型的变量的可视场景点对应的光源可见性vsV成员变量的值赋给变量C006的光源可见性lsV成员变量;把变量C006添加到列表C004中;
步骤Step303-4:令NC004表示列表C004的元素个数;如果NC004小于Nals,则按均匀分布在面光源上产生Nals-NC004个随机光源采样点C007,同时在计算机的存储器中创建Nals-NC004个数据结构TALSPT类型的变量C008,Nals-NC004个随机光源采样点C007和Nals-NC004个数据结构TALSPT类型的变量C008一一对应,把每个随机光源采样点C007所在位置赋值给与之对应的变量C008的光源采样点位置lsPos成员变量;判断从每个随机光源采样点C007到元素B001存储的数据结构TVSPT类型的变量的可视场景点所在位置vsPos成员变量表示的位置的线段与3D场景的几何对象是否相交,如果相交,把随机光源采样点C007对应的变量C008的光源可见性lsV成员变量赋值为0,否则把随机光源采样点C007对应的变量C008的光源可见性lsV成员变量赋值为1;
步骤Step303-5:令VSPOINT代表元素B001存储的数据结构TVSPT类型的变量的可视场景点所在位置vsPos成员变量表示的位置,令NCam代表元素B001存储的数据结构TVSPT类型的变量的可视场景点对应的虚拟相机编号nCam成员变量表示的编号;根据光子图PMap和元素B001存储的数据结构TVSPT类型的变量的可视场景点所在位置vsPos成员变量的值、可视场景点所在位置的几何对象表面的法向量vsNrm成员变量的值,使用最终聚集技术计算面光源发出的光照先经其他3D场景点散射到VSPOINT位置后,再经VSPOINT位置散射进入第NCam个虚拟相机的光亮度D001;根据列表C004中存储的所有数据结构TALSPT类型的变量的光源采样点位置lsPos成员变量的值来确定蒙特卡罗直接光照亮度值估计所需的光源采样点,用列表C004中存储的所有数据结构TALSPT类型的变量的光源可见性lsV成员变量的值作为对应光源采样点对VSPOINT位置的可见性近似值,使用蒙特卡罗直接光照亮度值估计技术来计算面光源发出的光照直接经VSPOINT位置散射进入第NCam个虚拟相机的光亮度D002;把光亮度D001与光亮度D002之和赋值给元素B001存储的数据结构TVSPT类型的变量的从可视场景点散射进入对应虚拟相机的光线的光亮度vsL成员变量;
4)根据列表Ltvspt中的元素,生成光场投影图像,具体方法如下:
对于包含Ncamr×Ncamc个虚拟相机的虚拟相机阵列中的每个虚拟相机A003,做如下操作:
步骤Step401:在计算机的存储器中创建一个包含Npixr行、Npixc列元素的二维数组ILLUMIN,Npixr为虚拟相机A003的虚拟像素平面上的像素行数,Npixc为虚拟相机A003的虚拟像素平面上的像素列数;数组ILLUMIN的元素与虚拟相机A003的虚拟像素平面上的像素一一对应;数组ILLUMIN用于存储经虚拟相机A003的虚拟像素平面上的像素对应的可视场景点散射进入虚拟相机A003的光亮度;把数组ILLUMIN的每个元素赋值为0;计算虚拟相机A003在虚拟相机阵列中的编号IDCam;在计算机的存储器中创建一个列表D003,令列表D003为空;把列表Ltvspt中的满足条件COND2的所有元素D004放到列表D003中;条件COND2为:元素D004存储的数据结构TVSPT类型的变量的可视场景点对应的虚拟相机编号nCam等于编号IDCam;对列表D003的每个元素D005,做如下操作:
令IdR代表元素D005存储的数据结构TVSPT类型的变量的可视场景点对应的虚拟相机的虚拟像素平面上的像素的行号vnRow成员变量表示的行号,令IdC代表元素D005存储的数据结构TVSPT类型的变量的可视场景点对应的虚拟相机的虚拟像素平面上的像素的列号vnCol成员变量表示的列号,把元素D005存储的数据结构TVSPT类型的变量的从可视场景点散射进入对应虚拟相机的光线的光亮度vsL成员变量的值赋给数组ILLUMIN的第IdR行、第IdC列元素;
步骤Step402:把数组ILLUMIN的每个元素保存的光亮度值转换成虚拟相机A003拍摄3D场景得到的画面图像像素颜色值,并把画面图像像素颜色值保存到与虚拟相机A003相对应的图像文件中,该图像文件存储的就是一幅光场投影图像。
本发明的积极效果是能够在绘制真实感虚拟3D场景光场投影图像的过程中在空间上复用光照计算结果,从而提高虚拟相机阵列拍摄的真实感虚拟3D场景光场投影图像的绘制速度。
附图说明
图1为面光源照射的三维场景示意图。
图2为虚拟像素平面示意图。
具体实施方式
为了使本方法的特征和优点更加清楚明白,下面结合具体实施例对本方法作进一步的描述。本实施例考虑一个放在封闭房间里的石膏雕像虚拟3D场景,在房间的天花板上有一个面光源,该3D场景中的所有几何对象表面都为漫反射表面。计算机系统的CPU选择Intel(R)Xeon(R)CPU E3-1225v3@3.20GHz,内存选择金士顿8GB DDR3 1333,磁盘选择Buffalo HD-CE 1.5TU2,显卡选用NVidia Quadro K2000;计算机操作系统选用Windows 7,软件编程工具选用VC++2010。
首先使用光子跟踪技术创建光子图,接着计算虚拟相机阵列中的所有虚拟相机对应的可视场景点,并把所有可视场景点保存在一个列表中,然后计算列表中的所有可视场景点的全局光照值,具体实现步骤如下:
提供一种数据结构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成员变量表示的向量,令Vr代表元素B001存储的数据结构TVSPT类型的变量的可视场景点所在位置的几何对象表面的法向量vsNrm成员变量表示的向量;如果(Vs·Vr)/(|Vs|·|Vr|)小于Tv,则从列表C002中删除元素C003,并转步骤Step303-2-2,|Vs|表示Vs的长度,|Vr|表示Vr的长度;令P1代表元素C003存储的数据结构TVSPT类型的变量的可视场景点所在位置vsPos成员变量表示的位置,令P2代表元素B001存储的数据结构TVSPT类型的变量的可视场景点所在位置vsPos成员变量表示的位置,令Ql代表元素C003存储的数据结构TVSPT类型的变量的可视场景点对应的光源采样点位置vsQ成员变量表示的位置,令Vl1代表从Ql指向P1的向量,令Vl2代表从Ql指向P2的向量;如果(Vl1·Vl2)/(|Vl1|·|Vl2|)小于Tl,则从列表C002中删除元素C003,|Vl1|表示Vl1的长度,|Vl2|表示Vl2的长度;
步骤Step303-2-2:针对元素C003的操作结束;
步骤Step303-3:在计算机的存储器中创建一个列表C004,列表C004的每个元素存储一个数据结构TALSPT类型的变量,令列表C004为空;对列表C002中的每个元素C005,执行如下操作:
创建一个数据结构TALSPT类型的变量C006,把元素C005存储的数据结构TVSPT类型的变量的可视场景点对应的光源采样点位置vsQ成员变量的值赋给变量C006的光源采样点位置lsPos成员变量,把元素C005存储的数据结构TVSPT类型的变量的可视场景点对应的光源可见性vsV成员变量的值赋给变量C006的光源可见性lsV成员变量;把变量C006添加到列表C004中;
步骤Step303-4:令NC004表示列表C004的元素个数;如果NC004小于Nals,则按均匀分布在面光源上产生Nals-NC004个随机光源采样点C007,同时在计算机的存储器中创建Nals-NC004个数据结构TALSPT类型的变量C008,Nals-NC004个随机光源采样点C007和Nals-NC004个数据结构TALSPT类型的变量C008一一对应,把每个随机光源采样点C007所在位置赋值给与之对应的变量C008的光源采样点位置lsPos成员变量;判断从每个随机光源采样点C007到元素B001存储的数据结构TVSPT类型的变量的可视场景点所在位置vsPos成员变量表示的位置的线段与3D场景的几何对象是否相交,如果相交,把随机光源采样点C007对应的变量C008的光源可见性lsV成员变量赋值为0,否则把随机光源采样点C007对应的变量C008的光源可见性lsV成员变量赋值为1;
步骤Step303-5:令VSPOINT代表元素B001存储的数据结构TVSPT类型的变量的可视场景点所在位置vsPos成员变量表示的位置,令NCam代表元素B001存储的数据结构TVSPT类型的变量的可视场景点对应的虚拟相机编号nCam成员变量表示的编号;根据光子图PMap和元素B001存储的数据结构TVSPT类型的变量的可视场景点所在位置vsPos成员变量的值、可视场景点所在位置的几何对象表面的法向量vsNrm成员变量的值,使用最终聚集技术计算面光源发出的光照先经其他3D场景点散射到VSPOINT位置后,再经VSPOINT位置散射进入第NCam个虚拟相机的光亮度D001;根据列表C004中存储的所有数据结构TALSPT类型的变量的光源采样点位置lsPos成员变量的值来确定蒙特卡罗直接光照亮度值估计所需的光源采样点,用列表C004中存储的所有数据结构TALSPT类型的变量的光源可见性lsV成员变量的值作为对应光源采样点对VSPOINT位置的可见性近似值,使用蒙特卡罗直接光照亮度值估计技术来计算面光源发出的光照直接经VSPOINT位置散射进入第NCam个虚拟相机的光亮度D002;把光亮度D001与光亮度D002之和赋值给元素B001存储的数据结构TVSPT类型的变量的从可视场景点散射进入对应虚拟相机的光线的光亮度vsL成员变量;
4)根据列表Ltvspt中的元素,生成光场投影图像,具体方法如下:
对于包含Ncamr×Ncamc个虚拟相机的虚拟相机阵列中的每个虚拟相机A003,做如下操作:
步骤Step401:在计算机的存储器中创建一个包含Npixr行、Npixc列元素的二维数组ILLUMIN,Npixr为虚拟相机A003的虚拟像素平面上的像素行数,Npixc为虚拟相机A003的虚拟像素平面上的像素列数;数组ILLUMIN的元素与虚拟相机A003的虚拟像素平面上的像素一一对应;数组ILLUMIN用于存储经虚拟相机A003的虚拟像素平面上的像素对应的可视场景点散射进入虚拟相机A003的光亮度;把数组ILLUMIN的每个元素赋值为0;计算虚拟相机A003在虚拟相机阵列中的编号IDCam;在计算机的存储器中创建一个列表D003,令列表D003为空;把列表Ltvspt中的满足条件COND2的所有元素D004放到列表D003中;条件COND2为:元素D004存储的数据结构TVSPT类型的变量的可视场景点对应的虚拟相机编号nCam等于编号IDCam;对列表D003的每个元素D005,做如下操作:
令IdR代表元素D005存储的数据结构TVSPT类型的变量的可视场景点对应的虚拟相机的虚拟像素平面上的像素的行号vnRow成员变量表示的行号,令IdC代表元素D005存储的数据结构TVSPT类型的变量的可视场景点对应的虚拟相机的虚拟像素平面上的像素的列号vnCol成员变量表示的列号,把元素D005存储的数据结构TVSPT类型的变量的从可视场景点散射进入对应虚拟相机的光线的光亮度vsL成员变量的值赋给数组ILLUMIN的第IdR行、第IdC列元素;
步骤Step402:把数组ILLUMIN的每个元素保存的光亮度值转换成虚拟相机A003拍摄3D场景得到的画面图像像素颜色值,并把画面图像像素颜色值保存到与虚拟相机A003相对应的图像文件中,该图像文件存储的就是一幅光场投影图像。
在本实施例中,Npt=1000,Ncamr=5,Ncamc=5,Tv=0.92,Tl=0.92,Nals=20;Td取值为刚好能包围3D场景所有几何对象的球的半径的二十分之一;所有虚拟相机的虚拟像素平面上的像素行数为1080,所有虚拟相机的虚拟像素平面上的像素列数为1440。
Claims (1)
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成员变量表示的向量,令Vr代表元素B001存储的数据结构TVSPT类型的变量的可视场景点所在位置的几何对象表面的法向量vsNrm成员变量表示的向量;如果(Vs·Vr)/(|Vs|·|Vr|)小于Tv,则从列表C002中删除元素C003,并转步骤Step303-2-2,|Vs|表示Vs的长度,|Vr|表示Vr的长度;令P1代表元素C003存储的数据结构TVSPT类型的变量的可视场景点所在位置vsPos成员变量表示的位置,令P2代表元素B001存储的数据结构TVSPT类型的变量的可视场景点所在位置vsPos成员变量表示的位置,令Ql代表元素C003存储的数据结构TVSPT类型的变量的可视场景点对应的光源采样点位置vsQ成员变量表示的位置,令Vl1代表从Ql指向P1的向量,令Vl2代表从Ql指向P2的向量;如果(Vl1·Vl2)/(|Vl1|·|Vl2|)小于Tl,则从列表C002中删除元素C003,|Vl1|表示Vl1的长度,|Vl2|表示Vl2的长度;
步骤Step303-2-2:针对元素C003的操作结束;
步骤Step303-3:在计算机的存储器中创建一个列表C004,列表C004的每个元素存储一个数据结构TALSPT类型的变量,令列表C004为空;对列表C002中的每个元素C005,执行如下操作:
创建一个数据结构TALSPT类型的变量C006,把元素C005存储的数据结构TVSPT类型的变量的可视场景点对应的光源采样点位置vsQ成员变量的值赋给变量C006的光源采样点位置lsPos成员变量,把元素C005存储的数据结构TVSPT类型的变量的可视场景点对应的光源可见性vsV成员变量的值赋给变量C006的光源可见性lsV成员变量;把变量C006添加到列表C004中;
步骤Step303-4:令NC004表示列表C004的元素个数;如果NC004小于Nals,则按均匀分布在面光源上产生Nals-NC004个随机光源采样点C007,同时在计算机的存储器中创建Nals-NC004个数据结构TALSPT类型的变量C008,Nals-NC004个随机光源采样点C007和Nals-NC004个数据结构TALSPT类型的变量C008一一对应,把每个随机光源采样点C007所在位置赋值给与之对应的变量C008的光源采样点位置lsPos成员变量;判断从每个随机光源采样点C007到元素B001存储的数据结构TVSPT类型的变量的可视场景点所在位置vsPos成员变量表示的位置的线段与3D场景的几何对象是否相交,如果相交,把随机光源采样点C007对应的变量C008的光源可见性lsV成员变量赋值为0,否则把随机光源采样点C007对应的变量C008的光源可见性lsV成员变量赋值为1;
步骤Step303-5:令VSPOINT代表元素B001存储的数据结构TVSPT类型的变量的可视场景点所在位置vsPos成员变量表示的位置,令NCam代表元素B001存储的数据结构TVSPT类型的变量的可视场景点对应的虚拟相机编号nCam成员变量表示的编号;根据光子图PMap和元素B001存储的数据结构TVSPT类型的变量的可视场景点所在位置vsPos成员变量的值、可视场景点所在位置的几何对象表面的法向量vsNrm成员变量的值,使用最终聚集技术计算面光源发出的光照先经其他3D场景点散射到VSPOINT位置后,再经VSPOINT位置散射进入第NCam个虚拟相机的光亮度D001;根据列表C004中存储的所有数据结构TALSPT类型的变量的光源采样点位置lsPos成员变量的值来确定蒙特卡罗直接光照亮度值估计所需的光源采样点,用列表C004中存储的所有数据结构TALSPT类型的变量的光源可见性lsV成员变量的值作为对应光源采样点对VSPOINT位置的可见性近似值,使用蒙特卡罗直接光照亮度值估计技术来计算面光源发出的光照直接经VSPOINT位置散射进入第NCam个虚拟相机的光亮度D002;把光亮度D001与光亮度D002之和赋值给元素B001存储的数据结构TVSPT类型的变量的从可视场景点散射进入对应虚拟相机的光线的光亮度vsL成员变量;
4)根据列表Ltvspt中的元素,生成光场投影图像,具体方法如下:
对于包含Ncamr×Ncamc个虚拟相机的虚拟相机阵列中的每个虚拟相机A003,做如下操作:
步骤Step401:在计算机的存储器中创建一个包含Npixr行、Npixc列元素的二维数组ILLUMIN,Npixr为虚拟相机A003的虚拟像素平面上的像素行数,Npixc为虚拟相机A003的虚拟像素平面上的像素列数;数组ILLUMIN的元素与虚拟相机A003的虚拟像素平面上的像素一一对应;数组ILLUMIN用于存储经虚拟相机A003的虚拟像素平面上的像素对应的可视场景点散射进入虚拟相机A003的光亮度;把数组ILLUMIN的每个元素赋值为0;计算虚拟相机A003在虚拟相机阵列中的编号IDCam;在计算机的存储器中创建一个列表D003,令列表D003为空;把列表Ltvspt中的满足条件COND2的所有元素D004放到列表D003中;条件COND2为:元素D004存储的数据结构TVSPT类型的变量的可视场景点对应的虚拟相机编号nCam等于编号IDCam;对列表D003的每个元素D005,做如下操作:
令IdR代表元素D005存储的数据结构TVSPT类型的变量的可视场景点对应的虚拟相机的虚拟像素平面上的像素的行号vnRow成员变量表示的行号,令IdC代表元素D005存储的数据结构TVSPT类型的变量的可视场景点对应的虚拟相机的虚拟像素平面上的像素的列号vnCol成员变量表示的列号,把元素D005存储的数据结构TVSPT类型的变量的从可视场景点散射进入对应虚拟相机的光线的光亮度vsL成员变量的值赋给数组ILLUMIN的第IdR行、第IdC列元素;
步骤Step402:把数组ILLUMIN的每个元素保存的光亮度值转换成虚拟相机A003拍摄3D场景得到的画面图像像素颜色值,并把画面图像像素颜色值保存到与虚拟相机A003相对应的图像文件中,该图像文件存储的就是一幅光场投影图像。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711175280.XA CN107909647B (zh) | 2017-11-22 | 2017-11-22 | 基于空间复用的真实感虚拟3d场景光场投影图像绘制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711175280.XA CN107909647B (zh) | 2017-11-22 | 2017-11-22 | 基于空间复用的真实感虚拟3d场景光场投影图像绘制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107909647A CN107909647A (zh) | 2018-04-13 |
CN107909647B true CN107909647B (zh) | 2020-09-15 |
Family
ID=61847316
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711175280.XA Active CN107909647B (zh) | 2017-11-22 | 2017-11-22 | 基于空间复用的真实感虚拟3d场景光场投影图像绘制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107909647B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109493412B (zh) * | 2018-11-07 | 2022-10-21 | 长春理工大学 | 复用场景点光源可见性的超采样光线跟踪方法 |
CN110675482B (zh) * | 2019-08-28 | 2023-05-19 | 长春理工大学 | 虚拟三维场景的球面斐波那契像素点阵全景画面渲染与显示方法 |
CN110751714B (zh) * | 2019-10-18 | 2022-09-06 | 长春理工大学 | 三维场景渲染中基于对象判别的间接光照复用方法 |
CN113658318A (zh) * | 2020-04-28 | 2021-11-16 | 阿里巴巴集团控股有限公司 | 数据处理方法及系统、训练数据生成方法和电子设备 |
CN113724309B (zh) * | 2021-08-27 | 2024-06-14 | 杭州海康威视数字技术股份有限公司 | 图像生成方法、装置、设备及存储介质 |
US20230281918A1 (en) * | 2022-03-04 | 2023-09-07 | Bidstack Group PLC | Viewability testing in the presence of fine-scale occluders |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101982838A (zh) * | 2010-11-02 | 2011-03-02 | 长春理工大学 | 一种加速被面光源照射的3d虚拟场景的光线跟踪的方法 |
CN102074038A (zh) * | 2010-12-28 | 2011-05-25 | 长春理工大学 | 一种由光滑表面折射产生的3d虚拟场景面焦散效果的绘制方法 |
US8041463B2 (en) * | 2006-05-09 | 2011-10-18 | Advanced Liquid Logic, Inc. | Modular droplet actuator drive |
CN104700448A (zh) * | 2015-03-23 | 2015-06-10 | 山东大学 | 一种基于梯度的自适应光子映射优化算法 |
CN106251393A (zh) * | 2016-07-14 | 2016-12-21 | 山东大学 | 一种基于样本消除的渐进式光子映射优化方法 |
CN106471392A (zh) * | 2014-07-04 | 2017-03-01 | 株式会社岛津制作所 | 图像重构处理方法 |
CN107274474A (zh) * | 2017-07-03 | 2017-10-20 | 长春理工大学 | 三维场景立体画面绘制中的间接光照复用方法 |
-
2017
- 2017-11-22 CN CN201711175280.XA patent/CN107909647B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8041463B2 (en) * | 2006-05-09 | 2011-10-18 | Advanced Liquid Logic, Inc. | Modular droplet actuator drive |
CN101982838A (zh) * | 2010-11-02 | 2011-03-02 | 长春理工大学 | 一种加速被面光源照射的3d虚拟场景的光线跟踪的方法 |
CN102074038A (zh) * | 2010-12-28 | 2011-05-25 | 长春理工大学 | 一种由光滑表面折射产生的3d虚拟场景面焦散效果的绘制方法 |
CN106471392A (zh) * | 2014-07-04 | 2017-03-01 | 株式会社岛津制作所 | 图像重构处理方法 |
CN104700448A (zh) * | 2015-03-23 | 2015-06-10 | 山东大学 | 一种基于梯度的自适应光子映射优化算法 |
CN106251393A (zh) * | 2016-07-14 | 2016-12-21 | 山东大学 | 一种基于样本消除的渐进式光子映射优化方法 |
CN107274474A (zh) * | 2017-07-03 | 2017-10-20 | 长春理工大学 | 三维场景立体画面绘制中的间接光照复用方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107909647A (zh) | 2018-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107909647B (zh) | 基于空间复用的真实感虚拟3d场景光场投影图像绘制方法 | |
US11423599B2 (en) | Multi-view processing unit systems and methods | |
Weier et al. | Foveated real‐time ray tracing for head‐mounted displays | |
Jones et al. | Interpolating vertical parallax for an autostereoscopic three-dimensional projector array | |
Pfeiffer et al. | Model-based real-time visualization of realistic three-dimensional heat maps for mobile eye tracking and eye tracking in virtual reality | |
JP2017505471A (ja) | レーザスキャンデータの画像レンダリング | |
CN107274474B (zh) | 三维场景立体画面绘制中的间接光照复用方法 | |
CN104103092A (zh) | 一种基于聚光灯实时动态阴影的实现方法 | |
Matsubara et al. | Light field display simulation for light field quality assessment | |
CN109493413B (zh) | 基于自适应虚拟点光源采样的三维场景全局光照效果绘制方法 | |
US20130147785A1 (en) | Three-dimensional texture reprojection | |
Chen et al. | Real-time lens based rendering algorithm for super-multiview integral photography without image resampling | |
CN106780704B (zh) | 基于可见性重用的三维场景直接光照效果近似绘制方法 | |
JP2014505954A (ja) | 仮想環境における隠蔽の推定方法 | |
KR20230013099A (ko) | 실시간 깊이 맵을 사용한 지오메트리 인식 증강 현실 효과 | |
JP5252703B2 (ja) | 立体映像表示装置、立体映像表示方法、及び立体映像表示プログラム | |
CN107346558B (zh) | 利用面光源可见性空间相关加速三维场景直接光照效果绘制的方法 | |
CN107909639B (zh) | 光源可见性复用范围的自适应3d场景绘制方法 | |
Xing et al. | A real-time super multiview rendering pipeline for wide viewing-angle and high-resolution 3D displays based on a hybrid rendering technique | |
US20230316640A1 (en) | Image processing apparatus, image processing method, and storage medium | |
CN114596403B (zh) | 图像处理方法、装置、存储介质及终端 | |
Burnett | 61‐1: Invited Paper: Light‐field Display Architecture and the Challenge of Synthetic Light‐field Radiance Image Rendering | |
Balogh et al. | HoloVizio-True 3D display system | |
CN114332356A (zh) | 一种虚实画面结合方法和装置 | |
Hirsch et al. | 8d: interacting with a relightable glasses-free 3d display |
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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220325 Address after: 130000 room 504c-1, 4th floor, high tech entrepreneurship incubation Industrial Park, No. 1357, Jinhu Road, high tech Industrial Development Zone, Changchun City, Jilin Province Patentee after: Jilin Kasite Technology Co.,Ltd. Address before: 130022 No. 7089 Satellite Road, Jilin, Changchun Patentee before: CHANGCHUN University OF SCIENCE AND TECHNOLOGY |