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

            Heath's Blog

            There is no end, it is just the beginning! - A Game Developer's Notes

            描邊

                發現物體輪廓的一個簡單方法就是使用N·V,其中N為法向量,V為頂點到眼睛(即攝像機)的向量。N·V度量了相對于當前視點表面的可見程度,當N·V是正值時一個點是可見的,而當N·V為負的時候這個點被隱藏。N·V接近0的點代表了從可見到隱藏的轉變——這些點就是在或者接近物體的輪廓上的點,通過對一個1D紋理采樣(簡單情況下,只有黑白兩個像素寬度,一個像素高度),可以得到類似于階梯函數的效果,shader代碼片段如下:

             float edge = max(dot(N , V) , 0);
             edge = tex1D(edgeSampler , edge);
             color = edge*color

                可以通過1D紋理的寬度來控制描邊的粗細,如下圖所示:


                通過if-else的形式給出過濾閥值也許更簡單,但效果卻沒有紋理采樣好。

            posted on 2008-10-11 15:45 Heath 閱讀(2102) 評論(4)  編輯 收藏 引用 所屬分類: Graphics Programming

            Feedback

            # re: 描邊 2008-10-11 18:31 陳梓瀚(vczh)

            根據法向量搞的啊。以前見過另一種做法,好象是偏移了一下之后渲染兩次求差。  回復  更多評論   

            # re: 描邊 2008-10-11 22:31 Heath

            @陳梓瀚(vczh)
            呵呵,Toon Shading的算法有很多種,用法向量和視向量來獲得邊界是一種相對比較簡單的且計算量不大的方法。  回復  更多評論   

            # re: 描邊 2008-10-12 14:45 陳梓瀚(vczh)

            但是用法向量的話,如果你紋理不夠精密,或者物體本身不夠【圓】,就失效了……

            可以想象一下那玩意兒是一個立方體。  回復  更多評論   

            # re: 描邊 2008-10-13 10:13 Heath

            @陳梓瀚(vczh)
            此方法在針對有明顯棱角的情況下,確實不能很好工作,有很多paper都提出了解決辦法,比如采用圖像處理提取輪廓就是其中一種。  回復  更多評論   

            精品国产一区二区三区久久| 国产亚洲美女精品久久久久狼| 久久久久久国产精品免费免费| 热99RE久久精品这里都是精品免费| 久久综合给合久久狠狠狠97色69| 久久99精品综合国产首页| 色偷偷88欧美精品久久久| 国产亚洲欧美精品久久久| 日韩AV毛片精品久久久| 久久er99热精品一区二区| 久久狠狠高潮亚洲精品| 欧美久久一区二区三区| 久久精品水蜜桃av综合天堂| 日韩影院久久| 国产—久久香蕉国产线看观看| 久久精品国产99久久无毒不卡 | 久久久噜噜噜久久中文字幕色伊伊| 久久婷婷午色综合夜啪| 国产精品综合久久第一页 | 91精品观看91久久久久久| 色诱久久久久综合网ywww| 国产精品一区二区久久精品涩爱| 国产精品久久久久久久午夜片 | 亚洲精品无码久久久久去q| 久久综合九色欧美综合狠狠| 91久久国产视频| 国产精品久久久99| 国产成人无码精品久久久久免费| 国产高潮国产高潮久久久| 久久国产精品成人影院| 亚洲人成网亚洲欧洲无码久久 | 亚洲伊人久久综合影院| 久久婷婷五月综合97色直播| 久久人妻少妇嫩草AV无码蜜桃| 办公室久久精品| 久久久久国产日韩精品网站| 国产精品久久久久乳精品爆| 三级片免费观看久久| 亚洲国产成人久久笫一页| 久久久久99这里有精品10 | 久久青草国产手机看片福利盒子|