Directional Light Map(Directional Irradiance)

简介:

Light Map是一个比较经典的技术,目前来说应该是一般游戏引擎中的标配,它很好的在一种拟全局光效果的质量和效率上做了中和。不过目前用的更多、质量更好的应该是Directional Light Map,它是原始LM的增强版,通过在预处理与实时还原中考量场景中表面的法向量进而增强效果。DLM的基本操作方法如下:

  • 在采样点处把其半球空间中的辐射照度用某种方法进行采集并保存(比如离线的光线跟踪);
  • 以某种方法存储额外的、与该辐射照度相关的法线信息到光照贴图中;
  • 实时渲染中通过光照贴图对像素上的场景辐照度进行还原(结合光照信息与方向信息)。

目前常用的DLM实现方法主要有三种:

Radiosity Normal Maps

该方法最早是在Valve的Source引擎中用的一种模式,它的原理应该是一种拟信号压缩与重建的方法:

  • 在采样点处选取三个正交的采样方向作为基方向,采样得到这些方向上的光照信息并保存(压缩);
  • 实时渲染中通过三个方向及其上的光照值做为基函数,对实际表面法向上的光照值进行还原(重建)。

其中的三个基方向(表面法向所在的局部切空间,如下图示)分别为:

,  , 

对应的还原计算为:

Valve的这种方法应该说还是很不错的,虽然数学理论依据不太充分,但至少看起来效果很不错,而且实现简单,效率较高。不过其也会出现一些问题,那就是当法线的方向与采样光照的主方向夹角较大(即与采样切平面的夹角较小时)容易出现一些不太正确的光照还原。

Dominant Directional Irradiance

该方法的原理可以是看作将采样点半球空间中的辐照信息处理为一个方向光(Directional Irradiance),这样在实时渲染中就可以使用反射模型进行快速还原;其中的Dominant axis就可以看作是指该平行光的方向。其操作如下:

  • 外理采样点外部辐照信息为:方向光(方向:L,颜色:CL);
  • 渲染中直接反射模型模型来还原 。

比如使用Lambert模型时对应的还原计算为:

另外,一般情况下也会使用方向贴图的空闲的Alpha通道来存储一个缩放因子,用其来控制该点上外部辐照度的方向性(即被dominant方向影响的力度)。当然,这里也可以使用其它更复杂的一些shading model来操作,不过Lambert已经足够了。该方法的计算量相对也比较小;存储空间也比较节省,只需要在传统LM的基础上再存储一张方向贴图就可以了(目前来说该方法较为流行,比如UE或Enlighten中就使用此方法)。

Spherical Harmonics

该方法与Radiosity Normal Map的方法类似(同样与Light Probe的原理类似),只不过这里使用了理论与数学依据更为充分的球谐函数来实现外部辐射照度信息的压缩与重建:

  • 把光照函数使用球谐函数进行变换存储(压缩);
  • 实时渲染中使用时直接利用SH重建进行还原即可(还原)。

这种方法比上述两种方法都更为高级,一般来说对于任意Normal上的照度信息都能正确还原,而且适应性较强,较为灵活;但同时有很大的缺点那就是存储空间较大(其LM中每个Pixel中存储的数据量相当于一个Light Probe对应的存储的内容),因而其应用范围就有所限制。

下述是LM与DLM的简单效果对比,差异还是相当明显的:

http://blog.csdn.net/bugrunner/article/details/7881819

作者:码瘾少年·麒麟子 
出处:http://www.cnblogs.com/geniusalex/ 
蛮牛专栏:麒麟子 
简介:09年入行,喜欢游戏和编程,对3D游戏和引擎尤其感兴趣。 
版权声明:本文版权归作者和博客园共有,欢迎转载。转载必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

转载:http://www.cnblogs.com/geniusalex/archive/2013/04/01/2992608.html

目录
相关文章
|
13天前
|
算法 光互联 计算机视觉
Locally Adaptive Color Correction for Underwater Image Dehazing and Matching
该文提出了一种新颖的水下图像处理方法,结合颜色转移和局部调整来校正颜色,以应对水下光照和散射造成的图像退化。传统颜色转移方法基于全局参数,不适应水下场景中颜色变化的局部性质。文章中,作者通过融合策略,利用光衰减水平估计来实现局部颜色校正。首先,通过暗通道先验恢复彩色补偿图像,然后估计光衰减图。接着,创建一个合成图像,该图像的统计特性代表高衰减区域,用于颜色转移。最后,通过加权融合初始图像和颜色转移图像,生成最终的颜色校正图像。这种方法旨在提高水下图像的对比度和颜色准确性,特别关注高衰减区域。
26 1
|
4月前
|
机器学习/深度学习 搜索推荐 图形学
【论文精读】 SadTalker:Stylized Audio-Driven Single Image Talking Face Animation(CVPR2023)
【论文精读】 SadTalker:Stylized Audio-Driven Single Image Talking Face Animation(CVPR2023)
|
7月前
265Echarts - GL 矢量场图(Flow on the cartesian)
265Echarts - GL 矢量场图(Flow on the cartesian)
23 0
|
编解码 算法 数据挖掘
Density- and Grid-Based Methods|学习笔记
快速学习 Density- and Grid-Based Methods
102 0
Density- and Grid-Based Methods|学习笔记
1134. Vertex Cover (25)
A vertex cover of a graph is a set of vertices such that each edge of the graph is incident to at least one vertex of the set.
1026 0
|
算法 图形学
|
算法
Split Shape by Plane in OpenCASCADE
Split Shape by Plane in OpenCASCADE eryar@163.com Abstract. Sometimes you want to split a shape by plane or even split a shape by a B Spline surfac...
1653 0
|
算法
Efficient Color Boundary Detection with Color-opponent Mechanisms算法学习笔记
这是一篇基于视觉颜色机制的边缘检测论文,原文分中文和英文版 中文版链接:中文版PDF 英文版链接:英文版PDF 项目主页:http://www.neuro.uestc.edu.cn/vccl/projcvpr2013.html 以下是我个人学习该算法后的理解,希望各位看官批评指正! 整
2175 0