版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第10章光照計(jì)算10.1實(shí)驗(yàn)內(nèi)容簡(jiǎn)述和實(shí)驗(yàn)?zāi)繕?biāo)10.2直接光照計(jì)算10.3明暗過(guò)渡計(jì)算10.4全局光照之光線跟蹤算法10.5課外拓展性實(shí)驗(yàn)
10.1實(shí)驗(yàn)內(nèi)容簡(jiǎn)述和實(shí)驗(yàn)?zāi)繕?biāo)
基本實(shí)驗(yàn)內(nèi)容包括:直接光照計(jì)算(環(huán)境光、漫反射光、鏡面反射光、Phong光照模型、Blinn-Phong光照模型)、明暗過(guò)渡計(jì)算(Flat明暗過(guò)渡、Gouraud明暗過(guò)渡、Phong明暗過(guò)渡)及全局光照之光線跟蹤算法(光線跟蹤中的求交計(jì)算、反射光線方向的計(jì)算、折射光線方向的計(jì)算)。
完成本實(shí)驗(yàn)后,讀者能夠:
(1)熟記顏色模型(布魯姆知識(shí)模型:記憶);
(2)熟記和描述環(huán)境光模型、漫反射模型和Phong模型的原理和公式(布魯姆知識(shí)模型:記憶和理解);
(3)熟記和描述環(huán)境光模型、漫反射模型和Phong模型的優(yōu)缺點(diǎn)以及適用范圍(布魯姆知識(shí)模型:記憶、理解、應(yīng)用);
(4)熟記、描述和使用Gouraud以及Phong明暗過(guò)渡(布魯姆知識(shí)模型:記憶、理解和應(yīng)用);
(5)找到模型網(wǎng)格面明暗過(guò)渡和高光效果存在的問(wèn)題,并提出改進(jìn)策略(布魯姆知識(shí)模型:應(yīng)用、分析);
(6)結(jié)合OpenGL能實(shí)現(xiàn)環(huán)境光模型、漫反射模型、Phong模型、Gouraud明暗過(guò)渡以及Phong明暗過(guò)渡(布魯姆知識(shí)模型:應(yīng)用)。
10.2直接光照計(jì)算
10.2.1環(huán)境光環(huán)境光是指光源所產(chǎn)生的光在環(huán)境中經(jīng)過(guò)多次反射,最終達(dá)到平衡時(shí)分布在環(huán)境中的一種光??山普J(rèn)為同一環(huán)境下的環(huán)境光,其光強(qiáng)分布是均勻的,計(jì)算公式如下:
(10.1)其中:Ia表示環(huán)境光的能量值;Ka表示物體表面對(duì)環(huán)境光的反射系數(shù)。
1.關(guān)鍵代碼實(shí)現(xiàn)
代碼如下:
2.案例效果
根據(jù)式(10.1)給加載的OBJ模型設(shè)置了環(huán)境光反射系數(shù),并給場(chǎng)景設(shè)置了環(huán)境光,效果如圖10-1所示。
圖10-1環(huán)境光效果圖
10.2.2漫反射光
當(dāng)光線照射到比較粗糙的物體表面時(shí),會(huì)形成漫反射。漫反射光的能量值近似服從Lambert定律,其計(jì)算公式如下:
(10.2)
其中:Ip表示入射光的能量值;Kd表示物體的表面漫反射率;L表示光源向量;N表示物體光照點(diǎn)處的法向量;L·N表示兩向量的夾角(入射角)余弦值。
定義light_rgb_diffuse_specular數(shù)組保存入射光的能量值;定義material_diffuse_rgb_reflection數(shù)組保存物體表面的漫反射系數(shù);定義costheta保存L·N的值。
1.關(guān)鍵代碼實(shí)現(xiàn)
2.案例效果
根據(jù)式(10.2)給OBJ模型設(shè)置漫反射系數(shù),并給場(chǎng)景設(shè)置了點(diǎn)光源,最終效果如圖10-2所示。
圖10-2漫反射效果圖
10.2.3鏡面反射光
光照射到相對(duì)光滑的物體表面往往會(huì)產(chǎn)生鏡面反射,其特點(diǎn)是在光滑表面會(huì)產(chǎn)生高光區(qū)域,經(jīng)驗(yàn)?zāi)P捅磉_(dá)式如下:
(10.3)
其中:Ip表示入射光的能量值;Ks表示物體表面高光反射系數(shù);R表示反射光向量;V表示視線方向的逆向量(表示光線從物體表面光照點(diǎn)進(jìn)入眼睛的方向);n表示高光指數(shù),反映物體表面的光滑程度。
與10.2.2小節(jié)的漫反射光類(lèi)似,這里依舊使用數(shù)組light_rgb_diffuse_specular來(lái)保存入射光的能量值;定義material_specular_rgb_reflection數(shù)組來(lái)保存物體表面高光反射系數(shù);定義cosalpha來(lái)保存R·V的值。
1.關(guān)鍵代碼實(shí)現(xiàn)
2.案例效果
根據(jù)式(10.3)給OBJ模型設(shè)置鏡面反射系數(shù),并給場(chǎng)景設(shè)置了點(diǎn)光源,最終效果如圖10-3所示。
圖10-3鏡面反射效果圖
10.2.4
Phong光照模型
在單一光源照射下,Phong光照模型為環(huán)境光、漫反射光和鏡面反射光之和,其表達(dá)式如下:
(10.4)
其中各參數(shù)的含義同前,此處不再贅述。
1.關(guān)鍵代碼實(shí)現(xiàn)
2.案例效果
給場(chǎng)景設(shè)置點(diǎn)光源,并使用式(10.4)給添加了環(huán)境光反射系數(shù)、漫射系數(shù)和鏡面光反射系數(shù)的OBJ模型計(jì)算直接光照,最終效果如圖10-4所示。
圖10-4
Phong光照模型效果圖
10.2.5
Blinn-Phong光照模型
根據(jù)式(10.4)可知,Phong光照模型計(jì)算鏡面光時(shí),當(dāng)R和V的夾角超過(guò)90°時(shí),它們的余弦值變?yōu)樾∮?,這和自然現(xiàn)象不符合。針對(duì)該問(wèn)題,本實(shí)驗(yàn)引入了如式(10.5)所示的Blinn-Phong光照模型。
(10.5)
式(10.5)在Phong光照模型的基礎(chǔ)上引入了向量H,即V和L的中間向量,以避免高光部分出現(xiàn)負(fù)值。
1.關(guān)鍵代碼實(shí)現(xiàn)
2.案例效果
給場(chǎng)景設(shè)置點(diǎn)光源,并使用式(10.5)給添加了環(huán)境光反射系數(shù)、漫射系數(shù)和鏡面光反射系數(shù)的OBJ模型計(jì)算直接光照,最終效果如圖10-5所示。
圖10-5
Blinn-Phong光照模型效果圖
10.3.1
Flat明暗過(guò)渡
Flat明暗過(guò)渡是一種簡(jiǎn)單的能量插值過(guò)渡方式,即用一種亮度的顏色作為整個(gè)(網(wǎng)格)面的顏色。本實(shí)驗(yàn)以頂點(diǎn)為基本單位,先利用光照模型計(jì)算出面頂點(diǎn)的能量(顏色),然后取這個(gè)面頂點(diǎn)能量的平均值作為該面囊括的所有點(diǎn)的能量。對(duì)于面內(nèi)點(diǎn)坐標(biāo)計(jì)算,采用雙線性插值的方式實(shí)現(xiàn)。
10.3明暗過(guò)渡計(jì)算
1.關(guān)鍵代碼實(shí)現(xiàn)
為了實(shí)現(xiàn)對(duì)邊的插值點(diǎn)計(jì)算,此處取p1、p2、p3表示三角形網(wǎng)格面的三個(gè)頂點(diǎn);rate是控制插值密度的變量,當(dāng)t取遍[0,1]時(shí),即實(shí)現(xiàn)對(duì)邊的離散采樣。
2.案例效果
根據(jù)上述插值方式,使用Flat明暗過(guò)渡給OBJ模型加上直接光照,最終效果如圖10-6所示。
圖10-6
Flat明暗過(guò)渡效果圖
10.3.2
Gouraud明暗過(guò)渡
Gouraud明暗過(guò)渡,通過(guò)對(duì)模型網(wǎng)格面上頂點(diǎn)的能量進(jìn)行雙線性插值實(shí)現(xiàn)模型表面顏色的明暗過(guò)渡,具體過(guò)程如下:
(1)對(duì)于網(wǎng)格面頂點(diǎn),通過(guò)讀取OBJ模型的信息來(lái)獲得頂點(diǎn)的法向信息。
(2)利用光照模型,計(jì)算該點(diǎn)的光照能量(顏色)。
(3)利用雙線性插值,插值網(wǎng)格面內(nèi)部點(diǎn)的坐標(biāo)和能量。
1.關(guān)鍵代碼實(shí)現(xiàn)
2.案例效果
根據(jù)上述插值方式,使用Gouraud明暗過(guò)渡給OBJ模型加上直接光照,最終效果如圖10-7所示。
圖10-7
Gouraud明暗過(guò)渡效果圖
10.3.3
Phong明暗過(guò)渡
Phong明暗過(guò)渡,通過(guò)對(duì)模型網(wǎng)格面上點(diǎn)的法向量進(jìn)行雙線性插值實(shí)現(xiàn)模型表面顏色的明暗過(guò)渡,具體過(guò)程如下:
(1)通過(guò)讀取OBJ模型的信息來(lái)獲得網(wǎng)格面頂點(diǎn)及其法向信息。
(2)利用雙線性插值,插值網(wǎng)格面的所有邊以及內(nèi)部點(diǎn)的坐標(biāo)和法向。
(3)采用光照模型,直接計(jì)算上述所有點(diǎn)的光照能量(顏色)。
1.關(guān)鍵代碼實(shí)現(xiàn)
2.案例效果
根據(jù)上述插值方式,使用Phong明暗過(guò)渡給OBJ模型加上直接光照,最終效果如圖10-8所示。
圖10-8
Phong明暗過(guò)渡效果圖
10.4全局光照之光線跟蹤算法
在如圖10-9所示的場(chǎng)景中,有一個(gè)視點(diǎn),兩個(gè)物體O1與O2。首先,從視點(diǎn)出發(fā)經(jīng)過(guò)投影平面上一點(diǎn)的視線,傳播到達(dá)球體O1,交點(diǎn)為P1。利用直接光照模型如式(10.4)可以得到P1點(diǎn)處的光照能量。在P1點(diǎn),這條光線產(chǎn)生了反射光線R1和折射光線T1。
圖10-9光線跟蹤過(guò)程示意圖
考慮到效率上的需要,一條光線(包括折射光線和反射光線)可以有以下幾種終止條件:
(1)該光線未碰到任何物體,即該光線碰到了背景。
(2)光線在經(jīng)過(guò)多次反射和折射后,衰減超過(guò)閾值。
(3)光線反射或者折射次數(shù),即跟蹤深度,超過(guò)閾值。
1.關(guān)鍵代碼實(shí)現(xiàn)
2.案例效果
使用Blinn-Phong光照模型對(duì)OBJ模型進(jìn)行直接光照計(jì)算,最終效果如圖10-10所示;加上光線跟蹤后,生成的最終渲染效果如圖10-11所示。
圖10-10
Blinn-Phong光照模型效果圖
圖10-11光線跟蹤效果圖
10.4.1光線跟蹤中的求交計(jì)算
由于每一條光線都需要與場(chǎng)景中的所有模型進(jìn)行求交,并找到離投影面最近的一個(gè)交點(diǎn),因此,求交計(jì)算是影響光線跟蹤效率的關(guān)鍵部分。本實(shí)驗(yàn)使用參數(shù)方程來(lái)表示每條光線,并采用優(yōu)化的線面求交方法來(lái)加速上述過(guò)程。
10.4.2反射光線方向的計(jì)算
當(dāng)光線擊中物體表面的一點(diǎn)時(shí),如果物體表面存在反射系數(shù),則需要模擬反射光線,對(duì)該光線實(shí)施跟蹤。根據(jù)相關(guān)文獻(xiàn)可知,反射光線方向=入射光向量–2×交點(diǎn)法向×(入射光向量與交點(diǎn)法向的點(diǎn)乘)。
10.4.3折射光線方向的計(jì)算
當(dāng)光線擊中物體表面的一點(diǎn)時(shí),如果物體表面存在折射系數(shù),則需要模擬折射光線,對(duì)該光線實(shí)施跟蹤。根據(jù)相關(guān)文獻(xiàn)可知,折射光線方向Refr_Dir由如下公式計(jì)算獲得:
(10.6)
其中:L為入射光向量;N為交點(diǎn)法向;ηi和ηt分別表示光線所離開(kāi)的物體反射率和所進(jìn)入的物體反射率。
10.5課外拓展性實(shí)驗(yàn)
任務(wù)1:在△ABC中,A、B、C三點(diǎn)的坐標(biāo)分別為
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 建筑施工現(xiàn)場(chǎng)安全管理制度
- 機(jī)關(guān)單位保密工作管理及責(zé)任追究制度
- 2026年福建莆田市霞林學(xué)校初中部教師招聘?jìng)淇碱}庫(kù)及答案詳解1套
- 2026山東濱州市市屬事業(yè)單位招聘?jìng)淇碱}庫(kù)及答案詳解參考
- 2026年臺(tái)州臨海市教育系統(tǒng)面向普通高校畢業(yè)生公開(kāi)招聘教師2人備考題庫(kù)及一套參考答案詳解
- 2026廣西南寧市智興路幼兒園招聘?jìng)淇碱}庫(kù)參考答案詳解
- 2026春季云南昭通職業(yè)學(xué)院招募銀齡教師支持職業(yè)教育13人備考題庫(kù)參考答案詳解
- 2026廣西賀州市鐘山縣鐘山鎮(zhèn)中心小學(xué)招聘聘任制教師3人備考題庫(kù)及一套答案詳解
- 2026四川雅安滎經(jīng)縣發(fā)布公益性崗位安置計(jì)劃的3人備考題庫(kù)及參考答案詳解一套
- 2025重慶八中樹(shù)人中學(xué)教共體教師招聘?jìng)淇碱}庫(kù)及答案詳解參考
- 高校區(qū)域技術(shù)轉(zhuǎn)移轉(zhuǎn)化中心(福建)光電顯示、海洋氫能分中心主任招聘2人備考題庫(kù)及答案詳解(考點(diǎn)梳理)
- 航空安保審計(jì)培訓(xùn)課件
- 2026四川成都錦江投資發(fā)展集團(tuán)有限責(zé)任公司招聘18人備考題庫(kù)有答案詳解
- 高層建筑滅火器配置專(zhuān)項(xiàng)施工方案
- 2023-2024學(xué)年廣東深圳紅嶺中學(xué)高二(上)學(xué)段一數(shù)學(xué)試題含答案
- 2025年全國(guó)職業(yè)院校技能大賽中職組(母嬰照護(hù)賽項(xiàng))考試題庫(kù)(含答案)
- 2026江蘇鹽城市阜寧縣科技成果轉(zhuǎn)化服務(wù)中心選調(diào)10人考試參考題庫(kù)及答案解析
- 托管機(jī)構(gòu)客戶(hù)投訴處理流程規(guī)范
- 2026年及未來(lái)5年中國(guó)建筑用腳手架行業(yè)發(fā)展?jié)摿Ψ治黾巴顿Y方向研究報(bào)告
- 銀行客戶(hù)信息安全課件
- (2025)70周歲以上老年人換長(zhǎng)久駕照三力測(cè)試題庫(kù)(附答案)
評(píng)論
0/150
提交評(píng)論