




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第二節(Lecture6)
光照明模型及表面繪制算法
(Illumination&surfacerendering)10/5/20231第二節(Lecture6)
光照明模型及表面繪制算法
(本節內容一、光照明模型二、曲面繪制算法三、陰影生成10/5/20232本節內容一、光照明模型7/25/20232問題的提出已知:表面上一點的光亮度值計算公式:求表面繪制結果僅有光照模型是不夠的!或10/5/20233問題的提出已知:表面上一點的光亮度值計算公式:求表面繪制結果繪制方法對表面上不同點應用光照公式的過程稱為明暗處理(shading)過程,或稱為繪制或渲染(rendering)過程繪制方法局部光照模型的繪制GouraudShadingphongShading全局光照模型的繪制光線跟蹤(raytracing)方法輻射度方法(Radiositymethod)10/5/20234繪制方法對表面上不同點應用光照公式的過程稱為明暗處理(shaGouraud明暗處理原理:在表面點集的子集上使用光照明公式,計算該點的光亮度值;在其它點上的光亮度值可通過已計算點的光亮度值插值計算得到實現步驟:表面多邊形網格表示(常用三角網格)在網格頂點處應用光照模型計算其光亮度值對頂點光亮度值進行插值得到網格內部點的光亮度值10/5/20235Gouraud明暗處理原理:7/25/20235三角網格表示的表面頂點數18429,三角形36858頂點數26101,三角形5000010/5/20236三角網格表示的表面頂點數18429,三角形36858頂點數2網格頂點光亮度的計算關于頂點法向已知未知:定義為其相鄰面片的法向的平均值10/5/20237網格頂點光亮度的計算關于頂點法向7/25/20237網格內點光亮度的雙線性插值加速計算?假設光亮度值線性變化10/5/20238網格內點光亮度的雙線性插值加速計算?假設光亮度值線性變化7/續:更進一步,引入增量計算加速插值計算速度已知y掃描線上端點的亮度為I,則y-1掃描線上端點的亮度為:10/5/20239續:更進一步,引入增量計算加速插值計算速度已知y掃描線上端點優缺點分析光亮度的線性插值算法:優點克服了常數繪制模式帶來的亮度不連續問題缺點不能正確模擬高光效果產生馬赫帶(Machbands)效應光亮度變化不連續的邊界處呈現亮帶或黑帶10/5/202310優缺點分析光亮度的線性插值算法:7/25/202310Phong明暗處理思想:對表面上的每一點應用光照模型步驟:對離散的法向量采樣作雙線性插值,構造連續的法向量函數;將連續的法向插值函數代入光亮度計算公式,得到一個非線性的光亮度插值公式。10/5/202311Phong明暗處理思想:對表面上的每一點應用光照模型7/25圖示10/5/202312圖示7/25/202312加速shading技術當使用三角形表示物體表面時,可使用三角形插值加速計算。xy
p建立三角形仿射坐標系仿射坐標變換公式10/5/202313加速shading技術當使用三角形表示物體表面時,可使用三角續:則在仿射坐標下,光亮度雙線性插值公式可寫為:代入仿射坐標變換公式,得到:上式可容易地使用增量法進行計算10/5/202314續:則在仿射坐標下,光亮度雙線性插值公式可寫為:代入仿射坐標續:同樣可進行法向量的雙線性插值計算:10/5/202315續:同樣可進行法向量的雙線性插值計算:7/25/202315全局光照明模型的繪制算法光線跟蹤(Raytracing)輻射度方法(Radiositymethod)10/5/202316全局光照明模型的繪制算法光線跟蹤(Raytracing)7基本原理快速算法:基于層次包圍盒的快速光線跟蹤算法基于空間剖分的快速光線跟蹤算法光線跟蹤算法10/5/202317基本原理光線跟蹤算法7/25/202317Durer’s投射機(Raycastingmachine)AlbrechtDurer,16th世紀10/5/202318Durer’s投射機(RaycastingmachinDurer’sRaycastingmachine10/5/202319Durer’sRaycastingmachine7/2投射法步驟從眼睛向每一個像素構造射線對場景中的每一個對象找到與相應射線相交與眼睛最近的交點計算該交點的法線方向在該點應用光照明模型(如Phong)10/5/202320投射法步驟7/25/202320光線跟蹤的基本原理問題:1)如何尋找B,D:光線跟蹤2)如何計算IB,ID:遞歸過程3)受遮擋時的計算:陰影測試
眼睛
10/5/202321光線跟蹤的基本原理問題:1)如何尋找B,D:光線跟蹤眼睛光線跟蹤終止條件視線射出畫面,不再與場景中的景物相交被跟蹤的結點對屏幕象素顯示光亮度的貢獻小于一定閾值達到光線跟蹤的最大深度
眼睛
10/5/202322光線跟蹤終止條件眼睛7/25/202322算法描述1.由視點向屏幕上所有象素中心發射光線;2.每一根光線與場景中所有景物求交,找到最近的交點;3.計算該點處由光源直接照射產生的光亮度Il;4.若該點處表面為鏡面或透射面,則作遞歸光線跟蹤,計算周圍環境通過該點向觀察者方向投射的整體鏡面反射光亮度Ir和透射光亮度It;5.顯示每一象素處的光亮度10/5/202323算法描述1.由視點向屏幕上所有象素中心發射光線;2.每一根算法分析求交計算量占整個光線跟蹤計算量90%以上減少求交計算量的方法包圍盒方法空間剖分方法10/5/202324算法分析求交計算量占整個光線跟蹤計算量90%以上7/25/基于層次包圍盒的快速光線跟蹤算法包圍盒:以簡單的測試代替光線對包圍盒內所含景物的復雜求交運算目標:快速剔除不交的物體對包圍盒形狀的要求:包裹要緊密求交測試要簡便問題轉化為:包圍盒的構造光線與包圍盒求交10/5/202325基于層次包圍盒的快速光線跟蹤算法包圍盒:以簡單的測試代替光線思考題包圍盒的形狀選擇包圍球/包圍盒的求交測試頂點包含在多邊形內的測試層次包圍盒的構造原則。。。10/5/202326思考題包圍盒的形狀選擇7/25/202326基于空間剖分的快速光線跟蹤算法算法基本流程將空間劃分為網格,光線只與它所穿過的空間網格中所含景物進行求交利用空間網格的鄰接性質,引導光線從一個網格進入它將穿過的下一網格一旦發現光線與景物的第一個交點,即結束求交。10/5/202327基于空間剖分的快速光線跟蹤算法算法基本流程7/25/2023問題空間網格的劃分技巧?表示空間網格的數據結構如何構造?如何通過預處理過程加速顯示過程?。。。10/5/202328問題空間網格的劃分技巧?7/25/202328繪制實例10/5/202329繪制實例7/25/202329光線跟蹤算法的特點優點:真實感:考慮了環境中各物體之間的反射影響;實現了消隱:在光線跟蹤過程中自然實現了消隱;可實現陰影效果:從表面上一點向光源發射一條陰影探測線。如果該光線在到達光源之前與場景中的任意不透明面相交,則該點處于陰影中,反之不然。可并行實現:各條光線的處理過程可獨立進行。缺點:計算量非常大,顯示速度慢依賴視點,當視點改變時需要重新計算(如何改進?)10/5/202330光線跟蹤算法的特點優點:7/25/202330光能輻射度方法與視點無關的繪制方法!光能輻射度方法步驟輻射度方程的建立形狀因子的求解輻射度方程的求解畫面繪制光能輻射度方程逐步求精算法10/5/202331光能輻射度方法與視點無關的繪制方法!7/25/202331漫射場景的光能輻射度方程假定場景為一封閉的理想漫反射環境對于場景中任一面片j,Bj=Ej+ρjHj其中:為面片j單位面積上向四周輻射的輻射度為面片j自身向外均勻發射的光能為面片j的漫反射系數為面片j單位面積從周圍環境接受的總的光能
10/5/202332漫射場景的光能輻射度方程假定場景為一封閉的理想漫反射環計算:是周圍環境其它面片輻射度()的函數,面片i向四周輻射的總的光能為BiAi,其中一部分到達面片j,記為BiAiFij
到達面片j單位面積上的光能為BiAiFij/Aj,故10/5/202333計算:是周圍環境其它面片輻射度(Fij的計算
Fij稱為面片i對面片j的形狀因子,
現在考慮面元dAi對面元dAj的形狀因子,面元dAi向四周輻射的總的光能BidAi在無遮擋的情況下,面元dAi向面元dAj輻射的光能為10/5/202334Fij的計算Fij稱為面片i對面片j的形狀因子,由定義
對Aj積分得對Ai取平均,即10/5/202335由定義對Aj積分得對Ai取平均,即7/25/20233推論:1.
即故(標準輻射度方程)
2.
3.標準輻射度方程兩端同除以,得場景各面片的光亮度方程
10/5/202336推論:1.即故(標準輻射度方程)2.計算形狀因子的半立方體方法形狀因子計算公式的幾何解釋:dAj對單位半球面作中心投影,其投影區域為
該區域垂直投影到半球的底平面上,其投影面積為與底平面圓面積之比為,即。Ni
idSiSjSj
取Ai的中心點為球心,在Ai上方建立一單位半球面。10/5/202337計算形狀因子的半立方體方法dAj對單位半球面作中心投影,其引申:對任何在半球面上占據相同投影區域的面片Ak,面片Ai對它們具有相同的形狀因子,即
思路:尋找面片Ak,Ak的表面形狀,朝向較為規范,計算比較容易,從而將Fij的計算轉換為Fik的計算。
10/5/202338引申:對任何在半球面上占據相同投影區域的面片Ak,面片Ai對最規范的表面是圍繞Ai,位于Ai上方的半立方體,立方體頂平面與面片Ai的法向垂直。因此,只要將面片Aj投影到半立方體表面上,Ai對其投影面積的形狀因子即為Fij。將半立方體各表面離散為均勻網格,假定每一網格上各點的形狀因子不變。面片Ai對每一網格的形狀因子稱為半立方體表面的微形狀因子。面片Ai對Aj的形狀因子歸結為兩個問題。第一,確定Aj在半立方體表面上所占網格;第二,計算每一網格的微形狀因子。10/5/2023397/25/202339確定Aj在半立方體表面上的投影
取景變換和背面標志,將Aj變換到以Ai為中心的半立方體局部坐標系中。dSiQSjq對Aj作區域裁剪,以確定它投影到半立方體哪些表面上。 裁剪平面:z=x,z=-x,z=y,z=-y,x=y,x=-y。z-buffer消隱z-buffer中存儲各網格的可見面號,而不是其深度值,故又稱item-buffer。被遮擋的表面形狀因子為零。10/5/202340確定Aj在半立方體表面上的投影dSiQSjq對Aj作區域裁xtopxsidezx
y
AsidezsiderijdSiyside=1ytopztop=1rij
Atopqq計算每一網格的形狀因子對于位于半立方體頂面網格10/5/202341xtopxsidezxyAsidezsiderijdSi對于位于半立方體側面網格(以左側面為例)由于半立方體表面各網格與其中心的相對方位是固定的,故可預先將半立方體表面各網格的微形狀因子計算好,存儲在一查找表中備用。
xtopxsidezx
y
AsidezsiderijdSiyside=1ytopztop=1rij
Atopqq10/5/202342對于位于半立方體側面網格(以左側面為例)由于半立方體表面各輻射度方程的求解(1)由形狀因子組成的系數矩陣主對角占優,可迭代求解。可取各面片之Ei作為迭代初值,一般迭代6-8次即可收斂。(2)對紅、綠、藍三原色分別求解輻射度方程(Ej,ρj與光譜分布有關)。(3)采用插值與平均方法將各面片中心的輻射度轉換為各面片頂點處的輻射度。10/5/202343輻射度方程的求解7/25/202343輻射度方法流程輸入場景將各景物表面剖分為小平面片計算面片間的形狀因子求解輻射度方程畫面繪制改變視點或視線方向10/5/202344輻射度方法流程輸入場景將各景物表面剖分為小平面片計算面片間的選定視點和視線方向對場景中的景物作取景變換采用光線投射或掃描線算法,確定屏幕上每一象素中的可見面。采用雙線性插值方法,確定象素中心處表面采樣點的輻射度畫面顯示續:畫面繪制10/5/202345選定視點和視線方向對場景中的景物作取景變換續:畫面繪制7/2問題:該方法的重要步驟--計算形狀因子,確定系數矩陣,計算量存儲量均為O(N2),這個計算量占整個方法的90%,任何有用的結果和畫面顯示都必須在系數矩陣確定后才能生成,顯示速度慢!光能輻射度方法存在的問題10/5/202346問題:該方法的重要步驟--計算形狀因子,確定系數矩陣,計算量
光能輻射度逐步求精算法圖形學發展的兩根主線:追求畫面生成的真實感和實時性在追求真實感方面由線畫圖形->消隱圖形->連續色調光柵圖形由多邊形圖形->Gouraudshading->Phongshading由Lambert模型->Phong模型->整體光照模型由掃描線算法->光線跟蹤算法->光能輻射度方法在追求畫面實時生成方面硬件支持繪制處理景物細節簡化技術基于圖象的繪制逐步求精的畫面生成算法10/5/202347光能輻射度逐步求精算法7/25/202347逐步求精畫面的繪制算法的特點一開始就生成畫面,包含有用的視覺信息。畫面由粗糙逐步變得精細,真實感不斷增強。每一步的計算都利用了前面步驟的計算結果。10/5/202348逐步求精畫面的繪制算法的特點7/25/202348光能輻射度方程的迭代形式令則分析:上述方程表明,每一面片的輻射度增量應為其他面片向它入射的光能的線性組合,這一過程稱之為Gathering。每一步迭代的代價 在接受面片i上建立一個半立方體,計算n個形狀因子(所有Fij)。更新一個面片(i)的輻射度。10/5/202349光能輻射度方程的迭代形式令則分析:每一步迭代的代價7/25/
在方程右側的和式中,選擇對刷新貢獻最大的一項,取面片j作為輻射源,則(Dueto)=每一步迭代的效果在輻射源面片j上建立一個半立方體,計算n個形狀因子(所有Fji),場景中大部分面片的輻射度均有所更新。這一過程稱之為Shooting。改進10/5/202350 (Dueto)=每一步迭代的效果這逐步求精算法描述1)確定輻射源面片j2)在面片j上建立半立方體,計算面片j對所有其他面片的形狀因子Fji3)對在場景中的每一個面片i
/*每一面片所積聚的光能增加*/
/*每一面片的當前輻射度值,供顯示*/4)Bj=0/*面片j上所積聚的光能輻射完畢,清零*/對于每一次迭代10/5/202351逐步求精算法描述1)確定輻射源面片j2)在面片j上建立半立確定輻射源面片累計在各次迭代中,每一面片所積聚的光能取具有最大積聚光能的面片作為下一次迭代的輻射源第一次迭代初值:取ΔBi=Ei10/5/202352確定輻射源面片7/25/202352上述逐步迭代過程可能導致畫面上那些不受光源直接照射的面片在很長一段時間都是黑的。解決方法:設立泛光項,該泛光項具有以下性質:泛光項是為了增強最初畫面真實感的一個估計項和補充項僅依賴于場景中的基本景物幾何而無需計算各面片間精確的形狀因子隨著迭代的進行,各面片的輻射度逐漸接近正確值,泛光項應越來越小。因此泛光項應作為ΔBi的函數進行動態估計泛光項僅為顯示而設,不應影響各面片的ΔBi值泛光項的模擬10/5/202353上述逐步迭代過程可能導致畫面上那些不受光源直接照射的面片在很由于泛光項是各面片輻射的光能對環境的整體光亮度貢獻,取其中(注意=1)若考慮到環境與各個面片之間存在多重反射,令泛光項的估算10/5/202354其中(注意=1)若考慮實驗結果RMSError=
Shooting,SortingandAmbient
ShootingandSorting
ShootingOnly
GatheringOnly
10304060801000.00.51.0RMS10/5/202355實驗結果RMSError=Shooting,Sor繪制實例10/5/202356繪制實例7/25/202356小結局部光照模型的繪制算法Gouraud模型Phong模型全局光照明模型光線跟蹤算法輻射度方法10/5/202357小結局部光照模型的繪制算法7/25/202357陰影生成陰影:物體上沒有被光源直接照射到的區域作用:可反映物體間的相對位置關系,產生立體感及層次感,提高畫面的真實感;分類:本影:物體表面沒有被光源直接照射的部分;半影:物體表面被非全部光源直接照射的部分;軟影:本影及其周圍半影共同形成的區域注:在點光源的假設下,只須計算本影。10/5/202358陰影生成陰影:物體上沒有被光源7/25/202358線光源下的軟影10/5/202359線光源下的軟影7/25/202359本影的計算原理:若取光源為觀察點,則本影計算過程相當于消隱過程!算法的目的:加速計算過程影域多邊形方法曲面細節多邊形方法Z緩沖器方法光線跟蹤方法10/5/202360本影的計算原理:若取光源為觀察點,則本影計算過程相當于消隱過影域多邊形方法針對多邊形物體幾個概念影域(陰影體):當光源直接照射表面為不透明表面時,在該表面后所形成的三維陰影區域(shadowvolume)確定某點是否落在陰影中只須判別該點是否位于影域中即可影域多面體:視域四棱錐與三維影域空間的交影域多邊形:組成影域多面體的多邊形掃描平面:每一條掃描線在視域空間所對應的垂直于成像平面的水平面10/5/202361影域多邊形方法針對多邊形物體7/25/202361可見景物表面與影域多面體在掃描平面上的截交線當前掃描線平面與第i個影域多邊形的交線當前掃描線平面與景物多邊形的交線續:算法實現:將影域多邊形置入景物多邊形表中,位于同一影域多面體中的面均寫為陰影色。10/5/202362可見景物表面與影域多面體在掃描平面上的截交線當前掃描線平面與影域多邊形方法特點優點:只需對現有的掃描線消隱算法稍加修改缺點:依賴視線的選擇大量陰影多邊形的加入,使得場景的復雜程度大大提高,算法效率極低10/5/202363影域多邊形方法特點優點:只需對現有的掃描線消隱算法稍加修改7思考題如何解決影域多邊形方法的效率低下問題?10/5/202364思考題如何解決影域多邊形方法的效率低下問題?7/25/202曲面細節多邊形方法曲面細節多邊形的獲得:取光源為視線方向對景物進行消隱計算出相對光源可見的景物多邊形定義上述景物多邊形為曲面細節多邊形算法流程:建立曲面細節多邊形與其所在原始多邊形的對應關系對景物進行消隱計算(取視線方向),對于可見面:沒有覆蓋曲面細節多邊形則為陰影面覆蓋曲面細節多邊形則計算其光亮度10/5/202365曲面細節多邊形方法曲面細節多邊形的獲得:7/25/20236曲面細節多邊形方法特點優點:曲面細節多邊形保存了整個場景的陰影信息,可實現不同視線方向下對同一場景的繪制缺點:即使對于非可見的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 45457.2-2025重型燃氣輪機葉片無損檢測第2部分:視覺檢測
- 疫苗接種與群體免疫動力學考核試卷
- 管道工程社會責任報告與評估考核試卷
- 禮儀用品行業服務品質管理考核試卷
- 組織文化與員工參與度考核試卷
- 原動設備制造企業的戰略管理與規劃考核試卷
- 租賃設備的市場調研方法與技巧考核試卷
- 禮儀用品行業市場風險防范考核試卷
- 稀土金屬壓延加工的智能化制造趨勢分析考核試卷
- 天津農學院《發動機原理》2023-2024學年第二學期期末試卷
- 福建省龍巖市一級校2024-2025學年高二下學期4月期中聯考 數學試題(含答案)
- 2025年街道全面加強鄉村治理工作實施方案
- 湖北省武漢市2025屆高中畢業生四月調研考試英語試題(無答案)
- 護理不良事件報告及管理制度
- 小米供應鏈管理案例分析
- 黃岡市2025年春季九年級調研考試道德與法治試卷
- 2025至2030年中國集成電路(IC)制造產業全景調查及投資咨詢報告
- 2025“十五五”金融規劃研究白皮書
- 9.2法律保障生活(教案) -2024-2025學年統編版道德與法治七年級下冊
- 2025年鄉村全科執業助理醫師考試目的明確試題及答案
- 北京市海淀區2025屆高三一模思想政治試卷(含答案)
評論
0/150
提交評論