計算邊緣光照

2021-09-23 07:33:23 字數 504 閱讀 8803

原理簡單說一下,主要是用來計算邊緣光照的,首先通過視線與法線的夾角來找到模型的邊緣,然後再根據距離的遠近來控制發射光的強度。

[cpp]view plain

copy

half rim = 1.0 - saturate(dot (normalize(in.viewdir), in.worldnormal));  

o.emission = _rimcolor.rgb * pow (rim, _rimpower);  

in.viewdir是當前視角向量,in.worldnormal是物體的法線。dot是計算視角和法線的點積,等於視角和法線夾角的cos值,cos的值域是1-0,1-cos就成了0-1,在夾角90度時達到最大值,正好用來模擬側光的強度(與視角成90度的部分光線最強,就是邊緣光了)

把這個值的變化率用乙個pow函式(rim的_rimpower次方)進行放大,就能強化邊緣發亮的效果。

posted on 2017-05-24 09:45收藏

計算邊緣光照

原理簡單說一下,主要是用來計算邊緣光照的,首先通過視線與法線的夾角來找到模型的邊緣,然後再根據距離的遠近來控制發射光的強度。cpp view plain copy half rim 1.0 saturate dot normalize in.viewdir in.worldnormal o.emis...

邊緣計算與移動邊緣計算的區別

如果說雲計算是集中式大資料處理,那麼邊緣計算就可以理解為邊緣式大資料處理。何為邊緣?通用術語表示就是,鄰近 接近。放在這句話中就是,臨近計算或接近計算。想象一下,資料每次都要傳到遙遠的雲端,雲端處理完,才能回傳回來,很麻煩吧!邊緣計算則在想,為啥要傳那麼遠呢?資料那麼多,傳來傳去浪費時間不說,還效率...

Vision引擎中後期處理 邊緣光照介紹

邊緣光照是一種突出物件邊緣的技術,可提高對比度,令物件的剪影更加清晰。此效果類似於在場景物件背面放置乙個光源。注 邊緣光照後期處理器需要法線快取,因此不支援正向渲染。屬性 active 啟用 勾選框 設定邊緣光照是否被啟用。component id 元件 id 可選元件名稱,用於在附加元件中標識該元...