青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

羅朝輝(飄飄白云)

關(guān)注嵌入式操作系統(tǒng),移動(dòng)平臺(tái),圖形開(kāi)發(fā)。-->加微博 ^_^

  C++博客 :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
  85 隨筆 :: 0 文章 :: 169 評(píng)論 :: 0 Trackbacks

Per Pixel Lighting Techniques
         飄飄白云譯  2008-03-22

原文鏈接:http://www.nitrogen.za.org/viewtutorial.asp?id=5

這個(gè)教程用到了向量數(shù)學(xué)知識(shí),如果你對(duì)向量數(shù)學(xué)還不是很了解,請(qǐng)先閱讀向量教程:read the tutorial

光照與物體表面的相互作用可以通過(guò)將一些數(shù)學(xué)公式應(yīng)用于基于per pixel(區(qū)別于基于頂點(diǎn))的著色,從而模擬出真實(shí)生活中的各種材質(zhì)效果。比如浮雕效果,波浪效果,油漆效果等。

在這個(gè)教程中,我們有如下假定:

第一,我們討論的是基于像素著色(per-pixel basis),每個(gè)pixel有它自己的位置向量,法線向量以及表面顏色(Surface color,在這里可以是來(lái)自紋理的顏色,也可以是RGB顏色(flat color));

第二,表面顏色Surface color)通常是由R,G,B三部分組成,在這個(gè)教程中,我們把它當(dāng)作一個(gè)向量看待;

第三,輸入表面顏色(光照處理前的表面顏色,這里的“輸入”可以理解為函數(shù)的輸入?yún)?shù)的“輸入”)只是普通的顏色(單純的紋理顏色或者RGB顏色),而輸出表面顏色(光照處理后的表面顏色)是光照作用于表面的合成顏色,如可以是有陰影,高光等效果的顏色。

第四,這個(gè)教程中假設(shè)每個(gè)場(chǎng)景中只有一個(gè)燈光。對(duì)于多燈光的場(chǎng)合,對(duì)每一個(gè)燈光循環(huán)進(jìn)行這些運(yùn)算(環(huán)境光除外)。

 

好了,讓我們開(kāi)始講解各種光照的算法原理

 

Ambient Lighting 環(huán)境光

 

在真實(shí)生活里,有光線的房子里的物體不會(huì)是全黑的,總有一些光量子照亮物體表面,即使這個(gè)表面是背對(duì)光源的,這就是環(huán)境光的原因。我們不考慮環(huán)境光的照射方向,我們總認(rèn)為場(chǎng)景中的物體,不論它在什么位置,總會(huì)受到一定數(shù)量的環(huán)境光照射(全局照明)。環(huán)境光照算法如下:

 

Inputs:

       Col – 物體原表面顏色

        AmbAmount – 場(chǎng)景中環(huán)境光的強(qiáng)弱程度 (介于0 1之間)

     Outputs:

        SurfaceColor – 環(huán)境光照作用之后的表面顏色

        SurfaceColor = Col*AmbAmount;

 

環(huán)境光照效果圖:

 

Lambert Shading (郎伯特著色,郎伯特:物理上的亮度單位,在這里就是漫射光作用)

 

現(xiàn)在我們真正開(kāi)始考慮一束光照射在物體表面上的作用過(guò)程,我們使用最常見(jiàn)的光照算法-------漫反射光照著色或者說(shuō)郎伯特余弦定律或郎伯特著色(三個(gè)都一回事),這個(gè)算法是將入射光與表面法線向量的點(diǎn)積當(dāng)作漫反射光照強(qiáng)度因子,下面我們看看環(huán)境光照與漫射光照共同作用的算法:

 

Inputs:

        LCol – 照射在表面上的漫射光

        Pos – 表面上被照射的位置

        LPos – 漫射光源的位置

        N -表面上被照射的位置處的法向量

        Col –物體原表面顏色

        AmbAmount -場(chǎng)景中環(huán)境光的強(qiáng)弱程度 (0 to 1)

Outputs:

        SurfaceColor -環(huán)境光照與漫射光照共同作用之后的表面顏色

 

        VectorToLight = Normalise(LPos - Pos);

        DiffuseFactor = Dot(VectorToLight, Normal); //DiffuseFactor ranges from 0 to 1

