最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

URP | Phong 和 Blinn-Phong光照光照模型

2021-11-27 15:51 作者:那個人真狗  | 我要投稿

Phong | 馮氏光照模型

介紹

Phong光照模型中主要的部分就是對高光的計算

是根據(jù)反射原理,如果正好在反射方向觀察,那看到的反射光就越多。所以計算反射方向和觀察方向。就可以計算出高光反射。

公式

  • I(spcular) = pow(max(0,dot(R,V)), gloss)

  • 最終顏色 = 直射光顏色 * 反射光顏色 * pow(max(0, dot(反射光方向, 視野方向)), 光澤度(gloss)

Phong光照模型原理

  • 簡單介紹一下,蘭伯特光照模型,已經(jīng)獲取到了法線向量(N),光照向量(L),

    Phong 光照模型 是計算觀察方向(V)和反射方向(R) 這倆個向量。計算出高光的強(qiáng)弱。

  • HLSL 怎么求出這倆個向量,



  • V 視角

  • 獲取相機(jī)的世界坐標(biāo)(_WorldSpaceCameraPos )這個宏是內(nèi)置的,

  • 使用相機(jī)空間的位置信息 —世界空間頂點位置信息 = 就可以得到相機(jī)方向。

  • 這一步是在頂點階段計算的,不要忘記片元結(jié)構(gòu)體里申明變量。


注意 :是float3類型的向量,不要錯誤。

在片元著色器階段計算

  • 片元著色器

  • 傳入數(shù)據(jù)歸一化一下,

    注意 :是float3類型的向量,不要錯誤。

R 反射

  • 那怎么計算反射向量,我們可以使用光的反方向,和頂點法線方向求出反射方向。

注意 :是float3類型的向量,不要錯誤。

這里的 -LightDir 是負(fù)的方向。


高光計算部分

  • 套用公式帶入,后面 乘光照顏色。


  • 效果

代碼

Blinn-Phong光照

半角向量 | Halfway vector

  • Blinn-Phong光照引入了一個概念,半角向量,用H表示. 它在視線方向和光線方向的中間

H 半角向量

  • 怎么獲取半角向量,使用視角 + 光照方向

  • 高光計算

    使用 dot(N,H)

  • 倆個效果對比

總結(jié)

  • Phong 光照模型 主要是計算出 視角方向(ViewDir)和反射方向(ReflectDir),視角方向最好在頂點階段計算,這樣會少很多計算量,向量傳入片元著色器階段歸一化一下。

  • 注意:向量的類型,一開始我是設(shè)置 real 類型,在反射方向,計算出一個錯誤的結(jié)果。查找了半天。

  • 我們修改成 real3類型,在看一下效果。

  • Blinn-Phone ?光照模型,是在Phone基礎(chǔ)上修改的,

    Blinn-Phong著色的一個附加好處是,它比Phong著色性能更高,因為我們不必計算更加復(fù)雜的反射向量


URP | Phong 和 Blinn-Phong光照光照模型的評論 (共 條)

分享到微博請遵守國家法律
卓尼县| 石城县| 义马市| 东光县| 定边县| 吉林省| 宁德市| 交城县| 灵璧县| 昌图县| 化德县| 双城市| 富平县| 安康市| 介休市| 营口市| 库伦旗| 饶阳县| 宝坻区| 应用必备| 军事| 盐池县| 容城县| 信宜市| 延寿县| 涪陵区| 南乐县| 志丹县| 拉萨市| 永福县| 湘西| 沐川县| 平潭县| 平罗县| 大邑县| 遂川县| 安顺市| 蕲春县| 叙永县| 陆川县| 乐至县|