• <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>

            天行健 君子當自強而不息

            3D圖形數學(4)

             

            鏡面反射分量

            標準光照方程的鏡面反射分量指由光源直接經物體表面反射入眼睛的光線,如圖 15.10:

            n為表面法向量

            v指向觀察者

            l指向光源,對方向光源,l為定值

            r為鏡像向量,即ln鏡像之結果

            θ為rv的夾角,由r.v給出,描述鏡像的方向性。

            鏡面反射使物體看上去有光澤,粗糙表面因反射率不高,所以缺乏此類效果。鏡面反射的強度取決于物體、光源和觀察者。

            所有向量均為單位向量,如圖15.11所示,r由2(n.l)n - l給出。

            下列等式給出鏡面反射的Phong模型:

            mgls為材料的光澤度,也稱作Phong指數,它控制亮斑的范圍,小的mgls帶來大而平滑的光斑,大的mgls帶來小而亮的光斑。完全的反射面,如玻璃,有非常大的mgls----只有反射光進入眼睛,不完全光反射面,如蘋果的表面,有較大的亮斑。

            另一個有關亮度的值為mspec,即材料的反射顏色,對整個材料來說一般是一個不變的灰度值。mgls控制光斑的大小,mspec控制光斑的強度。強反射面有大的mspec值,粗糙些的表面則有較小的mspec值。如果你愿意,可用一個光澤圖控制物體的反射,如同紋理控制物體顏色一樣。

            sspec是光源的鏡面反射顏色,控制光本身的色彩與強度。對于方形聚光燈,此值可能來自投影光照面。sspec常等于光的漫反射顏色sdiff

            圖15.12顯示了mglsmspec如何影響物體的鏡面反射。圖中,mspec從最左列到最右列由黑至白變化,而指數mgls在上方第一行最大,向下遞減。注意到,最左面一列的頭像看上去一樣,因為鏡面反射強度為0,對光照沒有任何貢獻。

            如果觀察者離物體的距離遠大于物體的尺寸,可以僅計算v一次,然后認為它對整個物體是一個常量,同樣道理對光源和l也適用。(其實對平行光源,l本身就是固定的。)但由于n是變化的,仍需計算r----這是一個應該盡量避免的計算。Blinn模型通過計算一個稍微不同的角度來避免這個計算。如圖15.13所示:

            Blinn模型使用h,表示vl的中間量,由標準化vl的平均值求得:

            h = (v + l) / ||v + l||

            公式15.9   Blinn模型中間向量h的計算

            Blinn模型和Phong模型一樣,只不過θ表示nh的夾角:

            此方程便于硬件的實現,特別是當光源與觀察者均遠離物體時,此時h被視為常數僅需計算一次。我們忽略的一個細節是有時cosθ小于0,此時簡單地令鏡面反射為0即可。

             

            漫反射分量

            與鏡面反射類似,漫反射分量也刻畫直接照射物體的光線。漫反射反映的是散開的隨機方向上的反射,這是由物體表面的粗糙引起的,相反鏡面反射則反映良好的反射。圖15.14比較了良好反射表面和粗糙表面。

            漫反射不依賴于視點位置,因為它本身就是隨機,光源與物體的相對位置反而顯得更重要。例如:若假定光線射入眼睛的幾率一定,則由于垂直于光線的面在單位面積受光多于一個斜射的面,因為入射眼睛的光線更多,如圖15.15所示:

            注意上述兩種情況中,光線間的垂直距離都相等。(由于錯覺,右邊的也許顯得遠些,但量一下,你就發覺實際情況了。)然而,注意右面的圖,其命中目標時分得更開些,那么單位面積接受的光線將少些。從圖上的示點線可看出左邊受光9個單位,而右邊只有6個單位,盡管二者面積一樣。這正是赤道氣候比兩極暖和的原因,因為地球是圓的,太陽光在赤道有較直接的照射。

            漫反射光服從Lambert法則:反射光強正比于法向量與光線夾角的余弦,用點乘計算余弦,如下:

            n為表面法向量,l為指向光源的單位向量,mdiff為材料的散射色,即多數人認同的材料顏色。材質多來自紋理圖,sdiff為光源散射色,一般和光源鏡面色sspec一致。與鏡面反射類似,這里也要防止點積出現負值,免得物體從背后透光。

             

            環境光分量

            鏡面反射和漫反射都是刻畫光源經物體反射后進入眼中的光線,但現實世界中,光線也經常在經歷多于一次的反射后進入眼睛。好比你在黑暗的廚房打開冰箱,整個房間都會變得亮些,盡管箱門(或你的身體)擋住了大部分直線光。

            描述這類反射,我們可用環境光,環境光取決于材質和全局環境光,此時沒有涉及任何光源。下面的公式計算環境光:

            mamb為材質的環境光分量,它總是等于漫反射分量----由紋理圖定義,gamb為整個場景的環境光值。


            posted on 2008-03-07 09:55 lovedday 閱讀(1023) 評論(1)  編輯 收藏 引用

            評論

            # re: 3D圖形數學(4) 2008-11-30 22:26 JHWAA

            你好,我是其他編程語言的,關于3D的算法在這里看了很多遍,說的很有價值,但是在學習中對一些運算符號還是不能理解,例如:圓里帶X的符號是相乘的意思嗎?
            Blinn公式里也是霧水,它的意思是否是:COSa乘S乘M????Mgts是
            COSa的幾次方嗎? 請教一下,可以幫助做一些結實嗎?謝謝,不勝感激

              回復  更多評論   

            公告

            導航

            統計

            常用鏈接

            隨筆分類(178)

            3D游戲編程相關鏈接

            搜索

            最新評論

            四虎国产精品成人免费久久| 久久国产精品波多野结衣AV| 国产成人无码精品久久久性色| 亚洲国产日韩综合久久精品| 久久香综合精品久久伊人| 亚洲中文字幕久久精品无码喷水 | 人人狠狠综合久久88成人| 无码精品久久久久久人妻中字| 久久久久久久人妻无码中文字幕爆| 久久精品亚洲中文字幕无码麻豆| 成人午夜精品久久久久久久小说 | 国产精品久久久久影院色| 久久精品成人欧美大片| 五月丁香综合激情六月久久| 51久久夜色精品国产| 色婷婷综合久久久久中文| 国产精品va久久久久久久| 亚洲国产另类久久久精品| 久久精品国产精品亚洲艾草网美妙| 亚洲精品无码成人片久久| 亚洲精品无码久久久久AV麻豆| 国产精品99久久久久久人| 无码日韩人妻精品久久蜜桃| 久久亚洲视频| 久久亚洲国产精品123区| 欧美日韩中文字幕久久伊人| 91精品国产91久久久久福利| 97久久婷婷五月综合色d啪蜜芽| 久久久久香蕉视频| 伊人久久大香线焦综合四虎| 成人久久久观看免费毛片| 亚洲精品白浆高清久久久久久| 亚洲国产精品一区二区三区久久| 亚洲欧美精品伊人久久| 国产精品美女久久久久网| 久久99热只有频精品8| 久久婷婷五月综合色高清| 久久亚洲私人国产精品vA| 色欲综合久久中文字幕网| 亚洲精品乱码久久久久久蜜桃不卡| 99久久免费国产精品特黄|