//光線與表面法線夾角大于90度,想像下光線在表面背面射過(guò)來(lái),正表面肯定沒(méi)有光照

   if(DiffuseFactor < 0)

        then DiffuseFactor = 0;

 

        //環(huán)境光照與漫射光照共同作用

    SurfaceColor = Col*AmbAmount + Col*DiffuseFactor*LCol;

 

環(huán)境光與漫射光共同作用效果

 

Specular Highlights鏡面高光

現(xiàn)在我們考慮物體表面有光澤的效果,這種效果是將Phong反射模型,結(jié)合前面兩個(gè)光照作用而成。這中光照效果計(jì)算需要知道觀察者在場(chǎng)景中的位置,而先前的環(huán)境光照與漫射光照效果計(jì)算都與觀察者所在位置無(wú)關(guān)的。

這種光照計(jì)算是這樣的,首先我們計(jì)算入射光在表面處的反射光線,然后再將反射光線與視線(觀察者的眼睛與表面觀察點(diǎn)的連線)之間的點(diǎn)積值當(dāng)作反射到觀察者眼中的光照強(qiáng)度因子,因?yàn)楸砻嫔细吡恋牟糠质欠瓷涔饩€反射到觀察者眼睛或照相機(jī)中較多的地方,這些地方的反射光線與視線之間的夾角非常小,點(diǎn)積值就越大。

 

Inputs:

        ViewPos – 觀察者的位置

        SpecAmount – 鏡面光強(qiáng)弱. (from 0 to about 200)

        SpecCol – 鏡面光顏色(通常為白色).

 

        LCol – 照射在表面上的漫射光

        Pos – 表面上被照射的位置

        LPos – 漫射光源的位置

        N -表面上被照射的位置處的法向量

        Col –物體原表面顏色

        AmbAmount -場(chǎng)景中環(huán)境光的強(qiáng)弱程度 (0 to 1)

 

Outputs:

        SurfaceColor -環(huán)境光照,漫射光照與鏡面光共同作用之后的表面顏色

        

        DiffuseFactor = ... //經(jīng)前兩個(gè)光照作用得來(lái)的顏色

       

        DirectionToViewer = Normalise(ViewPos - Pos);

        VectorToLight = Normalise(LPos - Pos);

        //計(jì)算反射光

        ReflectanceRay = 2 * Dot(N, VectorToLight) * N - VectorToLight;

   

    //計(jì)算鏡面光照因子. 數(shù)學(xué)公式 SpecFac = (R dot N)^Spec

    SpecularFactor = Pow(Dot(ReflectanceRay, DirectionToViewer), SpecAmount);

   

        //環(huán)境光照,漫射光照與鏡面光共同作用

    SurfaceColor = Col*AmbFactor + Col*DiffuseFactor*LCol + SpecCol*SpecularFactor;

環(huán)境光照,漫射光照與鏡面光共同作用

 

Note:可以在一個(gè)場(chǎng)景中使用多個(gè)漫射光照與鏡面光作用

Fresnel Term 菲涅爾準(zhǔn)則

菲涅爾效果是根據(jù)觀察者的觀察表面來(lái)調(diào)整反射率來(lái)實(shí)現(xiàn)的。比如你從水面,油漆表面或者絲綢的正上方看,反射光澤的柔和效果基本沒(méi)有,如果側(cè)著或平著看的話,反射光澤的柔和效果就很明顯,這就是菲涅爾效果。我們簡(jiǎn)單地通過(guò)點(diǎn)積操作計(jì)算表明法線與視線之間夾角的余弦值,再將這個(gè)值加權(quán)。對(duì)于較平滑表面,加權(quán)系數(shù)設(shè)置在1.0-5.0之間(油漆效果,絲綢等),對(duì)于比較凹凸的表面,加權(quán)系數(shù)設(shè)置為8.0或更高(水波,液體等)

 

Inputs:

        ViewPos – 觀察者的位置

        FresAmount – 邊緣或表面的尖銳程度. (油漆絲綢:1,液體: 2-8)

        FresCol - frenel 反射光 (通常使用reflection map or 類似的東西).

 

        LCol – 照射在表面上的漫射光

        Pos – 表面上被照射的位置

        LPos – 漫射光源的位置

        N -表面上被照射的位置處的法向量

        Col –物體原表面顏色

        AmbAmount -場(chǎng)景中環(huán)境光的強(qiáng)弱程度 (0 to 1)

 

