入射光射到平面上后会被分为反射和折射两个部分,反射向量 \(\mathbf{r}_i\) 和入射向量 \(\mathbf{l}\) 关于法线 \(\mathbf{n}\) 有相同的夹角 \(\theta_i\),反射向量 \(\mathbf{r}_i\) 可以通过下式得到:

\[\mathbf{r}_i = 2(\mathbf{n}\cdot\mathbf{l})\mathbf{n}-\mathbf{l} \]

光穿过平面发生的反射和折射遵循菲涅尔方程,菲涅尔方程需要平面遵循几何光学的假设,即平面上不存在大小在\(1\)\(100\)个波长范围内的不规则几何。

反射光占入射光的比例可以通过菲涅尔反射系数(Fresnel reflectance) \(F\) 描述,菲涅尔反射系数和入射角 \(\theta_i\) 有关。

光穿过平面时的反射和折射和平面两边物质的折射率有关,我们规定 \(n_1\) 表示平面上方(即光照过来的一边)的反射率,\(n_2\) 表示平面下方(即发生折射的一边)的反射率。

外反射 External Reflection

\(n_1<n_2\),即光从折射率较小的一边射到折射率较大的一边时发生的反射我们称为外反射,反之称为内反射。物体外面通常是空气,空气的折射率约是 \(1.003\),为了简便,我们认为 \(n_1=1\)

对于给定的物质,菲涅尔方程可以被描述成反射率函数 \(F(\theta_i)\),虽然该函数在可见光谱上是连续的,但为了方便渲染,可以用关于 RGB 向量的函数来表示。\(F(\theta_i)\) 有如下特征:

  • \(\theta_i=0^\circ\),即垂直入射时,\(F_0\) 可以被认为是该物质的特征高光颜色;
  • \(\theta_i\) 逐渐增大时,\(F(\theta_i)\) 也逐渐增大,并且对于所有频率的光,当 \(\theta_i\) 达到 \(90^\circ\) 时,\(F(\theta_i)=1\)

如下图是 \(F(\theta_i)\) 关于波长和 \(\theta_i\) 的可视化,可以看到对于有些物质,该曲线是高度地非线性;该曲线大部分都是单调的,但是对于有些物质(比如铝),该曲线在到达 \(1\) 之前会先小幅下降再上升。

原文地址:http://www.cnblogs.com/AEMShana/p/16837367.html

1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长! 2. 分享目的仅供大家学习和交流,请务用于商业用途! 3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入! 4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解! 5. 如有链接无法下载、失效或广告,请联系管理员处理! 6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需! 7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员! 8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载 声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性