// upgrade note: replaced '_object2world' with 'unity_objecttoworld'
// upgrade note: replaced 'mul(unity_matrix_mvp,*)' with 'unityobjecttoclippos(*)'
shader "unity shaders book/chapter 10/fresnel"
}subshader
pass
cgprogram
#pragma multi_compile_fwdbase
#pragma vertex vert
#pragma fragment frag
#include "lighting.cginc"
#include "autolight.cginc"
fixed4 _color;
fixed _fresnelscale;
samplercube _cubemap;
struct a2v ;
struct v2f ;
v2f vert(a2v v)
fixed4 frag(v2f i) : sv_target
endcg}}
fallback "reflective/vertexlit"
}取自《unity shader 入門精要》
_fresnelscale為1時,物體完全反射cubemap影象;為0時,則是乙個具有邊緣光照效果的漫反射物體
schlick菲涅耳近似等式: f(v,n) = f0 + (1 - f0) * power((1 - v·n), 5)
empricial菲涅耳近似等式: f(v,n) =max(0, min(1,bias + scale * power((1 - v·n), pr) ))
fresnel用來混合漫反射和反射,或者反射乘fresnel加上漫反射模擬邊緣光照
什麼是菲涅耳反射?
在現實社會中往往有這樣的一種現象?菲涅爾 是乙個人的名字,由於他發現了反射折射的光學現象,這個現象就用這個人的名字命名。關於 菲涅爾 現象 如果你站在湖邊,低頭看腳下的水,你會發現水是透明的,反射不是特別強烈,如果你看遠處的湖面,你會發現水並不透明,這說明反射非常強烈。這就是 菲涅爾效應 ps 這裡...
菲涅耳效應
菲涅耳效應 當光從一種具有折射率為n1的介質向另一種具有折射率為n2的介質傳播時,在兩者的交界處 通常稱作介面 可能會同時發生光的反射和折射。圖中p為入射光,s為折射光,q為反射光。這些反射和折射光的夾角遵守反射定律和折射定律。我記得以前中學物理老師講光學的時候,一般講到這就完了,很少提及入射光的能...
了解菲涅爾反射
翻譯自understanding the fresnel effect dorian iten dorian iten.com 純粹學習記錄 當我繪製反光表面時,新增菲涅耳 是我的首選解決方案。這是乙個小小的調整,有很大的影響。看看下圖,注意桌面的亮度是如何變化的。要理解菲涅耳效應,你必須了解反射的...