CN109493413B - 基于自适应虚拟点光源采样的三维场景全局光照效果绘制方法 - Google Patents
基于自适应虚拟点光源采样的三维场景全局光照效果绘制方法 Download PDFInfo
- Publication number
- CN109493413B CN109493413B CN201811305202.1A CN201811305202A CN109493413B CN 109493413 B CN109493413 B CN 109493413B CN 201811305202 A CN201811305202 A CN 201811305202A CN 109493413 B CN109493413 B CN 109493413B
- Authority
- CN
- China
- Prior art keywords
- light source
- virtual
- point light
- list
- virtual 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
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开一种基于自适应虚拟点光源采样的三维场景全局光照效果绘制方法。本方法用光栅化与阴影映射技术绘制三维场景的直接光照结果。本方法在绘制三维场景的间接光照时,通过创建反射阴影图来生成初始的候选虚拟点光源集合,然后根据候选虚拟点光源集合中的各个虚拟点光源对可视区中的阴影区域的光照贡献大小,来构建重要性采样所需的离散概率质量函数,进而通过重要性采样选取那些对增强全局光照视觉质量产生重要作用虚拟点光源,用它们照射虚拟三维场景,计算出可视区域的近似间接光照结果。本方法能在使用少量虚拟点光源照射三维场景的条件下,提高绘制出的三维场景全局光照画面视觉质量。
Description
技术领域
本发明属于虚拟三维场景绘制技术领域,涉及一种基于自适应虚拟点光源采样的三维场景全局光照效果绘制方法。
背景技术
Addison-Wesley出版的由J.F.Hughes等人撰写的《Computer Graphics:Principles and Practice,3rd Edition》详细说明了如何使用光栅化技术绘制虚拟三维场景。发表在《Computer Graphics Forum》期刊的2011年30卷1期169~186页的论文《ASurvey of Real-Time Hard Shadow Mapping Methods》介绍了使用阴影映射(ShadowMapping)技术绘制虚拟三维场景阴影的方法。C.Dachsbacher和M.Stamminger提出利用反射阴影图来绘制虚拟三维场景的近似间接光照效果,具体参见“2005 Symposium onInteractive 3D Graphics and Games(I3D'05)”会议论文集中的论文《Reflectiveshadow maps》。反射阴影图是对阴影图概念的扩展,它的每个像素保存该像素对应的可视场景点(即从相机位置直接可见的三维几何对象表面点)的深度值、世界坐标、法向量、反射光通量等数据。在利用反射阴影图绘制虚拟三维场景的近似间接光照效果时,把它的每个像素对应的可视场景点看作一个发光的像素光源(或者称作虚拟点光源),其发光强度等于该像素存储的反射光通量。使用这些虚拟点光源照射三维场景,即可绘制出近似间接光照效果。由于反射阴影图的像素数目通常很大,如果为反射阴影图的所有像素都创建虚拟点光源并以其照射虚拟三维场景,则计算开销太大。为了减小计算开销,需要对反射阴影图的像素对应的虚拟点光源进行重要性采样。先通过重要性采样从所有虚拟点光源中选择少量重要的虚拟点光源,然后使用这些采样得到的虚拟点光源来照射三维场景,进而绘制虚拟三维场景的近似间接光照效果。执行重要性采样要求生成服从特定概率分布的随机数。可以使用反变换法(Inversion Method)来实现特定分布随机数的生成,具体实现方式可参见Elsevier出版的由M.Pharr等人撰写的《Physically Based Rendering:From Theory ToImplementation,2nd Edition》。对于离散随机变量,通常用概率质量函数(ProbabilityMass Function)来描述其统计特性。虚拟三维场景的全局光照可以分成直接光照和间接光照两部分,直接光照来源于主光源的直接照射,间接光照是主光源发射的光经其他对象散射后产生的光照贡献,通常直接光照要比间接光照明亮很多。因此,在直接光照能照射到的三维场景区域,间接光照产生的视觉贡献通常很小。换句话说,间接光照实际上主要在主光源发出的光不能直接到达的区域产生明显的视觉效果贡献。这就意味着,在对虚拟点光源进行重要性采样时,应该在概率意义上选取那些对三维场景直接光照阴影区域产生最大光照贡献的虚拟点光源。如图1所示,在点光源照射下的三维场景的地板上存在阴影区域,从视点位置可以看到阴影区域。虚拟点光源101对阴影区域产生光照贡献,虚拟点光源102和虚拟点光源103不对阴影区域产生光照贡献;由于阴影区域没有直接光照,间接光照视觉效果表现得最明显。因此,在计算三维场景间接光照时,应该以大概率方式选择虚拟点光源101照射三维场景。根据上述分析,本发明提供一种基于自适应虚拟点光源采样的三维场景全局光照效果绘制方法,该方法依据虚拟点光源对三维场景可视区域的直接光照阴影区域产生的光照贡献大小,来自适应地选取对增强可视区域全局光照视觉效果产生重要作用的虚拟点光源,从而提高虚拟三维场景的全局光照效果绘制质量。
发明内容
本方法的目的在于,提供一种基于自适应虚拟点光源采样的三维场景全局光照效果绘制方法,以便在使用少量虚拟点光源的条件下提高虚拟三维场景的全局光照效果绘制画面的视觉质量。本方法的技术方案是这样实现的:基于自适应虚拟点光源采样的三维场景全局光照效果绘制方法,其特征在于:本方法涉及一种数据结构VLIGHT,用于存储虚拟点光源数据,数据结构VLIGHT包含虚拟点光源所在位置Pos、虚拟点光源所在位置的表面法向量Nv、虚拟点光源所在位置的反射光通量Φ共三个成员变量。本方法需要执行以下操作:
步骤Step101:把相机放在主光源位置处,使用光栅化技术绘制虚拟三维场景,从而创建反射阴影图A001;
步骤Step102:在计算机系统的存储器中创建一个列表LISTSP,令列表LISTSP为空;
步骤Step103:把相机放在视点位置处,用主光源照射虚拟三维场景,按照视点观察参数使用光栅化与阴影映射技术绘制虚拟三维场景,得到虚拟三维场景可视区域在主光源照射下的直接光照图像A002;直接光照图像A002的每个像素存储与之对应的可视场景点A003的直接光照值;在使用光栅化与阴影映射技术绘制虚拟三维场景的过程中,需要利用阴影图测试直接光照图像A002的每个像素对应的可视场景点A003的主光源可见性,即判断主光源与可视场景点A003之间是否直接可视,如果直接可视,则可视场景点A003的主光源可见性为1,否则可视场景点A003的主光源可见性为0;把那些主光源可见性不为1的所有可视场景点A003添加到列表LISTSP中;
步骤Step104:在计算机系统的存储器中创建一个列表LISTVL,令列表LISTVL为空;在计算机系统的存储器中创建一个列表LRSAM,令列表LRSAM为空;
步骤Step105:针对反射阴影图A001的每个像素A005,在计算机系统的存储器中创建一个数据结构VLIGHT类型的变量A006,把变量A006的虚拟点光源所在位置Pos成员变量赋值为像素A005存储的世界坐标值,把变量A006的虚拟点光源所在位置的表面法向量Nv成员变量赋值为像素A005存储的法向量值,把变量A006的虚拟点光源所在位置的反射光通量Φ成员变量赋值为像素A005存储的反射光通量值,把变量A006添加到列表LISTVL中;反射阴影图A001的像素A005与虚拟点光源一一对应;列表LISTVL的元素与虚拟点光源一一对应;
步骤Step106:在计算机系统的存储器中创建一个一维数组A007,数组A007包含的元素个数等于列表LISTVL包含的元素个数;把数组A007的所有元素都赋值为0;数组A007的元素和列表LISTVL的元素一一对应,即数组A007的第一个元素对应列表LISTVL的第一个元素,数组A007的第二个元素对应列表LISTVL的第二个元素,以此类推;
步骤Step107:针对列表LISTVL中的每个元素ELE,做如下操作:
用元素ELE中保存的数据结构VLIGHT类型的变量A006的虚拟点光源所在位置Pos成员变量、虚拟点光源所在位置的表面法向量Nv成员变量、虚拟点光源所在位置的反射光通量Φ成员变量所描述的虚拟点光源A008照射虚拟三维场景,计算虚拟点光源A008对列表LISTSP中保存的所有可视场景点A003产生的光照贡献总和A009,把光照贡献总和A009赋值给元素ELE对应的数组A007的元素;
步骤Step108:计算数组A007的所有元素的值的总和A010;针对数组A007的每个元素A011,做如下操作:
计算元素A011的值除以总和A010得到的结果A012,然后再把结果A012赋值给元素A011;
步骤Step109:把数组A007看作是一个离散概率质量函数PMF对应的数据,离散概率质量函数PMF的自变量是数组A007的元素编号index,index取值为1至N的整数,N为数组A007包含的元素个数;数组A007的第1个元素的值表示列表LISTVL的第1个元素存储的数据结构VLIGHT类型的变量A006表示的虚拟点光源对应的概率,数组A007的第2个元素的值表示列表LISTVL的第2个元素存储的数据结构VLIGHT类型的变量A006表示的虚拟点光源对应的概率,以此类推;使用反变换法根据离散概率质量函数PMF,产生NUM个统计特性服从离散概率质量函数PMF的随机整数RA,并把这NUM个随机整数RA添加到列表LRSAM中;RA为1到N范围内的整数;
步骤Step110:在计算机系统的存储器中创建一个列表ALISTVL,令列表ALISTVL为空;针对列表LRSAM的每个元素B001,做如下操作:
令n等于元素B001的值;令VLG表示列表LISTVL的第n个元素;令vLight表示VLG存储的数据结构VLIGHT类型的变量A006;令p等于数组A007的第n个元素的值;在计算机系统的存储器中创建一个数据结构VLIGHT类型的变量B002,把vLight的虚拟点光源所在位置Pos成员变量的值赋值给变量B002的虚拟点光源所在位置Pos成员变量,把vLight的虚拟点光源所在位置的表面法向量Nv成员变量的值赋值给变量B002的虚拟点光源所在位置的表面法向量Nv成员变量,计算vLight的虚拟点光源所在位置的反射光通量Φ成员变量的值与p的比值Rt,把Rt与NUM的比值赋值给变量B002的虚拟点光源所在位置的反射光通量Φ成员变量;把变量B002添加到列表ALISTVL中;
步骤Step111:针对列表ALISTVL的每个元素C001,做如下操作:
把相机放在视点位置处,把元素C001存储的数据结构VLIGHT类型的变量B002的值描述的虚拟点光源当作一个虚拟主光源C002,用虚拟主光源C002照射虚拟三维场景,按照视点观察参数使用光栅化与阴影映射技术绘制虚拟三维场景,得到虚拟三维场景可视区域在虚拟主光源C002照射下的直接光照图像C003;直接光照图像C003与元素C001一一对应;直接光照图像C003的每个像素存储与之对应的可视场景点在虚拟主光源C002照射下的直接光照值;
步骤Step112:把列表ALISTVL的所有元素C001对应的直接光照图像C003相加在一起得到虚拟三维场景的间接光照图像C004;把直接光照图像A002与间接光照图像C004相加在一起得到虚拟三维场景的全局光照图像C005;
步骤Step113:把全局光照图像C005转换成可以在显示器上显示的虚拟三维场景图像画面,并保存在计算机系统的磁盘图像文件中。
本发明提供了一种基于自适应虚拟点光源采样的三维场景全局光照效果绘制方法。本方法通过创建反射阴影图来生成初始的候选虚拟点光源集合,然后根据候选虚拟点光源集合中的各个虚拟点光源对可视区中的阴影区域的光照贡献大小,来构建重要性采样所需的离散概率质量函数,进而通过重要性采样选取那些对增强全局光照视觉质量产生重要作用虚拟点光源,用它们照射虚拟三维场景,计算出可视区域的近似间接光照结果。把直接光照和间接光照结果加在一起得到全局光照结果。本发明的有益效果是,能在使用少量虚拟点光源照射三维场景的条件下,提高绘制出的三维场景全局光照画面视觉质量。
附图说明
图1为点光源照射下的三维场景示意图。
具体实施方式
为了使本方法的特征和优点更加清楚明白,下面结合具体实施例对本方法作进一步的描述。在本实施例中,考虑如下虚拟房间三维场景:在房间中放着一张桌子和一把椅子,房间的天花板上有一个聚光灯类型的点光源,聚光灯竖直向下照射,三维场景中的所有几何对象表面都是漫反射面。计算机系统的CPU选择Intel(R)Xeon(R)CPU E3-1225 v3@3.20GHz,内存选择金士顿8GB DDR3 1333,硬盘选择Buffalo HD-CE 1.5 TU2;计算机操作系统选用Windows 7,软件编程工具选用VC++2010。
本方法的技术方案是这样实现的:基于自适应虚拟点光源采样的三维场景全局光照效果绘制方法,其特征在于:本方法涉及一种数据结构VLIGHT,用于存储虚拟点光源数据,数据结构VLIGHT包含虚拟点光源所在位置Pos、虚拟点光源所在位置的表面法向量Nv、虚拟点光源所在位置的反射光通量Φ共三个成员变量。本方法需要执行以下操作:
步骤Step101:把相机放在主光源位置处,使用光栅化技术绘制虚拟三维场景,从而创建反射阴影图A001;
步骤Step102:在计算机系统的存储器中创建一个列表LISTSP,令列表LISTSP为空;
步骤Step103:把相机放在视点位置处,用主光源照射虚拟三维场景,按照视点观察参数使用光栅化与阴影映射技术绘制虚拟三维场景,得到虚拟三维场景可视区域在主光源照射下的直接光照图像A002;直接光照图像A002的每个像素存储与之对应的可视场景点A003的直接光照值;在使用光栅化与阴影映射技术绘制虚拟三维场景的过程中,需要利用阴影图测试直接光照图像A002的每个像素对应的可视场景点A003的主光源可见性,即判断主光源与可视场景点A003之间是否直接可视,如果直接可视,则可视场景点A003的主光源可见性为1,否则可视场景点A003的主光源可见性为0;把那些主光源可见性不为1的所有可视场景点A003添加到列表LISTSP中;
步骤Step104:在计算机系统的存储器中创建一个列表LISTVL,令列表LISTVL为空;在计算机系统的存储器中创建一个列表LRSAM,令列表LRSAM为空;
步骤Step105:针对反射阴影图A001的每个像素A005,在计算机系统的存储器中创建一个数据结构VLIGHT类型的变量A006,把变量A006的虚拟点光源所在位置Pos成员变量赋值为像素A005存储的世界坐标值,把变量A006的虚拟点光源所在位置的表面法向量Nv成员变量赋值为像素A005存储的法向量值,把变量A006的虚拟点光源所在位置的反射光通量Φ成员变量赋值为像素A005存储的反射光通量值,把变量A006添加到列表LISTVL中;反射阴影图A001的像素A005与虚拟点光源一一对应;列表LISTVL的元素与虚拟点光源一一对应;
步骤Step106:在计算机系统的存储器中创建一个一维数组A007,数组A007包含的元素个数等于列表LISTVL包含的元素个数;把数组A007的所有元素都赋值为0;数组A007的元素和列表LISTVL的元素一一对应,即数组A007的第一个元素对应列表LISTVL的第一个元素,数组A007的第二个元素对应列表LISTVL的第二个元素,以此类推;
步骤Step107:针对列表LISTVL中的每个元素ELE,做如下操作:
用元素ELE中保存的数据结构VLIGHT类型的变量A006的虚拟点光源所在位置Pos成员变量、虚拟点光源所在位置的表面法向量Nv成员变量、虚拟点光源所在位置的反射光通量Φ成员变量所描述的虚拟点光源A008照射虚拟三维场景,计算虚拟点光源A008对列表LISTSP中保存的所有可视场景点A003产生的光照贡献总和A009,把光照贡献总和A009赋值给元素ELE对应的数组A007的元素;
步骤Step108:计算数组A007的所有元素的值的总和A010;针对数组A007的每个元素A011,做如下操作:
计算元素A011的值除以总和A010得到的结果A012,然后再把结果A012赋值给元素A011;
步骤Step109:把数组A007看作是一个离散概率质量函数PMF对应的数据,离散概率质量函数PMF的自变量是数组A007的元素编号index,index取值为1至N的整数,N为数组A007包含的元素个数;数组A007的第1个元素的值表示列表LISTVL的第1个元素存储的数据结构VLIGHT类型的变量A006表示的虚拟点光源对应的概率,数组A007的第2个元素的值表示列表LISTVL的第2个元素存储的数据结构VLIGHT类型的变量A006表示的虚拟点光源对应的概率,以此类推;使用反变换法根据离散概率质量函数PMF,产生NUM个统计特性服从离散概率质量函数PMF的随机整数RA,并把这NUM个随机整数RA添加到列表LRSAM中;RA为1到N范围内的整数;
步骤Step110:在计算机系统的存储器中创建一个列表ALISTVL,令列表ALISTVL为空;针对列表LRSAM的每个元素B001,做如下操作:
令n等于元素B001的值;令VLG表示列表LISTVL的第n个元素;令vLight表示VLG存储的数据结构VLIGHT类型的变量A006;令p等于数组A007的第n个元素的值;在计算机系统的存储器中创建一个数据结构VLIGHT类型的变量B002,把vLight的虚拟点光源所在位置Pos成员变量的值赋值给变量B002的虚拟点光源所在位置Pos成员变量,把vLight的虚拟点光源所在位置的表面法向量Nv成员变量的值赋值给变量B002的虚拟点光源所在位置的表面法向量Nv成员变量,计算vLight的虚拟点光源所在位置的反射光通量Φ成员变量的值与p的比值Rt,把Rt与NUM的比值赋值给变量B002的虚拟点光源所在位置的反射光通量Φ成员变量;把变量B002添加到列表ALISTVL中;
步骤Step111:针对列表ALISTVL的每个元素C001,做如下操作:
把相机放在视点位置处,把元素C001存储的数据结构VLIGHT类型的变量B002的值描述的虚拟点光源当作一个虚拟主光源C002,用虚拟主光源C002照射虚拟三维场景,按照视点观察参数使用光栅化与阴影映射技术绘制虚拟三维场景,得到虚拟三维场景可视区域在虚拟主光源C002照射下的直接光照图像C003;直接光照图像C003与元素C001一一对应;直接光照图像C003的每个像素存储与之对应的可视场景点在虚拟主光源C002照射下的直接光照值;
步骤Step112:把列表ALISTVL的所有元素C001对应的直接光照图像C003相加在一起得到虚拟三维场景的间接光照图像C004;把直接光照图像A002与间接光照图像C004相加在一起得到虚拟三维场景的全局光照图像C005;
步骤Step113:把全局光照图像C005转换成可以在显示器上显示的虚拟三维场景图像画面,并保存在计算机系统的磁盘图像文件中。
在本实施例中,NUM=80,直接光照图像A002、直接光照图像C003、间接光照图像C004和全局光照图像C005具有相同的像素行数,直接光照图像A002、直接光照图像C003、间接光照图像C004和全局光照图像C005具有相同的像素列数。
Claims (1)
1.基于自适应虚拟点光源采样的三维场景全局光照效果绘制方法,其特征在于:本方法涉及一种数据结构VLIGHT,用于存储虚拟点光源数据,数据结构VLIGHT包含虚拟点光源所在位置Pos、虚拟点光源所在位置的表面法向量Nv、虚拟点光源所在位置的反射光通量Φ共三个成员变量;本方法需要执行以下操作:
步骤Step101:把相机放在主光源位置处,使用光栅化技术绘制虚拟三维场景,从而创建反射阴影图A001;
步骤Step102:在计算机系统的存储器中创建一个列表LISTSP,令列表LISTSP为空;
步骤Step103:把相机放在视点位置处,用主光源照射虚拟三维场景,按照视点观察参数使用光栅化与阴影映射技术绘制虚拟三维场景,得到虚拟三维场景可视区域在主光源照射下的直接光照图像A002;直接光照图像A002的每个像素存储与之对应的可视场景点A003的直接光照值;在使用光栅化与阴影映射技术绘制虚拟三维场景的过程中,需要利用阴影图测试直接光照图像A002的每个像素对应的可视场景点A003的主光源可见性,即判断主光源与可视场景点A003之间是否直接可视,如果直接可视,则可视场景点A003的主光源可见性为1,否则可视场景点A003的主光源可见性为0;把那些主光源可见性不为1的所有可视场景点A003添加到列表LISTSP中;
步骤Step104:在计算机系统的存储器中创建一个列表LISTVL,令列表LISTVL为空;在计算机系统的存储器中创建一个列表LRSAM,令列表LRSAM为空;
步骤Step105:针对反射阴影图A001的每个像素A005,在计算机系统的存储器中创建一个数据结构VLIGHT类型的变量A006,把变量A006的虚拟点光源所在位置Pos成员变量赋值为像素A005存储的世界坐标值,把变量A006的虚拟点光源所在位置的表面法向量Nv成员变量赋值为像素A005存储的法向量值,把变量A006的虚拟点光源所在位置的反射光通量Φ成员变量赋值为像素A005存储的反射光通量值,把变量A006添加到列表LISTVL中;反射阴影图A001的像素A005与虚拟点光源一一对应;列表LISTVL的元素与虚拟点光源一一对应;
步骤Step106:在计算机系统的存储器中创建一个一维数组A007,数组A007包含的元素个数等于列表LISTVL包含的元素个数;把数组A007的所有元素都赋值为0;数组A007的元素和列表LISTVL的元素一一对应,即数组A007的第一个元素对应列表LISTVL的第一个元素,数组A007的第二个元素对应列表LISTVL的第二个元素,以此类推;
步骤Step107:针对列表LISTVL中的每个元素ELE,做如下操作:
用元素ELE中保存的数据结构VLIGHT类型的变量A006的虚拟点光源所在位置Pos成员变量、虚拟点光源所在位置的表面法向量Nv成员变量、虚拟点光源所在位置的反射光通量Φ成员变量所描述的虚拟点光源A008照射虚拟三维场景,计算虚拟点光源A008对列表LISTSP中保存的所有可视场景点A003产生的光照贡献总和A009,把光照贡献总和A009赋值给元素ELE对应的数组A007的元素;
步骤Step108:计算数组A007的所有元素的值的总和A010;针对数组A007的每个元素A011,做如下操作:
计算元素A011的值除以总和A010得到的结果A012,然后再把结果A012赋值给元素A011;
步骤Step109:把数组A007看作是一个离散概率质量函数PMF对应的数据,离散概率质量函数PMF的自变量是数组A007的元素编号index,index取值为1至N的整数,N为数组A007包含的元素个数;数组A007的第1个元素的值表示列表LISTVL的第1个元素存储的数据结构VLIGHT类型的变量A006表示的虚拟点光源对应的概率,数组A007的第2个元素的值表示列表LISTVL的第2个元素存储的数据结构VLIGHT类型的变量A006表示的虚拟点光源对应的概率,以此类推;使用反变换法根据离散概率质量函数PMF,产生NUM个统计特性服从离散概率质量函数PMF的随机整数RA,并把这NUM个随机整数RA添加到列表LRSAM中;RA为1到N范围内的整数;
步骤Step110:在计算机系统的存储器中创建一个列表ALISTVL,令列表ALISTVL为空;针对列表LRSAM的每个元素B001,做如下操作:
令n等于元素B001的值;令VLG表示列表LISTVL的第n个元素;令vLight表示VLG存储的数据结构VLIGHT类型的变量A006;令p等于数组A007的第n个元素的值;在计算机系统的存储器中创建一个数据结构VLIGHT类型的变量B002,把vLight的虚拟点光源所在位置Pos成员变量的值赋值给变量B002的虚拟点光源所在位置Pos成员变量,把vLight的虚拟点光源所在位置的表面法向量Nv成员变量的值赋值给变量B002的虚拟点光源所在位置的表面法向量Nv成员变量,计算vLight的虚拟点光源所在位置的反射光通量Φ成员变量的值与p的比值Rt,把Rt与NUM的比值赋值给变量B002的虚拟点光源所在位置的反射光通量Φ成员变量;把变量B002添加到列表ALISTVL中;
步骤Step111:针对列表ALISTVL的每个元素C001,做如下操作:
把相机放在视点位置处,把元素C001存储的数据结构VLIGHT类型的变量B002的值描述的虚拟点光源当作一个虚拟主光源C002,用虚拟主光源C002照射虚拟三维场景,按照视点观察参数使用光栅化与阴影映射技术绘制虚拟三维场景,得到虚拟三维场景可视区域在虚拟主光源C002照射下的直接光照图像C003;直接光照图像C003与元素C001一一对应;直接光照图像C003的每个像素存储与之对应的可视场景点在虚拟主光源C002照射下的直接光照值;
步骤Step112:把列表ALISTVL的所有元素C001对应的直接光照图像C003相加在一起得到虚拟三维场景的间接光照图像C004;把直接光照图像A002与间接光照图像C004相加在一起得到虚拟三维场景的全局光照图像C005;
步骤Step113:把全局光照图像C005转换成可以在显示器上显示的虚拟三维场景图像画面,并保存在计算机系统的磁盘图像文件中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811305202.1A CN109493413B (zh) | 2018-11-05 | 2018-11-05 | 基于自适应虚拟点光源采样的三维场景全局光照效果绘制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811305202.1A CN109493413B (zh) | 2018-11-05 | 2018-11-05 | 基于自适应虚拟点光源采样的三维场景全局光照效果绘制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109493413A CN109493413A (zh) | 2019-03-19 |
CN109493413B true CN109493413B (zh) | 2022-10-21 |
Family
ID=65693850
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811305202.1A Active CN109493413B (zh) | 2018-11-05 | 2018-11-05 | 基于自适应虚拟点光源采样的三维场景全局光照效果绘制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109493413B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110717968B (zh) * | 2019-10-11 | 2023-04-07 | 长春理工大学 | 三维场景的计算资源请求驱动自适应云渲染方法 |
CN111145333B (zh) * | 2019-12-11 | 2022-08-12 | 江苏艾佳家居用品有限公司 | 一种室内场景光照布局方法 |
CN111815750A (zh) * | 2020-06-30 | 2020-10-23 | 深圳市商汤科技有限公司 | 对图像打光的方法及装置、电子设备和存储介质 |
CN113256783A (zh) * | 2021-03-29 | 2021-08-13 | 北京航空航天大学 | 基于眼动跟踪的立即辐射度渲染方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015070618A1 (zh) * | 2013-11-18 | 2015-05-21 | 华为技术有限公司 | 多光源下的全局光照绘制方法及装置 |
CN105825545A (zh) * | 2016-03-29 | 2016-08-03 | 浙江大学 | 基于虚拟光源和自适应稀疏矩阵还原的全局光照绘制方法 |
CN106780704A (zh) * | 2016-12-07 | 2017-05-31 | 长春理工大学 | 基于可见性重用的三维场景直接光照效果近似绘制方法 |
CN107886563A (zh) * | 2017-11-10 | 2018-04-06 | 长春理工大学 | 基于虚拟点光源的三维场景全局光照效果分布式集群绘制方法 |
-
2018
- 2018-11-05 CN CN201811305202.1A patent/CN109493413B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015070618A1 (zh) * | 2013-11-18 | 2015-05-21 | 华为技术有限公司 | 多光源下的全局光照绘制方法及装置 |
CN105825545A (zh) * | 2016-03-29 | 2016-08-03 | 浙江大学 | 基于虚拟光源和自适应稀疏矩阵还原的全局光照绘制方法 |
WO2017167084A1 (zh) * | 2016-03-29 | 2017-10-05 | 浙江大学 | 基于虚拟光源和自适应稀疏矩阵还原的全局光照绘制方法 |
CN106780704A (zh) * | 2016-12-07 | 2017-05-31 | 长春理工大学 | 基于可见性重用的三维场景直接光照效果近似绘制方法 |
CN107886563A (zh) * | 2017-11-10 | 2018-04-06 | 长春理工大学 | 基于虚拟点光源的三维场景全局光照效果分布式集群绘制方法 |
Non-Patent Citations (3)
Title |
---|
包含反射、折射和焦散效果的全局光照快速绘制方法;李瑞瑞等;《计算机辅助设计与图形学学报》;20130815(第08期);全文 * |
基于帧间虚拟点光源重用的动态场景间接光照近似求解算法;陈纯毅等;《吉林大学学报(工学版)》;20130915(第05期);全文 * |
基于自适应迭代面光源采样的物理正确柔和阴影绘制算法;周文言等;《长春理工大学学报(自然科学版)》;20180615(第03期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109493413A (zh) | 2019-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109493413B (zh) | 基于自适应虚拟点光源采样的三维场景全局光照效果绘制方法 | |
CN111340928B (zh) | 一种结合光线跟踪的Web端实时混合渲染方法、装置及计算机设备 | |
KR101054702B1 (ko) | 광선 추적 이미지 처리 시스템의 픽셀 컬러 결정 | |
US11804002B2 (en) | Techniques for traversing data employed in ray tracing | |
Dachsbacher et al. | Scalable realistic rendering with many‐light methods | |
JP4463948B2 (ja) | グラフィック・データを処理するためのプログラム可能な視覚化装置 | |
US7583264B2 (en) | Apparatus and program for image generation | |
CN113034656B (zh) | 游戏场景中光照信息的渲染方法、装置及设备 | |
CN107909647B (zh) | 基于空间复用的真实感虚拟3d场景光场投影图像绘制方法 | |
US20210390758A1 (en) | Enhanced Techniques for Traversing Ray Tracing Acceleration Structures | |
CN101165721A (zh) | 光线跟踪的方法和系统 | |
CN111915712B (zh) | 光照渲染方法、装置、计算机可读介质及电子设备 | |
CN110728741B (zh) | 基于多细节层次模型的面光源照射三维场景画面渲染方法 | |
CN108205819A (zh) | 用于通过复杂照明下路径追踪进行场景渲染的设备及方法 | |
CN113593027B (zh) | 一种三维航电显控界面装置 | |
CN113648655B (zh) | 虚拟模型的渲染方法、装置、存储介质和电子设备 | |
CN112991508A (zh) | 一种基于WebGL的3D渲染系统及方法 | |
CN107886563B (zh) | 基于虚拟点光源的三维场景全局光照效果分布式集群绘制方法 | |
Yao et al. | Multi‐image based photon tracing for interactive global illumination of dynamic scenes | |
Liu et al. | A survey of shadow rendering algorithms: projection shadows and shadow volumes | |
Kreskowski et al. | Efficient Direct Isosurface Rasterization of Scalar Volumes | |
JP7119081B2 (ja) | 投影データ生成装置、3次元モデル、投影データ生成方法、ニューラルネットワーク生成方法及びプログラム | |
Sellers et al. | Rendering massive virtual worlds | |
CN109493412B (zh) | 复用场景点光源可见性的超采样光线跟踪方法 | |
CN113593028A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |