Fresnel Reflection - 菲涅尔反射

Fresnel Reflection - 菲涅尔反射

  “菲涅尔”是一个人的名字,因为他发现了一个有关反射的光学现象,这个现象就用这个人的名字命名了。那么,是什么现象呢?

  这就是反射/折射与视点角度之间的关系。

  如果你站在湖边,低头看脚下的水,你会发现水是透明的,反射不是特别强烈;如果你看远处的湖面,你会发现水并不是透明的,但反射非常强烈。这就是“菲涅尔效应”。

  简单的讲,就是视线垂直于表面时,反射较弱,而当视线非垂直表面时,夹角越小,反射越明显。如果你看向一个圆球,那圆球中心的反射较弱,靠近边缘较强。不过这种过度关系被折射率影响。

  如果不使用“菲涅尔效应”的话,则反射是不考虑视点与表面之间的角度的。

  注意,在真实世界中,除了金属之外,其它物质均有不同程度的“菲涅尔效应”。

  

  Fresnel Reflection能够真实地模拟真实世界中的反射。

  

参考:

1、http://baike.baidu.com/view/2527810.htm?force=1

2、http://blog.sina.com.cn/s/blog_798bec050100rigq.html

时间: 2024-10-06 08:00:48

Fresnel Reflection - 菲涅尔反射的相关文章

Fresnel Reflection

[Fresnel Reflection] One of the most used types of reflections is the Fresnel reflection. One of the most used surfaces of this type of effect is the body of a car. Fresnel Reflection有点像RimLight.在Shader实现上,也是借鉴了RimLight的算法来扰动Emission颜色. 为了实现Shader,我们

菲涅尔反射(Fresnel Reflection)

离线渲染中,通常可以用kd,ks,kt(分别代表物体的漫反射系数,镜面反射系数,透射系数)来简单地描述一个物体的基本材质,例如,我们将一个物体设置为:kd=0,ks=0.1,kt=0.9,即代表一束光击中该物体表面后,其中的90%发生透射(折射),另外10%被表面反射回来.这代表了无论光线以何种角度击中物体表面,它的反射率和透射率都是一样的.但是实际生活中是否是这样的呢? 试想,你站在湖边,低头看脚下的水,你会发现水是透明的,反射不是特别强烈:如果你看远处的湖面,你会发现水并不是透明的,反射非常

Unity3d BTDF实时折射模拟有粗糙度的半透明物体

折射的原理是运用BTDF的一个球形高斯近似 需要考虑折射光的来源,一般会想到用环境贴图(IBL)或者grab texture,但是折射光不全都来自一个平面,所以选择环境贴图来作为折射光.这个效果主要是BTDF计算折射光,和BRDF计算物体的反射光,二者加和即是最终结果. 我们需要用到的参数  我们的最终实现公式为: fr是BRDF,ft是BTDF. Fr 我们首先复习一下BRDF,因为BTDF也要用到BRDF的知识.详细BRDF请看这篇:Unity3d 基于物理渲染Physically-Base

Cook-Torrance光照模型

Cook-Torrance光照模型 该光照模型是基于物理材质的光照模型.光照射到物体表面发生漫反射.镜面反射.折射.透射等现象,在这里我们只考虑漫反射和镜面反射,Cook-Torrance是用来模拟不同材质的镜面反射效果. 其中: ambient :环境光: K:决定高光部分和漫射的比例,一般而已,光复合能量守恒定律,即入射光的总能量和出射光的总能量相等: rs :镜面发射: F项:菲涅尔反射 即Fresnel,菲涅尔反射.我们在观察水面的时候,垂直看下去,清澈见底,看远处的水面,向镜子一样,这

VRay材质基础(一)

一.漫反射 漫反射:是投射在粗糙表面上的光向各个方向反射的现象.更深入一点来讲,光线穿过物体表面,进入物体内部,经过一系列反弹后又穿出来. 次表面散射(英语:Subsurface scattering,简称"SSS"),比如:皮肤.蜡烛.玉石等. 二.金属 光线投射到金属表面后,一部分被反射,一部分被金属吸收.可以认为金属材质没有漫反射颜色,即金属材质的漫反射为纯黑,或者漫反射很暗. 制作金属材质时,主要调节反射颜色,开启Fresnel Reflection,Fresnel IOR 2

Unity3D ShaderLab 立方体图的菲涅尔反射

Unity3D ShaderLab 立方体图的菲涅尔反射 菲涅尔反射是反射类型中比较常见的一种类型,当我们的视线正对物体表面,那么反射量会明显增加, 我们几乎可以在任何支持反射类型的物体表面看到这种情况,我们接下来就来实现这种反射效果过. 还是先创建Shader和 Material,沿用上一节的立方体图.代码变动较少,直接看下面的完成代码: code start -------------------------------------------------------------------

Unity Shaders and Effects Cookbook (4-5)Cubemap与菲涅尔反射

菲涅尔是人名,他发现,当我们站在水中,直直的往下看水面,是看不到反射的太阳光的.而当我们往远处看时,就能看到很强的反光,也就是成语波光粼粼所体现的.这一现象就被命名为 菲涅尔反射. 刚看这一节的时候觉得莫名其妙,感情书上一开始写的有问题,书上是这么写的: 当你的视线对着物体表面的时候,反射量会明显增加. 我对这句话的理解是 正对着表面的时候,反射量会增加.--真是误导. 不过好在代码是不会骗我的. 代码实现的效果是符合菲涅尔反射的,正对着物体表面,反射量减少. 转自http://blog.csd

C#反射Reflection

反射就是动态获取程序集中的元数据,直接通过.dll来创建对象,调用成员. Type是反射一个重要的类.通过Type获取类中所有信息,包括方法,属性等. 一.Type的简单使用 1.通过typeof(类型名)或类实例.GetType()的方式获取某个类型的Type. 2.通过GetFields方法可以获取类型中的所有属性. 3.Activator.CreateInstance(类型的Type)可以创建类型的实例. 4.IsInstanceOfType(),判断是否是某一类型的的实例. 5.IsAs

Caused by: java.lang.ClassNotFoundException: org.hibernate.annotations.common.reflection.MetadataPro

1.错误描写叙述 信息: MLog clients using java 1.4+ standard logging. 2014-7-12 19:29:20 com.mchange.v2.c3p0.C3P0Registry banner 信息: Initializing c3p0-0.9.2.1 [built 20-March-2013 10:47:27 +0000; debug? true; trace: 10] 2014-7-12 19:29:21 org.springframework.w