高光反射一般用於實現金屬光澤的效果,原理是反射光與物體朝相機的方向的夾角cos值為標準進行光照補償,夾角越小補償值越高.
其實現原理與在漫反射基礎上加了高光補償的部分,要注意的是世界座標系中的光照與入射角方向是相反的
n是normaldir
v是viewdir
l是lightdir 因為反射公式的入射角與l是相反的,所以下面反射函式中傳的lightdir是相反的
r是reflectdir
fixed4 _diffuse;//漫反射顏色
fixed4 _specular;//高光顏色
half _gloss;//發光強度
struct a2v ;
struct v2f ;
v2f vert(a2v v)
fixed4 frag(v2f f) :sv_target
endcg
} }
fallback "diffuse"
}另一種高光反射模型,和上一種的區別就是把補償從 反射方向與相機方向 轉變為h方向與法線方向;
這個h方向=平行光方向+朝向相機的方向
l是lightdir
v是viewdir
h是halfdir 也就是viewdir+lightdir
n是normaldir
fixed4 _diffuse;//漫反射顏色
fixed4 _specular;//高光顏色
half _gloss;//發光強度
struct a2v ;
struct v2f ;
v2f vert(a2v v)
fixed4 frag(v2f f) :sv_target
endcg
} }
fallback "diffuse"
}
shader高光反射漫反射學習
高光反射 會受到相機方向的影響 specular 直射光 pow max cos 0 10 shader效果 類似於乙個亮點 反射光的方向,unity方法reflect 反射光是平行光的反射 lightdir 法線是normaldir 得到的是光照的反射方向 reflectdir fixed3 re...
Shader 基礎光照 高光反射光照模型
高光反射計算公式 我們需要4個引數,光源的顏色和強度,材質的高光反射係數,視角方向和反射方向.在高光反射中我們要取得反射光線和視線的夾角.cg提供了反射光線的函式reflect i,n 1.宣告三個屬性,specular控制高光反射材質,diffuse漫反射材質,gloss控制高光區域大小 prop...
逐頂點高光反射
逐頂點高光反射 shader unity shader book chapter 6 specular vertex leve1 subshader cgprogram pragma vertex vert pragma fragment frag 引用內建的變數 include lighting....