【XJTUSE计算机图形学】第四章 真实感图形学(2)——简单光照明模型
文章目錄
- 【XJTUSE計(jì)算機(jī)圖形學(xué)】第四章 真實(shí)感圖形學(xué)(2)——簡(jiǎn)單光照明模型
- 簡(jiǎn)單光照明模型
- 相關(guān)物理知識(shí)
- 光的傳播
- 光的度量
- Phong光照明模型
- 理想漫反射
- 鏡面反射光
- 環(huán)境光
- 增量式光照明模型
- Gouraud雙線性光強(qiáng)插值
- 頂點(diǎn)的計(jì)算
- 頂點(diǎn)平均光強(qiáng)計(jì)算
- 增量算法
- Phong雙線性法向插值
- 兩種模型的評(píng)價(jià)
- 陰影
- 相關(guān)術(shù)語
- Hard 陰影 vs Soft陰影
- 陰影分類
- 自身陰影
- 投影陰影
- 經(jīng)典的三種本影陰影方法
【XJTUSE計(jì)算機(jī)圖形學(xué)】第四章 真實(shí)感圖形學(xué)(2)——簡(jiǎn)單光照明模型
簡(jiǎn)單光照明模型
光源
發(fā)射光源:反射表面
通常在一個(gè)不透明且不發(fā)光的物體表面所觀察到的光線是其反射光,由光源與其他物體表面的反射光所共同產(chǎn)生。
光源向四周所輻射光的光譜分布
漫反射:投射在粗糙表面上的光向各個(gè)方向反射的現(xiàn)象。物體顏色實(shí)際上是入射光線被漫反射后所表現(xiàn)出來的顏色;
鏡面反射:一束平行光射到平面鏡上,反射光是平行的 。
空間的光亮度分布
圖形學(xué):光源通常朝空間各個(gè)方向發(fā)射的光強(qiáng)是相同的。
材質(zhì)
材質(zhì)的顏色是由它所反射的光的波長(zhǎng)決定;
如果光線被投射到一個(gè)不透明的物體表面,則部分光線被反射,部分被吸收:
物體表面的材質(zhì)類型決定了反射光的強(qiáng)弱;
表面光滑較亮的材質(zhì)將反射較多的入射光,比較暗的表面則吸收較多的入射光。
對(duì)于一個(gè)半透明的物體表面,部分入射光會(huì)被反射,部分則被折射。
光照射到物體表面,可能被吸收、反射和透射
被吸收的部分轉(zhuǎn)化為熱;
反射、透射光進(jìn)入人的視覺系統(tǒng)。
光照明模型:模擬物體表面的光照明物理現(xiàn)象的數(shù)學(xué)模型。
簡(jiǎn)單光照明模型
只考慮光源對(duì)物體的直接光照;
景物表面常被假定為不透明,且具有均勻反射率;
能表現(xiàn)由光源直接照射在漫射表面上形成的連續(xù)明暗色調(diào),鏡面上的高光以及由于景物互相遮擋而形成的陰影等。
只考慮反射,不考慮折射
發(fā)展歷程
1967年,Wylie等人第一次在顯示物體時(shí)加進(jìn)光照效果,并假設(shè)光強(qiáng)與距離成反比;
1970年,Bouknight提出第一個(gè)光反射模型:Lambert漫反射+環(huán)境光;
1971年,Gouraud提出漫反射模型加插值的思想;
1975年,Phong提出圖形學(xué)中第一個(gè)有影響的光照明模型。
相關(guān)物理知識(shí)
光的傳播
反射定律:入射角等于反射角,而且反射光線、入射光線與法向量在同一平面上。
折射定律:折射線在入射線與法線構(gòu)成的平面上,折射角與入射角滿足
η1η2=sinφsinθ\frac{\eta_1}{\eta_2}=\frac{sin \varphi}{sin \theta} η2?η1??=sinθsinφ?
能量關(guān)系:在光的反射和折射現(xiàn)象中,能量是守恒的,能量的分布情況滿足這樣的一個(gè)式子:
Ii=Id+Is+It+IvI_i =I_d+I_s+I_t+I_v Ii?=Id?+Is?+It?+Iv?
IiI_iIi?為入射光強(qiáng),由直接光源或間接光源引起;
IdI_dId?為漫反射光強(qiáng),由表面不光滑引起;
IsI_sIs?為鏡面反射光強(qiáng),由表面光滑性引起;
ItI_tIt?為透射光,由物體的透明性引起;
IvI_vIv?為被物體所吸收的光,由能量損耗引起
光的度量
立體角:面元ds向點(diǎn)光源P所張的立體角為:
dω=dsr2d \omega =\frac{ds}{r^2} dω=r2ds?
r為點(diǎn)光源到面元中心的垂直距離
點(diǎn)發(fā)光強(qiáng)度
光通量:單位時(shí)間內(nèi)通過面元ds的光能量,記為dF 。
發(fā)光強(qiáng)度:點(diǎn)光源的發(fā)光強(qiáng)度為某個(gè)方向上單位立體角的內(nèi)的光通量,即
各向同性的點(diǎn)光源,在各個(gè)方向上單位立體角內(nèi)通過的光通量相等,即在各個(gè)方向上發(fā)光強(qiáng)度相等;
設(shè)發(fā)光強(qiáng)度為*I,*則點(diǎn)光源向外輻射的整個(gè)光通量為整個(gè)球立體角內(nèi)的光通量,即
Phong光照明模型
光照到物體表面時(shí),物體對(duì)光會(huì)發(fā)生反射、透射、吸收、衍射、折射和干涉。
簡(jiǎn)單光照明模型模擬物體表面對(duì)光的反射作用
光源為點(diǎn)光源;
反射作用分為:鏡面反射和漫反射;
物體間作用用環(huán)境光(Ambient Light)表示;
典型:Phong光照明模型。
Phong模型中的幾何量示意圖
理想漫反射
理想漫反射:當(dāng)光源來自一個(gè)方向時(shí),由于物體表面粗糙不平,導(dǎo)致反射光均勻向各方向傳播,而與視點(diǎn)無關(guān)。
假設(shè)入射光強(qiáng)$I_p ,物體表面上點(diǎn)P的法向?yàn)镹,從點(diǎn)P指向光源的向量為L(zhǎng),兩者夾角為,物體表面上點(diǎn)P 的法向?yàn)镹,從點(diǎn)P 指向光源的向量為L(zhǎng),兩者夾角為,物體表面上點(diǎn)P的法向為N,從點(diǎn)P指向光源的向量為L,兩者夾角為\theta$ ,由Lambert余弦定律,漫反射光強(qiáng)為:
KdK_dKd?是與物體有關(guān)的漫反射系數(shù) 0<Kd<10<K_d<10<Kd?<1
當(dāng)L,N為單位向量時(shí),漫反射光強(qiáng)可表示為:
有多個(gè)光源時(shí),上式可進(jìn)一步表示為
反射光顏色:由入射光顏色和物體表面顏色共同決定;
在RGB顏色模型下, 有三個(gè)分量,分別代表三原色的漫反射系數(shù),通過調(diào)整它們來設(shè)定物體的顏色;
可以把入射光強(qiáng)I設(shè)為三個(gè)分量Ir,Ig,IbI_r,I_g,I_bIr?,Ig?,Ib?,通過這些分量的值來調(diào)整光源的顏色
鏡面反射光
理想鏡面:反射光集中在一個(gè)方向并遵循反射定律。
光滑表面:反射光集中在一個(gè)范圍內(nèi),且由反射定律決定的反射方向光強(qiáng)最大。對(duì)于同一點(diǎn),不同位置觀察到的鏡面反射光強(qiáng)不同。
鏡面反射光強(qiáng):
KsK_sKs?是與物體有關(guān)的鏡面反射系數(shù);
α\alphaα為視線方向V與反射方向R的夾角;
n為反射指數(shù),反映物體表面的光澤程度,一般為1至2000,數(shù)目越大物體表面越光滑;
若規(guī)范所有向量,則鏡面反射光強(qiáng)為:
其中
多個(gè)光源時(shí),鏡面反射光強(qiáng)為:
鏡面反射光將會(huì)在反射方向附近形成很亮的光斑,稱為高光現(xiàn)象;
鏡面反射光產(chǎn)生的高光區(qū)域只反映光源的顏色;
鏡面反射系數(shù) 是一個(gè)與物體的顏色無關(guān)的參數(shù);
只能通過改變物體的漫反射系數(shù)來控制物體的顏色。
環(huán)境光
環(huán)境光:光源間接對(duì)物體施加的明暗影響,是在物體和環(huán)境之間多次反射,最終達(dá)到平衡時(shí)的一種光
同一環(huán)境下的環(huán)境光光強(qiáng)均勻分布,即在任一方向上的分布相同;
在簡(jiǎn)單光照明模型中,近似表示為:
Ie=Ia.KaI_e=I_a.K_a Ie?=Ia?.Ka?
IaI_aIa? :為環(huán)境光的光強(qiáng);
KaK_aKa?:為物體對(duì)環(huán)境光的反射系數(shù)。
Phong光照明模型:由物體表面上一點(diǎn)P反射到視點(diǎn)的光強(qiáng)III為環(huán)境光的反射光強(qiáng)IeI_eIe?、理想漫反射光強(qiáng)IsI_sIs?和鏡面反射光IdI_dId?的總和
I=IaKa+IpKd(L.N)+IpKs(R.V)nI=I_aK_a+I_pK_d(L.N)+I_pK_s(R.V)^n I=Ia?Ka?+Ip?Kd?(L.N)+Ip?Ks?(R.V)n
KdK_dKd?是與物體有關(guān)的漫反射系數(shù) 0<Kd<10<K_d<10<Kd?<1
入射光強(qiáng)$I_p $
IaI_aIa? 為環(huán)境光的光強(qiáng);
物體表面上點(diǎn)P 的法向?yàn)?span id="vt6mr5x" class="katex--inline">NNN,從點(diǎn)P 指向光源的向量為LLL,兩者夾角為θ\thetaθ
Phong模型:對(duì)物體表面上的每個(gè)點(diǎn)P,均需計(jì)算光線的反射方向R,再由R計(jì)算(R?V)。假設(shè):
光源在無窮遠(yuǎn)處,即L為常向量;
視點(diǎn)在無窮遠(yuǎn)處,即V為常向量;
(H?N)近似(R?V) ,H為L(zhǎng)與V的平分向量:H=L+V∣L+V∣H=\frac{L+V}{|L+V|}H=∣L+V∣L+V?。
對(duì)所有的點(diǎn)總共只需計(jì)算一次H的值
結(jié)合RGB顏色模型,Phong光照明模型
Phong光照明模型:真實(shí)感圖形學(xué)中提出的第一個(gè)有影響的光照明模型,生成圖像的真實(shí)度已達(dá)到可以接受的程度。
由于是經(jīng)驗(yàn)?zāi)P?#xff0c;Phong模型存在不足:
顯示出的物體像塑料,無質(zhì)感變化;
環(huán)境光是常量,沒有考慮物體間相互反射光;
鏡面反射顏色是光源顏色,與材質(zhì)無關(guān);
鏡面反射的計(jì)算在入射角很大時(shí)會(huì)產(chǎn)生失真現(xiàn)象。
增量式光照明模型
由于光源和視點(diǎn)均被假定為無窮遠(yuǎn),Phong模型光強(qiáng)計(jì)算公式是物體表面法向量的函數(shù)。
用多邊形表示的物體
每個(gè)多邊形由于法向一致,多邊形內(nèi)部顏色相同;
不同法向的多邊形鄰接處光強(qiáng)突變且有馬赫帶效應(yīng)
1868年由奧地利物理學(xué)家 E.馬赫發(fā)現(xiàn)的一種明度對(duì)比現(xiàn)象:人們?cè)诿靼到唤缣幐械搅撂幐?#xff0c;暗處更暗的現(xiàn)象;
生理學(xué)的解釋:人類的視覺系統(tǒng)有增強(qiáng)邊緣對(duì)比度的機(jī)制
增量式光照明模型:
在每個(gè)多邊形頂點(diǎn)處計(jì)算光照明強(qiáng)度或參數(shù),然后在各個(gè)多邊形內(nèi)部進(jìn)行雙線性插值,得到多邊形光滑均勻顏色分布;
保證多邊形之間的顏色光滑過渡。
兩個(gè)主要算法(要會(huì)實(shí)質(zhì)和步驟)
雙線性法向插值:Phong明暗處理
雙線性光強(qiáng)插值:Gouraud明暗處理
Gouraud雙線性光強(qiáng)插值
Gouraud于1971年提出,又被稱為Gouraud明暗處理;
思想:計(jì)算多邊形各頂點(diǎn)的光強(qiáng),再用雙線性插值,求出多邊形內(nèi)部各點(diǎn)的光強(qiáng)
實(shí)質(zhì)是:雙線性光強(qiáng)插值
算法步驟的基本描述
1?? 計(jì)算多邊形頂點(diǎn)的平均法向;
2?? 用簡(jiǎn)單光照明模型計(jì)算頂點(diǎn)的平均光強(qiáng);
3?? 插值計(jì)算離散多邊形邊上的各點(diǎn)光強(qiáng);
4?? 插值計(jì)算多邊形內(nèi)域中各點(diǎn)的光強(qiáng)。
頂點(diǎn)的計(jì)算
與某個(gè)頂點(diǎn)相鄰的所有多邊形的法向平均值近似作為該頂點(diǎn)的近似法向量;
頂點(diǎn)A相鄰的多邊形有k個(gè),它的法向量計(jì)算為:
計(jì)算出的平均法向一般與該多邊形物體近似曲面的切平面比較接近。
頂點(diǎn)平均光強(qiáng)計(jì)算
用Phong光照明模型及平均法向量計(jì)算在頂點(diǎn)A處的光強(qiáng);
Gouraud提出明暗處理方法時(shí),還未出現(xiàn)Phong模型,采用:
r是光源到頂點(diǎn)的距離;
l是防止分母趨于0的變量
雙線性光強(qiáng)插值:線性插值與掃描線算法相互結(jié)合,用增量算法實(shí)現(xiàn)各點(diǎn)光強(qiáng)的計(jì)算
由頂點(diǎn)的光強(qiáng)插值計(jì)算各邊的光強(qiáng),然后由各邊的光強(qiáng)插值計(jì)算出多邊形內(nèi)部點(diǎn)的光強(qiáng):
增量算法
雙線性光強(qiáng)插值
計(jì)算速度比以往的簡(jiǎn)單光照明模型有了很大的提高,解決了相鄰多邊形之間的顏色突變問題,產(chǎn)生的真實(shí)感圖象顏色過渡均勻,圖形顯得非常光滑;
由于采用光強(qiáng)插值,鏡面反射效果不太理想,而且相鄰多邊形的邊界處的馬赫帶效應(yīng)不能完全消除。
Phong雙線性法向插值
實(shí)質(zhì)是雙線性法向插值,計(jì)算量比Gouraud大
以時(shí)間為代價(jià),可以部分解決上述的弊病;
將鏡面反射引進(jìn)到明暗處理中,解決了高光問題
Phong雙線性法向插值特點(diǎn)
保留雙線性插值,對(duì)多邊形邊上的點(diǎn)和內(nèi)域各點(diǎn),采用增量法;
對(duì)頂點(diǎn)的法向量進(jìn)行插值,而原頂點(diǎn)的法向量,仍用相鄰多邊形的法向作平均;
由插值得到法向,來計(jì)算多邊形每個(gè)象素的光強(qiáng)度;
假定光源與視點(diǎn)均在無窮遠(yuǎn)處,光強(qiáng)只是法向量的函數(shù)。
方法與光強(qiáng)插值類似,其中的光強(qiáng)項(xiàng)用法向量項(xiàng)來代替。基本公式:
增量插值計(jì)算也類似,用法向代替光強(qiáng)。
兩種模型的評(píng)價(jià)
兩類模型的特點(diǎn):
光強(qiáng)插值能有效的顯示漫反射曲面,計(jì)算量小;
法向插值可產(chǎn)生正確的高光區(qū)域,但計(jì)算量大。
增量式光照明模型的不足:
此模型得到的物體邊緣輪廓是折線段而非光滑曲線;
由于透視原因,等間距掃描線會(huì)產(chǎn)生不均勻效果;
插值結(jié)果決定于插值方向。
陰影
陰影
陰影是現(xiàn)實(shí)生活中一個(gè)很常見的光照現(xiàn)象;
在真實(shí)感圖形學(xué)中,通過陰影可以反映出景物之間的相對(duì)位置,增加圖形的立體效果和場(chǎng)景的層次感;
在建筑、航天飛行器設(shè)計(jì)的供熱、太陽能計(jì)算等領(lǐng)域均有重要的應(yīng)用
相關(guān)術(shù)語
接受物:可能接受光源照射的物體 。
本影:任意一點(diǎn)均無法觀察到光源任何部分。
半影:任意一點(diǎn)可觀察到部分光源。
陰影:即任意一點(diǎn)不能完全地觀察到整個(gè)光源。
遮擋物:可遮擋光源中任意一點(diǎn)的物體。
Hard 陰影 vs Soft陰影
Hard陰影:點(diǎn)光源照射下,陰影問題是個(gè)二值狀態(tài)
在計(jì)算機(jī)圖形學(xué)中,很容易生成點(diǎn)光源,并且有一些生成Hard陰影的實(shí)時(shí)算法;
Hard陰影真實(shí)感較差。
Soft陰影:幾乎不存在真正意義上的點(diǎn)光源
如太陽,其實(shí)也不是真正意義上的點(diǎn)光源,其所對(duì)應(yīng)的陰影也不屬于Hard陰影;
對(duì)于非點(diǎn)光源,計(jì)算本影和半影區(qū)域是非常復(fù)雜的過程。
陰影分類
自身陰影:光源被景物遮擋而在該景物本身;
投影陰影:在其后面產(chǎn)生的較暗的區(qū)域。
自身陰影
點(diǎn)光源下,生成產(chǎn)生具有自身陰影的步驟:
1?? 將視點(diǎn)移到光源位置,將景物的面分成向光面和背光面;
2?? 將視點(diǎn)移到原來的觀察位置,對(duì)景物的向光面和背光面進(jìn)行消隱,選用一種光照模型計(jì)算景物各面的亮度
3?? 如果面在陰影區(qū)域,那么該面的光強(qiáng)就只有環(huán)境光那一項(xiàng),其他的那幾項(xiàng)光強(qiáng)都為零,否則就用正常的模型計(jì)算光強(qiáng)。
陰影算法與消隱算法相似:
消隱算法是根據(jù)視點(diǎn)看過去確定哪些面是可見的(前向面)或是不可見的(后向面)
而陰影算法則要確定哪些面從光源位置看過去是亮的(向光面)或暗的(背光面)。
從原理上,自身陰影面的求取只要簡(jiǎn)單地對(duì)消隱算法作出一點(diǎn)改造:
消隱算法中根據(jù)視向確定的那些后向面就是陰影算法中根據(jù)光源方向確定的那些背光面(自身陰影面)。
投影陰影
投射陰影的區(qū)域和形態(tài)與光源及景物的形狀有很大的關(guān)系;
在光源的照射下,景物A在屏幕上產(chǎn)生了3個(gè)區(qū)域:本影區(qū)、半影區(qū)和無影區(qū)。
投射陰影區(qū)域:實(shí)際上是將光源作為觀察方向時(shí)景物在與光源反向的某一平面上的落影區(qū);
投射平面可以是場(chǎng)景中另一景物的表面或是一個(gè)非場(chǎng)景范疇的基面,如建筑物所在的地平面或屏幕等。
經(jīng)典的三種本影陰影方法
1?? 投影陰影;
2?? 陰影圖(Shadow Map)的方法;
3?? 陰影體(Shadow Volume)的方法。
總結(jié)
以上是生活随笔為你收集整理的【XJTUSE计算机图形学】第四章 真实感图形学(2)——简单光照明模型的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机图形学---简单光照明模型知识汇总
- 下一篇: TCP通信协议基本操作