Outputs:

        SurfaceColor -環(huán)境光照,漫射光照與鏡面光,菲涅爾反射共同作用之后的表面顏色

        

        DiffuseFactor = ... //環(huán)境光照,漫射光照作用得來(lái)的顏色

        SpecularFactor = ... //鏡面高光作用得來(lái)的顏色

 

        DirectionToViewer = Normalise(ViewPos - Pos);

        //計(jì)算fresnel因子. 我們計(jì)算視線與表面法向量間夾角的余弦值([-1..1]之間),然后加一,移動(dòng)到區(qū)間[0..2],然后再加權(quán)。

        FresnelTerm = Pow(Dot(N, DirectionToViewer)+1, FresAmount);

   

        //確保因子的在正常范圍內(nèi)

        if (FresnelTerm > 1)

               then FresnelTerm = 1; 

    //無(wú)菲涅爾反射的場(chǎng)合: Ambient light, Diffuse Light and Specular Light

         NonReflective = Col*AmbFactor + Col*DiffuseFactor*LCol + SpecCol*SpecularFactor;

 

        Reflective = FresCol;

        //環(huán)境光照,漫射光照與鏡面光,菲涅爾反射共同作用

    SurfaceColor = NonReflective*(1-FresnelTerm) + Reflective*FresnelTerm;

 

               

漫射無(wú)菲涅爾反射時(shí)效果                    漫射有菲涅爾反射時(shí)效果

posted on 2008-03-30 15:58 羅朝輝 閱讀(2073) 評(píng)論(1)  編輯 收藏 引用 所屬分類: 計(jì)算機(jī)圖形學(xué)

評(píng)論

