菲涅尔反射(Fresnel Reflection)理论概要
离线渲染中,通常可以用kd,ks,kt(分别代表物体的漫反射系数,镜面反射系数,透射系数)来简单地描述一个物体的基本材质,例如,我们将一个物体设置为:kd=0,ks=0.1,kt=0.9,即代表一束光击中该物体表面后,其中的90%发生透射(折射),另外10%被表面反射回来。这代表了无论光线以何种角度击中物体表面,它的反射率和透射率都是一样的。但是实际生活中是否是这样的呢?
试想,你站在湖边,低头看脚下的水,你会发现水是透明的,反射不是特别强烈;如果你看远处的湖面,你会发现水并不是透明的,反射非常强烈。简单的讲,就是视线垂直于表面时,反射较弱,而当视线非垂直表面时,夹角越小,反射越明显。如果你看向一个圆球,那圆球中心的反射较弱,靠近边缘较强,这就是“菲涅尔效应”。不同材质的菲涅尔效应强弱不同,导体(如金属)的菲涅尔反射效应很弱,就拿铝来说,其反射率在所有角度下几乎都保持在86%以上,随角度变化很小,而绝缘体材质的菲涅尔效应就很明显,比如折射率为1.5的玻璃,在表面法向量方向的反射率仅为4%,但当视线与表面法向量夹角很大的时候,反射率可以接近100%,这一现象也使得金属与非金属看起来不同。
在图形学中,我们也可以加入菲涅尔反射效应,以使玻璃,瓷器,水面等物体的反射显得更真实。菲涅尔反射的方程可以由麦克斯韦电磁学方程推导出来(因为本质上讲菲涅尔反射就是用波动的理论来解释光的反射)。对于透明物体而言其结果为:
公式中的kr与kt分别代表了最终求得的反射率与折射率,η代表了该物体的相对折射率,θi和θt分别代表了入射角与折射角。可以看出对于透明物体而言,有多少光能被折射是跟物体的相对折射率以及入射角度都是相关的,值得注意的一点是,当发生全反射的时候这个公式并不适用。
除此之外,菲涅尔反射效应也是可以用于漫反射等其他非透明材质之上的,用来描述其在各个入射角方向上的反射率,不过这种情况略微复杂一些,通常难以直接求解,但是它却可以用有理多项式来逼近,比如在处理次表面散射(Subsurface scattering)的时候会加入Fresnel项:
不过,我在代码中加入了针对透明物体的菲涅尔反射,并对同一个场景做了测试,发现貌似区别并不明显(晕+_+)。
未加入菲涅尔反射:
加入菲涅尔反射:
原文:菲涅尔反射(Fresnel Reflection) - 星光下的守望者 - 博客园
菲涅尔反射(Fresnel Reflection)理论概要相关推荐
- 菲涅尔反射方程matlab,菲涅尔反射Fresnel Reflection(转)
离线渲染中,通常可以用kd,ks,kt(分别代表物体的漫反射系数,镜面反射系数,透射系数)来简单地描述一个物体的基本材质,例如,我们将一个物体设置为:kd=0,ks=0.1,kt=0.9,即代表一束光 ...
- Fresnel Reflection - 菲涅尔反射
[Fresnel Reflection - 菲涅尔反射] "菲涅尔"是一个人的名字,因为他发现了一个有关反射的光学现象,这个现象就用这个人的名字命名了.那么,是什么现象呢? 这就是 ...
- UnityShader-菲涅尔反射(Fresnel Reflection)
菲涅耳公式(或菲涅耳方程),由奥古斯丁·让·菲涅耳导出.用来描述光在不同折射率的介质之间的行为.由公式推导出的光的反射称之为"菲涅尔反射".菲涅尔公式是光学中的重要公式,用它能解释 ...
- shader 反射 水面_UnityShader-菲涅尔反射(Fresnel Reflection)
菲涅耳公式(或菲涅耳方程),由奥古斯丁·让·菲涅耳导出.用来描述光在不同折射率的介质之间的行为.由公式推导出的光的反射称之为"菲涅尔反射".菲涅尔公式是光学中的重要公式,用它能解释 ...
- 4p、4c、4R营销理论概要
http://wenku.baidu.com/link?url=kNB0Hahe98LGcQS0GBd7rG31XfScMOxe1CfzrQzKdeX5DFsn-cqzuOhmhh3g73KVrrAC ...
- 【Scaleform官方文档】sf_4.3_3Di 理论概要
1. 概述 Scaleform 3Di使开发人员可以可以将应用程序UI带到具有新的3DFlash渲染和动画功能的下一个维度. 从Scaleform3.2开始,增加一组ActionScript拓展,提供 ...
- UnityShader18.1:立方体贴图(下)
接上文:https://blog.csdn.net/Jaihk662/article/details/113248074 四.菲涅尔反射 菲涅尔反射(Fresnel Reflection)就是同时考虑 ...
- 庄懂的技术美术入门课(美术向)——学习笔记02
目录 碎碎念 一.作业·点评 1.思路 2.答案 3.作业点评 4.创作点评 二.作业·批改 01 作业1 高光偏移 菲涅尔反射(Fresnel Reflection) 02 作业2 03 作业3 总 ...
- 全网最全微信小程序项目源码
查看全文 http://www.taodudu.cc/news/show-3737788.html 相关文章: 使用ColorUI构建小程序项目 [小程序从0到1]小程序项目的创建(项目目录结构) 微 ...
最新文章
- php连接Mysql
- 软件的可维护性与可复用性(一)(Java与模式笔记)
- 剑指Offer 包含min函数的栈
- python按字节读取_Python read函数按字节(字符)读取文件的实现
- flutter对比Android绘制流程,Flutter与android的对比---View
- 【Java】说明变量作用域的示例程序
- 重新命名的linux命令,Linux 重命名命令自制详细介绍
- 华为P40系列起售价曝光!有点意想不到
- MongoDB和Elasticsearch的各使用场景对比
- python学习--关注容易被忽略的知识点---(一)python基础
- Android学习笔记(十一)——从意图返回结果
- 怎么在WINDOWS中运行C语言程序,在Windows下运行C语言程序
- linux如何设置显示器亮度调节软件,为 Linux 启用色温和亮度调节工具
- 国开计算机专业英语答案,国开电大计算机专业英语阅读(河北)形考三参考答案...
- mysql空洞,mysql crud造成数据空洞的原因
- 元数据管理平台技术白皮书
- js过滤英文双引号变成中文双引号
- 【笔记】编译原理——第三章 词法分析
- java 数字 百分比_Java 数字转换成百分比
- 计算机网络实验1 网线、配线架与机柜