• <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 閱讀(2088) 評論(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都提出了解決辦法,比如采用圖像處理提取輪廓就是其中一種。  回復  更多評論   

            久久AV高潮AV无码AV| 久久99精品久久久久久不卡| 偷偷做久久久久网站| 精品久久久无码21p发布| 久久亚洲精品无码AV红樱桃| 国产精品热久久无码av| 亚洲愉拍99热成人精品热久久| 久久久久久久99精品免费观看| 精品久久久久久无码中文野结衣 | 亚洲午夜久久久影院| 国产成人久久激情91| 亚洲性久久久影院| 51久久夜色精品国产| 亚洲精品无码久久久久久| 久久久久99精品成人片三人毛片| 99久久夜色精品国产网站| 国内精品久久久久久久久| 精品久久久久久亚洲精品 | 久久天天躁狠狠躁夜夜av浪潮| 国产精品久久久久久久app| 青青草原1769久久免费播放| 无码人妻久久一区二区三区蜜桃 | 国产成人无码久久久精品一| 亚洲а∨天堂久久精品| 久久激情亚洲精品无码?V| 久久se精品一区二区| 国产婷婷成人久久Av免费高清 | 亚洲色欲久久久综合网东京热 | 国产Av激情久久无码天堂| 精品久久亚洲中文无码| 一本大道久久东京热无码AV| 久久久久久亚洲精品不卡| 亚洲午夜久久影院| 国产精品成人99久久久久| 久久99国产精一区二区三区| 久久99精品国产99久久| 免费一级欧美大片久久网| 97久久精品午夜一区二区| 亚洲性久久久影院| 亚洲国产视频久久| 久久久久久毛片免费看|