# re: 【譯】各種光照的算法原理 2008-05-19 10:58 smeagol
= Pow(Dot(N, DirectionToViewer)+1, FresAmount);
如果是正面那么N 和 DirectionToViewer不可能是負(fù) 那么FresnelTerm 老是大于2 所以最終老是1 這樣結(jié)果對(duì)嗎?
  回復(fù)  更多評(píng)論
  

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            欧美三级视频| 亚洲激情专区| 亚洲日本一区二区三区| 精品999在线播放| 国产一区视频在线观看免费| 亚洲视频一二区| 亚洲一区久久| 欧美一级片在线播放| 久久精品视频导航| 欧美激情视频网站| 国产精品久久久久影院色老大 | 亚洲精品黄色| 亚洲一区二区精品在线| 久久福利资源站| 免费观看在线综合色| 欧美吻胸吃奶大尺度电影| 国产无遮挡一区二区三区毛片日本| 国产深夜精品| 亚洲精品乱码久久久久久蜜桃91| 国产精品99久久久久久人| 久久av一区二区三区| 欧美国产第二页| 一本大道久久精品懂色aⅴ| 香蕉av777xxx色综合一区| 免费不卡在线观看| 国产欧美日韩视频一区二区| 亚洲国产精品精华液2区45| 亚洲影院色无极综合| 免费看黄裸体一级大秀欧美| 日韩一级黄色片| 久久久亚洲欧洲日产国码αv| 欧美日韩视频在线一区二区 | 欧美另类videos死尸| 国产精品一区二区你懂的| 亚洲国产天堂久久国产91| 欧美一区影院| 一本色道久久综合狠狠躁篇的优点| 欧美影院一区| 国产精品大片| 亚洲五月六月| 亚洲三级免费电影| 免费日韩视频| 国内揄拍国内精品少妇国语| 亚洲综合色网站| 亚洲人永久免费| 欧美 亚欧 日韩视频在线| 国产一区二区三区高清播放| 亚洲欧美日韩综合| 日韩亚洲欧美中文三级| 欧美精品在线极品| 亚洲精品一区在线观看香蕉| 欧美大胆成人| 久久综合伊人77777蜜臀| 狠狠色噜噜狠狠狠狠色吗综合| 欧美亚洲免费在线| 亚洲一区二区四区| 国产精品视频一二| 欧美一区二区三区免费视| 日韩亚洲欧美在线观看| 亚洲在线视频网站| 国产精品s色| 亚洲午夜精品久久| 亚洲美女中出| 欧美小视频在线| 亚洲一区视频在线观看视频| 99精品福利视频| 欧美午夜电影一区| 午夜久久tv| 午夜在线不卡| 禁久久精品乱码| 欧美第十八页| 欧美激情亚洲一区| 亚洲小视频在线观看| 亚洲视频在线一区观看| 国产日韩欧美一区二区三区在线观看| 欧美一级久久| 久久精品视频免费播放| 亚洲第一区在线| 亚洲人成小说网站色在线| 欧美日韩一区二区免费在线观看 | 一区二区三区欧美| 国产精品视频免费| 老色鬼精品视频在线观看播放| 久久综合伊人77777蜜臀| a91a精品视频在线观看| 亚洲午夜视频在线| 一区二区三区中文在线观看| 亚洲国产精品视频| 国产精品日韩精品| 欧美成年人视频| 国产精品va| 欧美激情在线免费观看| 国产精品高潮视频| 免费看亚洲片| 国产精品国产三级国产专区53 | 亚洲午夜高清视频| 黑人巨大精品欧美一区二区小视频| 欧美成人精品高清在线播放| 欧美三级乱码| 久久人人精品| 欧美午夜精品理论片a级大开眼界 欧美午夜精品理论片a级按摩 | 亚洲一二三级电影| 亚洲国产欧美在线| 亚洲视频在线观看免费| 在线观看精品| 午夜天堂精品久久久久| 一本色道婷婷久久欧美| 久久久久国产精品午夜一区| 亚洲欧美国产三级| 欧美国产在线电影| 裸体歌舞表演一区二区| 国产精品区一区二区三| 国产美女精品视频| 亚洲美女视频在线观看| 亚洲精品免费一区二区三区| 国产亚洲精品久| 一本一本久久a久久精品综合妖精 一本一本久久a久久精品综合麻豆 | 亚洲欧美日韩第一区| 蜜臀久久99精品久久久久久9| 亚洲欧美电影院| 欧美精品成人| 亚洲国产成人tv| 亚洲第一福利视频| 久久精品论坛| 久久天堂成人| 国产欧美日韩亚洲一区二区三区 | 亚洲一区二区黄| 亚洲天堂av在线免费| 欧美日本在线播放| 最新中文字幕亚洲| 日韩视频在线永久播放| 欧美a级一区| 亚洲高清激情| 91久久夜色精品国产网站| 久久婷婷国产麻豆91天堂| 久久久人成影片一区二区三区| 国产伦一区二区三区色一情| 亚洲一区3d动漫同人无遮挡| 欧美一级网站| 国产一级揄自揄精品视频| 欧美一区二区在线播放| 久久嫩草精品久久久久| 国产综合色一区二区三区| 久久精品国产99国产精品澳门| 久久先锋影音| 亚洲国内高清视频| 欧美精品日韩一区| 日韩视频―中文字幕| 亚洲欧美久久| 国产一区二区三区日韩欧美| 久久久久国产精品厨房| 亚洲国产精品成人| 亚洲一区久久久| 国产视频久久久久| 久久综合给合久久狠狠色| 亚洲人体一区| 久久gogo国模啪啪人体图| 一区二区视频免费在线观看| 欧美成人精品一区| 在线中文字幕一区| 久久久久久久一区| 亚洲精品看片| 国产日韩精品电影| 免费欧美在线视频| 亚洲亚洲精品在线观看| 麻豆精品精华液| 亚洲一区二区免费看| 国产亚洲欧美日韩美女| 欧美高清视频免费观看| 亚洲一区二区在线看| 欧美a级理论片| 亚洲免费在线精品一区| 亚洲第一精品夜夜躁人人躁| 国产精品二区影院| 免费高清在线视频一区·| 一区二区三区精品久久久| 久久夜色精品| 久久久精品欧美丰满| 99精品欧美一区二区三区综合在线 | 欧美高清视频在线播放| 一区二区三区日韩精品视频| 久久黄色网页| 日韩一级免费| 韩国成人福利片在线播放| 欧美日本韩国一区二区三区| 久久精品99国产精品日本 | 老司机午夜精品视频在线观看| 日韩午夜av电影| 欧美成人国产一区二区| 欧美一级在线播放| 一区二区三区视频在线| 在线日韩欧美视频| 国产农村妇女毛片精品久久麻豆| 欧美精品一区二区三区一线天视频| 久久黄色级2电影| 亚洲在线观看视频网站| 日韩视频在线一区二区| 亚洲人成小说网站色在线| 亚洲缚视频在线观看| 欧美国产成人在线|