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,我们需要一个Cubemap,及Specular、Rim的相关强度信息,如下:

  

  另外,引用需要用到的内置变量:

  

  最后实现代码如下:

  

  最终效果图:

  

How it works

  左边2图展示RimLight效果,右边2图展示Cubemap+Rimlight效果。

  

  

  

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

Fresnel Reflection的相关文章

Fresnel Reflection - 菲涅尔反射

[Fresnel Reflection - 菲涅尔反射] “菲涅尔”是一个人的名字,因为他发现了一个有关反射的光学现象,这个现象就用这个人的名字命名了.那么,是什么现象呢? 这就是反射/折射与视点角度之间的关系. 如果你站在湖边,低头看脚下的水,你会发现水是透明的,反射不是特别强烈:如果你看远处的湖面,你会发现水并不是透明的,但反射非常强烈.这就是“菲涅尔效应”. 简单的讲,就是视线垂直于表面时,反射较弱,而当视线非垂直表面时,夹角越小,反射越明显.如果你看向一个圆球,那圆球中心的反射较弱,靠近

菲涅尔反射(Fresnel Reflection)

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

VRay材质基础(一)

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

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

Fresnel效果和颜色色散(Using OpenGL & Cg)

1.Fresnel效果 一般来说,当光到达2种材质的接触面时,一些光在接触面的表面被反射出去,而另一部分光将发生折射穿过接触面,这个现象称为Fresnel效果.Fresnel公式描述了多少光被反射和多少光被折射.下面是Fresnel公式的一个近似: reflectionCoefficient=max(0,min(1,bias+scale×(1+I·N)power)) 反射系数reflectionCoefficient的范围被限制在[0,1]之间,我们根据下面的公式使用reflectionCoef

参数计数不匹配,未处理System.Reflection.TargetParameterCountException

系统出现异常:参数计数不匹配,未处理System.Reflection.TargetParameterCountException, 系统会显示如下的异常信息,但异常信息往往与实际异常位置差十万八千量: 未处理 System.Reflection.TargetParameterCountException Message=参数计数不匹配. Source=mscorlib StackTrace: 在 System.Reflection.RuntimeMethodInfo.Invoke(Object

Java Reflection 相关及示例

Java Reflection 相关及示例 前言: 代码有点长.贴出github地址:https://github.com/andyChenHuaYing/scattered-items/tree/master/items-java-reflection 测试目标类:TargetClass.自定义的辅助类比较多.在这里不贴了.篇幅有限.并且测试也简单.因此测试类也没有提及. 一:简介 Java Reflection是针对Class也就是我们平常说的类而言的.用于操作Java中的Class.在Ja

GO语言method、interface、reflection、select

方法method -GO方法虽没有class,依旧有method -通过显示说明receiver来实现与某个类型的组合 -只能为同一个包中的类型定义方法 -RECEIVER可以是类型的值或指针 -不存在方法重载 -可以使用值或指针来调用方法,编译器会自动完成转换 -从某种意义上来说,方法是函数的语法糖,因为receiver其实就是方法所接收的第一个参数 -如果外部结构和嵌入结构存在同名方法,则优先调用外部结构的方法 -类型别名不会拥有底层类型所附带的方法 -方法可以调用结构中的非公开字段 接口i