ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Environment Lighting2

2022-09-04 14:34:10  阅读:174  来源: 互联网

标签:Spherical 函数 BRDF Lighting2 Environment Harmonics diffuse 光照


Shadow from environment lighting:工业界一般采用环境光中较为明显的阴影作为主要阴影,也就是一个阴影或者两个三个左右,由于每一个着色点都要考虑着色和阴影,所以不能直接使用采样的方法,这里使用效率更好的方法PRT。

傅里叶级数展开:一个函数可以由非常多的sin和cos函数表示,这些cos又叫做基函数。

product integral:这个式子是一种卷积计算,也是filtering,得到结果的频率由式子中最低频率的部分决定

 

 

 Basis Functions:可以表示出其他函数的一系列函数。其中Bi(x)就是基函数。

 

 

 Spherical Harmonics:定义在球面上的一系列二维的基函数,这些基函数可以看作是球面上的点,这些点可以用θ和φ表示。图形表示出Spherical Harmonics,每一层的频率都不一样。

 

 

 Spherical Harmonics的各项可以用数学式表达。一个二维函数的基函数系数可以用product integral立马算出来

 

Prefilter:Prefilter+一次查询等于没有filter加上多次查询求平均

 

 

 在render Equation中,L和BRDF和cos项,其中cos和BRDF看作一体,也就是光源L和BRDF项的积分,同时也是product integral,由于光有高频率和低频率,但BRDF在diffuse时的频率很低,所以在diffuse时render Equation的频率只由BRDF决定,也就是一个低通滤波器。

diffuse时的BRDF投影到Spherical Harmonics,基本可以用前三阶表示。

 

 

 由于在diffuse时render Equation的频率只由BRDF决定,光照的高频就没有用,所以可以用前三阶的Spherical Harmonics来近似光照,也能得到非常好的效果。这也是Spherical Harmonics的应用。

 

 

 在计算环境光下的阴影时,如果通过直接计算积分的方式,会非常费力,所以这时使用其他方法来计算

 Precomputed Radiance Transfer:把L(i)作为lighting项,后面作为light transport项,整体上分为两项。其中光照是二维,由于看的方向是固定的,所以BRDF也是二维的, V(i)也是二维的。L(i)用基函数近似表示。

 

 

在diffuse的情况下,BRDF是常数,可直接提取到积分外,这时积分内就剩下光照和visibility项,visibility项和cos也就是light transport,然后用基函数近似光照,把求和符号拿到积分限外,li作为常数也拿到积分外,积分内就是基函数乘以light transport,这种情况也就是light transport投影到基函数上,得到的结果就是常数,所以这里可以进行预计算,在它们都是不变的情况下,即场景不变visibility项不变,光照也不变。此时的积分结果就是一个数,最终的结果也就是一个点乘了。所以PRT的代价也就是如果场景变化了,就需要重新计算。PRT的使用情况也就是diffuse和场景中物体不变。对于光照,可以预计算不同的光照,比如室内光照和室外光照,只需要改变对应基函数的系数就可以了,但时如果光照发生旋转,就要用Spherical Harmonics来算出旋转后的结果。

 光照在发生旋转后,由SH基函数近似的光照,其基函数会发生变化,SH基函数会由同阶的基函数线性组合成,所以可以非常迅速的完成光照的旋转操作

 

标签:Spherical,函数,BRDF,Lighting2,Environment,Harmonics,diffuse,光照
来源: https://www.cnblogs.com/lsy-lsy/p/16653421.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有