CN109934900A - 基于vr硬件架构的实时全局光照解决方法 - Google Patents
基于vr硬件架构的实时全局光照解决方法 Download PDFInfo
- Publication number
- CN109934900A CN109934900A CN201910061437.9A CN201910061437A CN109934900A CN 109934900 A CN109934900 A CN 109934900A CN 201910061437 A CN201910061437 A CN 201910061437A CN 109934900 A CN109934900 A CN 109934900A
- Authority
- CN
- China
- Prior art keywords
- cone
- real
- illumination
- global illumination
- octree
- 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.)
- Pending
Links
- 238000005286 illumination Methods 0.000 title claims abstract description 61
- 238000000034 method Methods 0.000 claims abstract description 45
- 230000008569 process Effects 0.000 claims abstract description 35
- 239000000243 solution Substances 0.000 claims abstract description 16
- 238000002347 injection Methods 0.000 claims abstract description 14
- 239000007924 injection Substances 0.000 claims abstract description 14
- 238000001579 optical reflectometry Methods 0.000 claims description 6
- 230000000007 visual effect Effects 0.000 claims description 5
- 239000000463 material Substances 0.000 claims description 4
- 230000000694 effects Effects 0.000 description 10
- 238000009877 rendering Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 230000000873 masking effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 241000208340 Araliaceae Species 0.000 description 1
- 102100027159 Membrane primary amine oxidase Human genes 0.000 description 1
- 101710132836 Membrane primary amine oxidase Proteins 0.000 description 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 1
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000005315 distribution function Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 235000008434 ginseng Nutrition 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000149 penetrating effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Landscapes
- Image Generation (AREA)
Abstract
本发明公开了一种基于VR硬件架构的实时全局光照解决方法,其技术方案要点是其步骤为:(1)CPU体素化过程,将场景面片进行体素化,同时将体素信息构造为八叉树;(2)光照注入过程,将场景光照信息注入处理;(3)Cone tracing过程,将包含光照信息的3D纹理,进行cone tracing计算得到全局光照结果。本发明能够大幅度的提高VR应用的画面物理真实感。
Description
技术领域
本发明涉及一种VR架构技术,更具体的说,它涉及一种基于VR硬件架构的实时全局光照解决方法。
背景技术
3D图形和可视化应用程序中的全局光照对于画面的表现力非常重要,全局光照效果一般包括环境光遮蔽,反射,色溢等等,由于全局光照需要计算光线的多次反弹,对于实时应用来说计算负担很大,因此大部分程序使用的是光照贴图,反射球等静态的全局光照效果近似。而实时全局光照算法目前主流的方法如SSAO(屏幕空间环境遮蔽)等只能实现很少的一部分全局光照效果、
当前在实时领域能够应用的算法主要是通过屏幕空间的方法,减少计算量,将3D空间的光线反弹和求交问题简化为2D,但是这些算法往往十分不精确并且需要大量的调参技巧,相比于所得到的效果来看,开销不低。并且基于屏幕空间,很难模拟出准确的漫反射反弹的色溢效果。
因为真正的全局光照太难计算,所以很多方法抛弃了真正实时计算全局光照的方法,转而求解某些限制条件下的光照,例如业界比较著名的englighten 中间件,就是通过假设应用程序运行时场景不变,在离线时运算好场景几何体相互之前的可见性系数,然后在在线时通过辐射度算法求解,从而实现在光源可以移动的情况下的漫反射全局光照,但是该方法不能针对动态场景进行应用,同时无法处理镜面反射,高光反射的情况。
2012年,NVDIA和法国INRIA提出了基于体素的全局光照方案,该方案基于动态的将几何场景转化为体素,然后在屏幕空间通过对体素进行cone tracing(光锥追踪)的方法实现全局光照。该方法能够实时的响应光源和几何的动态切换,同时由于最后的conetracing是在屏幕空间完成,因此速度可以做到实时,并且能够同时实现漫反射全局光照和镜面反射的全局光照,但是该方法需要在GPU中存储场景的体素纹理,同时要实时的对全场景几何做处理,对于GPU的压力非常大,在渲染任务本身就很重的VR系统中几乎很难做到实际应用。
发明内容
针对现有技术存在的不足,本发明的目的在于提供一种大幅度的提高VR应用的画面物理真实感的基于VR硬件架构的实时全局光照解决方法。
为实现上述目的,本发明提供了如下技术方案:一种基于VR硬件架构的实时全局光照解决方法,其特征在于:其步骤为:
(1)CPU体素化过程,将场景面片进行体素化,同时将体素信息构造为八叉树;
(2)光照注入过程,将场景光照信息注入处理;
(3)Cone tracing过程,将包含光照信息的3D纹理,进行cone tracing计算得到全局光照结果。
本发明进一步设置为:CPU体素化过程的步骤为:
1、在CPU上通过光栅化进行体素化,并进行八叉树构建;
2、通过构建的八叉树,进行内存中建立节点列表;
3、在八叉树的节点中,存放当前的物体网格颜色和法向量。
本发明进一步设置为:光照注入过程的步骤为:
1、通过shadowmap阴影贴图绘制流程,进行灯光视角绘制场景;
2、记录每个阴影贴图像素的世界空间坐标;
3、使用computer shader,根据世界坐标将辐照度值写入到已经构建的八叉树数据结构中的每个子节点;
4、通过八叉树的数据结构以纹理的形式由CPU传到GPU。
本发明进一步设置为:Cone tracing过程的步骤为:
1、接收包含光照信息的3D纹理;
2、通过反算,计算出信息中的像素世界空间坐标;
3、通过像素世界空间坐标,找到相应的体素,进行cone tracing的计算;
本发明进一步设置为:cone tracing包括diffuse和specular两种。
本发明进一步设置为:对于全局光照中的漫反射全局光照,通过沿着半球空间均匀发射若干个cone,
每个cone根据自身的方向采样3D纹理,根据八叉树数据结构,得到一个当前像素的辐照度均值。
本发明进一步设置为:对于镜面反射或者高光反射的cone,根据物体表面的材质属性,选择一个方向反射一个specular cone,cone的范围要比diffuse cone小。
本发明具有下述优点:解决了VR系统的3D图形应用渲染中的全局光照实时运算问题,通过本发明所提供的解决方案,VR应用可以实现基于实时全局光照的一系列更具真实感的效果,动态的柔和环境光遮蔽,镜面和高光反射,昼夜动态切换等,可以大幅度的提高VR应用的画面物理真实感;
基于体素化场景和cone tracing 技术在屏幕空间模拟实时的全局光照效果,同时,考虑VR硬件的性能要求特性做了多处优化,使得算法方案运行时负载较小。
附图说明
图1为本发明的体素化节点的数据结构示意图;
图2为本发明的半球空间示意图;
图3为本发明的体素化构建算法过程图;
图4为本发明的Cone tracing 算法示意图;
图5为本发明的算法总体示意图。
具体实施方式
参照图1至5所示,本实施例的一种基于VR硬件架构的实时全局光照解决方法,其步骤为:
(1)CPU体素化过程,将场景面片进行体素化,同时将体素信息构造为八叉树;
(2)光照注入过程,将场景光照信息注入处理;
(3)Cone tracing过程,将包含光照信息的3D纹理,进行cone tracing计算得到全局光照结果。
CPU体素化过程的步骤为:
1、在CPU上通过光栅化进行体素化,并进行八叉树构建;
2、通过构建的八叉树,进行内存中建立节点列表;
3、在八叉树的节点中,存放当前的物体网格颜色和法向量。
光照注入过程的步骤为:
1、通过shadowmap阴影贴图绘制流程,进行灯光视角绘制场景;
2、记录每个阴影贴图像素的世界空间坐标;
3、使用computer shader,根据世界坐标将辐照度值写入到已经构建的八叉树数据结构中的每个子节点;
4、通过八叉树的数据结构以纹理的形式由CPU传到GPU。
Cone tracing过程的步骤为:
1、接收包含光照信息的3D纹理;
2、通过反算,计算出信息中的像素世界空间坐标;
3、通过像素世界空间坐标,找到相应的体素,进行cone tracing的计算;
cone tracing包括diffuse和specular两种。
对于全局光照中的漫反射全局光照,通过沿着半球空间均匀发射若干个cone,
每个cone根据自身的方向采样3D纹理,根据八叉树数据结构,得到一个当前像素的辐照度均值。
对于镜面反射或者高光反射的cone,根据物体表面的材质属性,选择一个方向反射一个specular cone,cone的范围要比diffuse cone小。
通过采用上述技术方案,分为两部分实现,既CPU实现代码和GPU实现代码,其中CPU部分代码负责场景面片的体素化过程,同时将体素信息构造为八叉树,GPU部分负责灯光信息注入,和cone tracing 出最后结果部分
详细步骤:将体素化和八叉树构建的过程放在CPU端,八叉树的构建目标是最终在内存中建立一个节点的列表,一个节点的数据结构示意如图1;
在一个八叉树的节点中,一般会存放当前的物体网格颜色和法向量,这样可以便于之后计算光照信息。使用八叉树存储体素信息可以节省大量的存储空间,由于光照计算和体素化一个在CPU进行一个在GPU进行,因此体素化可以和渲染异步进行,一般情况下体素化只有在场景几何发生变化,或者加载/卸载场景时进行,从而最大程度上避免了因为体素化过程造成的app本身的卡顿问题。
光照注入过程:在这部分中需要存储和计算的是从灯光视角的场景光照信息,这个过程本方案使用的是显卡GPU的通用计算管线完成,首先从灯光视角绘制场景,也就是通常的shadowmap阴影贴图绘制流程,但是区别在于记录下每个阴影贴图像素的世界空间坐标,之后,本方案会使用一个computer shader,根据世界坐标将辐照度值去写入到已经构建好的八叉树数据结构中的每个叶子节点,这个八叉树的数据结构会以纹理的形式由CPU传到GPU。由于通用计算管线和传统的渲染流水线在大部分当今显卡上都是异步进行的,因此光照注入也可以和渲染异步进行。
Cone tracing过程:当拿到包含光照信息的3D纹理,就可以进行cone tracing计算最后的全局光照结果了,cone tracing实质上是一个全屏幕的后处理过程,对于屏幕上的每一个像素,可以通过反算,或者在之前的渲染过程中记录等方法,计算出它的世界空间坐标,然后找到相应的体素,进行cone tracing的计算,cone一般分为diffuse和specular两种,对于全局光照通常需要的漫反射全局光照来说,会沿着半球空间均匀发射若干个cone(如图2),每个cone都会根据自身的方向去采样3d纹理,也就是的八叉树数据结构,实际上就是一个mip/map采样的过程,最后得到一个当前像素的辐照度均值。
对于镜面反射或者高光反射的cone,根据物体表面的材质属性,也就是BRDF(双向反射分布函数)选择一个方向反射一个specular cone,这个cone的范围要比diffuse cone小的多,实验表明一个specular cone,就能得到非常好的效果。
此外,为了优化算法方案本身的性能,由于全局光照本身的低频特性, 本方案在进行cone trace的时候不需要对整个屏幕进行计算,实验表明,只需要对1/4屏幕分辨率的像素进行计算,然后扩大到全屏幕,一样可以得到非常好的效果。
本技术方案实现之后可以实时计算昼夜切换等的全局光照效果,同时本方案在次高端显卡上只需要3-5ms的GPU时间,对于当前的VR硬件架构来说完全实时可用,并且有多种参数可以调节,可以很好的实现性能和效率上的平衡。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (7)
1.一种基于VR硬件架构的实时全局光照解决方法,其特征在于:其步骤为:
(1)CPU体素化过程,将场景面片进行体素化,同时将体素信息构造为八叉树;
(2)光照注入过程,将场景光照信息注入处理;
(3)Cone tracing过程,将包含光照信息的3D纹理,进行cone tracing计算得到全局光照结果。
2.根据权利要求1所述的基于VR硬件架构的实时全局光照解决方法,其特征在于:CPU体素化过程的步骤为:
(1)、在CPU上通过光栅化进行体素化,并进行八叉树构建;
(2)、通过构建的八叉树,进行内存中建立节点列表;
(3)、在八叉树的节点中,存放当前的物体网格颜色和法向量。
3.根据权利要求2所述的基于VR硬件架构的实时全局光照解决方法,其特征在于:光照注入过程的步骤为:
(1)、通过shadowmap阴影贴图绘制流程,进行灯光视角绘制场景;
(2)、记录每个阴影贴图像素的世界空间坐标;
(3)、使用computer shader,根据世界坐标将辐照度值写入到已经构建的八叉树数据结构中的每个子节点;
(4)、通过八叉树的数据结构以纹理的形式由CPU传到GPU。
4.根据权利要求3述的基于VR硬件架构的实时全局光照解决方法,其特征在于:Conetracing过程的步骤为:
(1)、接收包含光照信息的3D纹理;
(2)、通过反算,计算出信息中的像素世界空间坐标;
(3)、通过像素世界空间坐标,找到相应的体素,进行cone tracing的计算。
5.根据权利要求4所述的基于VR硬件架构的实时全局光照解决方法,其特征在于:conetracing包括diffuse和specular两种。
6.根据权利要求5所述的基于VR硬件架构的实时全局光照解决方法,其特征在于:对于全局光照中的漫反射全局光照,通过沿着半球空间均匀发射若干个cone,
每个cone根据自身的方向采样3D纹理,根据八叉树数据结构,得到一个当前像素的辐照度均值。
7.根据权利要求5所述的基于VR硬件架构的实时全局光照解决方法,其特征在于:对于镜面反射或者高光反射的cone,根据物体表面的材质属性,选择一个方向反射一个specular cone,cone的范围要比diffuse cone小。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910061437.9A CN109934900A (zh) | 2019-01-23 | 2019-01-23 | 基于vr硬件架构的实时全局光照解决方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910061437.9A CN109934900A (zh) | 2019-01-23 | 2019-01-23 | 基于vr硬件架构的实时全局光照解决方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109934900A true CN109934900A (zh) | 2019-06-25 |
Family
ID=66985138
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910061437.9A Pending CN109934900A (zh) | 2019-01-23 | 2019-01-23 | 基于vr硬件架构的实时全局光照解决方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109934900A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112002019A (zh) * | 2020-08-25 | 2020-11-27 | 成都威爱新经济技术研究院有限公司 | 一种基于mr混合现实的模拟人物阴影的方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107452048A (zh) * | 2016-05-30 | 2017-12-08 | 网易(杭州)网络有限公司 | 全局光照的计算方法及装置 |
CN108537869A (zh) * | 2018-03-08 | 2018-09-14 | 哈尔滨工程大学 | 一种基于级联纹理的圆锥追踪动态全局光照方法 |
-
2019
- 2019-01-23 CN CN201910061437.9A patent/CN109934900A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107452048A (zh) * | 2016-05-30 | 2017-12-08 | 网易(杭州)网络有限公司 | 全局光照的计算方法及装置 |
CN108537869A (zh) * | 2018-03-08 | 2018-09-14 | 哈尔滨工程大学 | 一种基于级联纹理的圆锥追踪动态全局光照方法 |
Non-Patent Citations (1)
Title |
---|
杜晓刚等: "基于CUDA的数字重建影像生成算法", 《计算机科学》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112002019A (zh) * | 2020-08-25 | 2020-11-27 | 成都威爱新经济技术研究院有限公司 | 一种基于mr混合现实的模拟人物阴影的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7212207B2 (en) | Method and apparatus for real-time global illumination incorporating stream processor based hybrid ray tracing | |
Woo et al. | A survey of shadow algorithms | |
Szirmay‐Kalos et al. | Displacement Mapping on the GPU—State of the Art | |
Shah et al. | Caustics mapping: An image-space technique for real-time caustics | |
JP5111638B2 (ja) | パラメトリック曲線をより小さなサブパッチに分割する装置およびその方法 | |
US7843463B1 (en) | System and method for bump mapping setup | |
US20220165040A1 (en) | Appearance-driven automatic three-dimensional modeling | |
Drobot | Physically based area lights | |
Iwasaki et al. | Real‐time rendering of dynamic scenes under all‐frequency lighting using integral spherical gaussian | |
Michel et al. | Real time multiscale rendering of dense dynamic stackings | |
Timonen et al. | Scalable Height Field Self‐Shadowing | |
CN109934900A (zh) | 基于vr硬件架构的实时全局光照解决方法 | |
Tatzgern et al. | Stochastic substitute trees for real-time global illumination | |
Kunert et al. | Efficient point cloud rasterization for real time volumetric integration in mixed reality applications | |
KR100951121B1 (ko) | 간접 조명 효과를 위한 렌더링 방법 | |
Mavridis et al. | Global Illumination using Imperfect Volumes. | |
CN114022599A (zh) | 一种线性变换球面分布的实时间接光泽反射渲染方法 | |
Fu et al. | Dynamic shadow rendering with shadow volume optimization | |
Knecht | State of the art report on ambient occlusion | |
US20220203231A1 (en) | Methods and Systems for Determining Decal Projections Intersecting Spacial Units in a Frame of a Game Space | |
Ki et al. | A GPU-based light hierarchy for real-time approximate illumination | |
Hamza | Realistic Shadows In Computer Graphics | |
Marrs | Real-Time GPU Accelerated Multi-View Point-Based Rendering | |
Condon et al. | Prefiltered Cross-Section Occluders | |
Wang et al. | Dynamic Shadow Synthesis Using Silhouette Edge Optimization |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190625 |
|
RJ01 | Rejection of invention patent application after publication |