shader入門5 高光反射

2021-09-24 02:59:36 字數 1421 閱讀 2744

高光反射一般用於實現金屬光澤的效果,原理是反射光與物體朝相機的方向的夾角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....