• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            天行健 君子當(dāng)自強(qiáng)而不息

            3D圖形數(shù)學(xué)(5)

             

            光的衰減

            光隨距離衰減,所以遠(yuǎn)離光源的物體會(huì)變暗一些。現(xiàn)實(shí)世界里,光強(qiáng)度反比于物體和光源距離的平方。

            i1 / i2 = d22 / d12

            公式15.12    實(shí)際光線衰減反比于距離的平方

            此處i為光強(qiáng),d為距離。

            實(shí)踐中,公式15.12并不方便。我們常用另一個(gè)簡單的基于輻射衰減距離的模型替代,在輻射衰減距離之外,光線將完全衰減為0。通常,可在光線有效射程內(nèi)使用線性插值表現(xiàn)光隨距離d的衰減:

            如上,實(shí)際有兩個(gè)輻射衰減距離。在dmin內(nèi),光強(qiáng)不衰減;dmin至dmax,光強(qiáng)有1減至0;超出dmax,光強(qiáng)一律為0。dmin控制開始衰減的距離,常設(shè)為0,表示光一旦射出即開始衰減;dmax是真正的衰減距離,此距離之外,光完全失效。

            距離衰減也適用于點(diǎn)光源和聚光燈(平行光無衰減),聚光燈還多出一個(gè)Hotspot輻射衰減半徑,表示光亮在光錐邊上的衰減。一旦計(jì)算出衰減系數(shù)i,即可將它乘以鏡面反射分量和漫反射分量。記住環(huán)境光是不衰減的,這很顯然。

             

            光照方程----合成

            前面分別討論了光照方程的各分量,現(xiàn)在是把它們合成到一起的時(shí)候了:

            圖15.16顯示了當(dāng)光分量獨(dú)立存在時(shí),各分量的視覺效果:

            有幾點(diǎn)需要注意:耳朵和鼻子一樣亮,其實(shí)它本應(yīng)該在頭部的影子中。這是采用局部光照的結(jié)果,要計(jì)算陰影,必須考慮其他高級(jí)技術(shù),影子涉及全局光照。前兩幅圖中,因?yàn)闆]有環(huán)境光,頭背向光源的部分為全黑。若想照亮物體的背向部分,必須使用環(huán)境光,或者在場景中設(shè)置更多的光源,使得所有面都能被直接照亮。當(dāng)只有環(huán)境光時(shí),只能看出輪廓。光照是使物體呈現(xiàn)3D外觀的重要武器,為了避免這種卡通效果,我們可以使用足夠多的光源使場景中的所有表面都被直接照亮。

            當(dāng)有多個(gè)光源時(shí),光照方程如何工作?對所有光源求和即可。若Sj表示第j個(gè)光源,j從1...n,n是光源個(gè)數(shù),光照公式如下:

            當(dāng)然因?yàn)榄h(huán)境光只有一個(gè),所以不做求和。

             

            霧化

            現(xiàn)實(shí)中,光線被空氣中無數(shù)粒子反射與折射。如果單位體積內(nèi)粒子的濃度足夠,則它們是可見的,例如煙、灰塵、霧等。計(jì)算機(jī)圖形學(xué)中,上述現(xiàn)象都是通過霧化技術(shù)加以模擬的。想象我們正在注視遠(yuǎn)處的物體,眼睛與物體間的光線受到大量粒子的擾動(dòng)。一些原來直線傳播無法進(jìn)入眼睛的光線,被那些粒子反射而進(jìn)入眼睛,這就是我們"看到"空氣中粒子的原因。最后的視覺效果上,物體的顏色向霧的顏色偏移,粒子越多,偏移越大。

            霧濃度在[0, 1]間取值,控制霧化程度。濃度0表示無霧化,濃度1表示完全霧化,這時(shí)像素呈現(xiàn)霧的顏色,最終的顏色值由物體顏色和霧顏色線性插值求得。如何計(jì)算霧濃度?前面提到,大氣中粒子越多,霧化越顯著。然而,如何知道粒子數(shù)并轉(zhuǎn)化為霧濃度呢?幸運(yùn)的是,不必確切知道粒子數(shù),我們用另一個(gè)值模擬這個(gè)數(shù)。粒子數(shù)依賴兩個(gè)因素:場景中的全局武濃度和眼睛與物體間的距離。

            眼睛與物體間的距離容易得到。于是,剩下的就是根據(jù)這個(gè)距離由霧濃度求得像素顏色。如何定義霧的濃度和單位呢?我們不直接定義,而是用一個(gè)簡化系統(tǒng)。霧濃度由兩個(gè)距離dmin和dmax控制,像素和眼睛距離小于dmin時(shí)無霧化,隨著距離的增大,霧化逐漸加重,當(dāng)距離大于dmax時(shí)完全霧化。如公式15.15所示:

            有兩點(diǎn)注意事項(xiàng):

            (1)該公式假設(shè)霧是空間均勻的,但實(shí)際情況并不總是如此。例如,現(xiàn)實(shí)世界中,霧常在下方較濃,此模型不能表達(dá)這個(gè)現(xiàn)象。

            (2)距離的定義是可變的。當(dāng)然,可以用歐式距離,得到球狀霧效果,但需要做開方運(yùn)算。有一種簡化是以攝像機(jī)空間深度z為距離,從而得到線性霧。它的優(yōu)點(diǎn)是速度快,但有一個(gè)惱人的副作用,某一點(diǎn)霧濃度可能因攝像機(jī)朝向的不同而改變,現(xiàn)實(shí)世界中這是不可能的。

            一旦得到[0, 1]間的霧濃度,像素顏色就可以用如下線性插值公式計(jì)算:

            cfogged = clit + f(gfog - clit)

            其中:

            (1)clit為計(jì)算光照后的物體表面顏色

            (2)f為公式15.15得出的霧濃度

            (3)gfog為全局霧顏色

            (4)cfogged為最終效果

            為了在場景中得到霧化效果,必須向API說明霧的性質(zhì)。常需要下列三種信息:

            (1)霧化開關(guān),如果要得到霧化效果,必須打開。

            (2)霧的顏色,即上式的gfog

            (3)霧化距離,dmin和dmax。


            posted on 2008-03-07 10:55 lovedday 閱讀(1154) 評(píng)論(0)  編輯 收藏 引用


            只有注冊用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            公告

            導(dǎo)航

            統(tǒng)計(jì)

            常用鏈接

            隨筆分類(178)

            3D游戲編程相關(guān)鏈接

            搜索

            最新評(píng)論

            人妻中文久久久久| 久久人人爽人人人人爽AV| 国产精品久久久久久搜索| 久久96国产精品久久久| 一本一道久久精品综合| 一极黄色视频久久网站| 久久99国产综合精品免费| 久久夜色撩人精品国产| 国产A三级久久精品| 久久亚洲综合色一区二区三区| 热综合一本伊人久久精品| 亚洲人成伊人成综合网久久久 | 久久婷婷五月综合色高清| 女人香蕉久久**毛片精品| 欧美伊人久久大香线蕉综合 | 中文字幕成人精品久久不卡| 久久人人爽人爽人人爽av | 精品久久亚洲中文无码| 久久综合九色综合久99| 亚洲AV日韩AV天堂久久| 欧美粉嫩小泬久久久久久久 | 欧美丰满熟妇BBB久久久| 久久人搡人人玩人妻精品首页 | 亚洲AV无码久久精品蜜桃| 久久99国产一区二区三区| 99久久无码一区人妻a黑| 热99RE久久精品这里都是精品免费| 99久久婷婷国产一区二区| 人妻精品久久无码区| 亚洲一级Av无码毛片久久精品| 国产精品亚洲美女久久久| 久久精品国产亚洲麻豆| 99精品国产在热久久无毒不卡| 久久精品国产亚洲av麻豆蜜芽| 伊人久久大香线蕉综合5g| 久久久久久青草大香综合精品| 国产高清美女一级a毛片久久w| 国産精品久久久久久久| 国产女人aaa级久久久级| 国内精品久久久久久中文字幕| 精品久久久久一区二区三区|