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

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

LearnOpenGL-P9 創(chuàng)建Phong模型基礎(chǔ)光照

2023-04-09 19:29 作者:Code有毒  | 我要投稿

0 上一章我們創(chuàng)建了一個FPS游戲風(fēng)格的鏡頭調(diào)度。本期我們將根據(jù)Phong光照模型進(jìn)行光照系統(tǒng)的模擬。

(1)創(chuàng)建光源和被光照射的物體。

(2)根據(jù)Phong模型進(jìn)行光照系統(tǒng)的模擬。?

1 創(chuàng)建光源和被光照射的物體。

1.0 我們讓光源和被照對象共用一個VBO,使用同一個VBO中立方體頂點坐標(biāo)進(jìn)行圖形繪制。把光源的VAO和被照對象的VAO分開設(shè)置。

1.1 創(chuàng)建兩個著色器程序,一個是被照對象的著色器一個是光源的著色器。其中頂點著色器源碼公用。光源的片段著色器源碼將光源顏色設(shè)置為白色(即RGBA值均為1.0)。被照對象的顏色設(shè)置為對象自身顏色乘以光照顏色。

1.2 激活被照對象著色器程序,并設(shè)置好被照對象的顏色和光照的顏色。計算10個被照對象的MVP矩陣。激活被照對象的VAO,繪制被照對象實體。

1.3 確定光源在世界坐標(biāo)系中的位置。激活光源著色器,設(shè)置好光源的MVP矩陣。綁定光源的VAO并繪制光源實體。

1.4 編譯運行程序可得光源(白色)和10個被照對象(珊瑚色)。

2 根據(jù)Phong模型進(jìn)行光照系統(tǒng)的模擬。

2.0 首先我們使用vertices數(shù)組傳入頂點坐標(biāo)的同時還要再傳入每個頂點坐標(biāo)的法向量。一個立方體有6個面,意味著頂點坐標(biāo)的法向量有6種,分別指向立方體局部坐標(biāo)系軸的6個方向。

2.1 將使用模型矩陣將頂點坐標(biāo)從局部坐標(biāo)系轉(zhuǎn)到世界坐標(biāo)系中供片段著色器使用。除了計算頂點之外,我們還需要使用法線矩陣將頂點法向量也轉(zhuǎn)到世界坐標(biāo)系中供片段著色器使用。

2.2 根據(jù)Phong模型的理論,我們將被照物體的光線信息拆分為三個部分:環(huán)境光(Ambient Lighting)、漫反射光(Diffuse Lighting)和鏡面光照(Specular Lighting)。光源的光會根據(jù)這三個途徑對物體產(chǎn)生相應(yīng)的作用。三種光照RGB向量之和再乘以被照物體本身的RGB顏色向量即為通過Phong得到的光照信息。

(1)環(huán)境光照方面,我們設(shè)置了一個環(huán)境光強度系數(shù)用其影響環(huán)境光的強度。

(2)漫反射光方面,主要是要計算光源距離片段坐標(biāo)的向量方向與片段自己的法向量之間的角度,角度越小,影響越大。

(3)鏡面光照方面,我們主要是要考慮光源通過物體表面產(chǎn)生的反射光與觀察者位置之間的關(guān)系,觀察方向與反射光線的夾角越小,說明反射的光線強度越大。

2.3 我們可以讓光源的位置有規(guī)律的移動起來。

2.4 激活光源著色器,傳入光源的相關(guān)信息,再綁定光源的VAO對象即可繪制光源。

2.5 激活被照對象著色器,將被照對象的相關(guān)信息傳入,綁定被照對象的VAO。再繪制每一個被照對象時,記得要把對象相應(yīng)的法線矩陣傳進(jìn)去。

2.6 編譯運行對象,可得到10個被照物體正對著光源,光源有規(guī)律的運動著。被照物體上的光線和顏色渲染會隨著光源的移動而產(chǎn)生變化。此效果模擬現(xiàn)實中的光照現(xiàn)象。

2.7 我們也可以把光源固定住,讓被照對象自己動起來。此時我們可以看到朝著光源的面更亮,背對光源的面更暗。


LearnOpenGL-P9 創(chuàng)建Phong模型基礎(chǔ)光照的評論 (共 條)

分享到微博請遵守國家法律
印江| 渝中区| 南城县| 米易县| 金山区| 鄂托克前旗| 康马县| 营山县| 宁陵县| 台北市| 泰来县| 辽阳县| 定西市| 靖宇县| 托克托县| 凤山市| 漾濞| 福泉市| 周口市| 丰城市| 南华县| 金寨县| 西充县| 嘉祥县| 巍山| 塔河县| 乐平市| 呈贡县| 上饶市| 十堰市| 洛南县| 木里| 应城市| 承德县| 威远县| 和顺县| 无为县| 嵊泗县| 延吉市| 尼勒克县| 永川市|