• <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)而不息

            三角網(wǎng)格(3)

             

            三角網(wǎng)可在三角形或頂點(diǎn)級(jí)保存額外信息。

             

            紋理映射坐標(biāo)

            紋理映射是將位圖(稱(chēng)作"紋理圖"或簡(jiǎn)稱(chēng)"紋理")貼到多邊形表面的過(guò)程。這里只給出一個(gè)高度簡(jiǎn)化的解釋?zhuān)何覀兿M麑?D紋理貼到多邊形表面上,同時(shí)考慮多邊形在攝像機(jī)空間的方向。對(duì)多邊形中每個(gè)需要渲染的像素都要計(jì)算2D紋理映射坐標(biāo),這些坐標(biāo)用以索引紋理圖,從而為相應(yīng)像素著色。

            通常,在頂點(diǎn)保存紋理映射坐標(biāo),三角形面中其余各點(diǎn)的坐標(biāo)通過(guò)插值進(jìn)行計(jì)算。

             

            表面法向量

            許多應(yīng)用程序中,網(wǎng)格上的各點(diǎn)都需要一個(gè)表面法向量。它可以用來(lái):

            (1)計(jì)算光照。

            (2)進(jìn)行背面剔除。

            (3)模擬粒子在表面"彈跳"的效果。

            (4)通過(guò)只考慮正面而加速碰撞檢測(cè)。

            表面法向量可能保存于三角形級(jí)或頂點(diǎn)級(jí),或兩者皆有。

            三角形級(jí)法向量可以通過(guò)兩向量叉乘的方法輕松獲得,而頂點(diǎn)級(jí)法向量的計(jì)算則困難一些。首先,應(yīng)注意到頂點(diǎn)處其實(shí)是沒(méi)有法向量定義的,因?yàn)榇颂幘W(wǎng)格表面不連續(xù)。第二,三角網(wǎng)是對(duì)連續(xù)表面的逼近,所以我們實(shí)際想要的是連續(xù)表面的法向量。根據(jù)產(chǎn)生三角網(wǎng)的方法,這種信息不一定現(xiàn)成可得。如果網(wǎng)格是自動(dòng)生成的,比如說(shuō)從參數(shù)曲面上,則可以直接獲得法向量。

            若法向量沒(méi)有提供,則必得有現(xiàn)成數(shù)據(jù)(頂點(diǎn)位置和三角形)生成。一個(gè)技巧是平均相鄰三角形的表面法向量并將結(jié)果標(biāo)準(zhǔn)化。當(dāng)然,這要求知道三角形法向量。一般可以假設(shè)三角形頂點(diǎn)以順時(shí)針列出,通過(guò)叉乘計(jì)算外表面的法向量。如果頂點(diǎn)順序不能假設(shè)時(shí),可使用Glassner建議的方法。

            通過(guò)平均三角形法向量求得頂點(diǎn)法向量是一種經(jīng)驗(yàn)性方法,大多數(shù)情況下都能工作得很好。但是有必要指出,某些情況下,其結(jié)果并不是所期望的。最明顯的例子是兩個(gè)法向量剛好相反的三角形共享一個(gè)頂點(diǎn)。這種情形常發(fā)生在"公告板"物體上。"公告板"由兩個(gè)三角形背靠背構(gòu)成,它的兩個(gè)法向量方向恰好相反,其平均值為0不能標(biāo)準(zhǔn)化。為解決這種問(wèn)題,必須拆開(kāi)所謂的"雙面"三角形。

            平均頂點(diǎn)法向量的另一個(gè)問(wèn)題會(huì)在應(yīng)用Gouraud著色時(shí)發(fā)生,這里給出一個(gè)簡(jiǎn)化的解釋?zhuān)汗庹帐前错旤c(diǎn)法向量逐點(diǎn)計(jì)算的。如果使用平均三角形法向量計(jì)算的頂點(diǎn)法向量,某些應(yīng)該有尖銳邊緣的地方會(huì)顯得"過(guò)于平滑"。以最簡(jiǎn)單的盒子為例,邊緣處應(yīng)該有一個(gè)劇烈的關(guān)照變化。如果我們使用平均頂點(diǎn)法向量,這個(gè)劇烈變化會(huì)消失。如圖14.8所示:

            根本問(wèn)題在于盒子邊緣不連續(xù),而這種不連續(xù)卻不能很好的被表達(dá),因?yàn)槊總€(gè)頂點(diǎn)只有一個(gè)法向量。其實(shí)仍然可以使用面拆分解決問(wèn)題:換句話說(shuō),重復(fù)不連續(xù)處的頂點(diǎn)。這樣做之后,人為的構(gòu)造了一個(gè)不連續(xù)以防止頂點(diǎn)法向量被平均。這種"裂縫"在網(wǎng)格拓?fù)渲锌赡軙?huì)導(dǎo)致問(wèn)題,但在如渲染、光線追蹤等任務(wù)中沒(méi)有問(wèn)題。

            另一個(gè)小問(wèn)題是這種平均會(huì)導(dǎo)致結(jié)果向較多擁有相同法向量的三角形偏移。例如,若干三角形共享一個(gè)頂點(diǎn),但其中兩個(gè)共面。則平均出的法向量會(huì)發(fā)生偏移,因?yàn)楣裁嫒切蔚姆ㄏ蛄恐貜?fù)了兩次,相比于其他法向量有更多"發(fā)言權(quán)"。于是,即使表面并未變化,也會(huì)使頂點(diǎn)法向量發(fā)生改變。我們可以修正此錯(cuò)誤,但幸運(yùn)的是實(shí)踐中這并不是什么大問(wèn)題,因?yàn)轫旤c(diǎn)法向量本來(lái)就是一種近似。

             

            光照值

            另一種常由頂點(diǎn)維護(hù)的信息是光照值。這些光照值用于沿表面的插值,典型的方法是Gouraud著色。有些時(shí)候,頂點(diǎn)處僅保存法向量,渲染時(shí)動(dòng)態(tài)計(jì)算光照值。

             

            拓?fù)渑c一致性

            三角網(wǎng)格的拓?fù)涫侵府?dāng)在三角網(wǎng)格中不考慮頂點(diǎn)位置與其他幾何性質(zhì)的邏輯連通性時(shí),兩個(gè)頂點(diǎn)數(shù)相同且三角形互聯(lián)方式一致的三角網(wǎng)格為同拓?fù)涞?,即使它們?duì)應(yīng)的物體完全不同。從另一方面說(shuō),盡管形狀不同,拉伸網(wǎng)格但不打破鄰接性,我們得到的是同拓?fù)涞木W(wǎng)格。

            有一種特殊網(wǎng)格稱(chēng)作封閉網(wǎng)絡(luò),又稱(chēng)作"流形"。概念上,封閉網(wǎng)格完美地覆蓋物體表面,網(wǎng)格中沒(méi)有間隙,從外面完全無(wú)法看到任何三角形的背面。這是一種重要的網(wǎng)格,它的點(diǎn)和邊組成形式就像平面圖,即如果將頂點(diǎn)當(dāng)成平面點(diǎn),用直線連接頂點(diǎn),此封閉網(wǎng)格可以畫(huà)在一個(gè)2D平面上,而且沒(méi)有邊交叉。平面圖符合Euler方程:v-e+f=2,其中v為頂點(diǎn)數(shù),e為邊數(shù),f為網(wǎng)格上的面數(shù)。

            實(shí)踐中,我們經(jīng)常遇到拓?fù)洚惓5娜蔷W(wǎng)格,導(dǎo)致網(wǎng)格不封閉:

            (1)孤立頂點(diǎn):頂點(diǎn)未被任何三角形使用。

            (2)重復(fù)頂點(diǎn):完全相同的頂點(diǎn)。使用這些點(diǎn)的三角形幾何上相鄰而邏輯上不相鄰,多數(shù)情況下,我們不希望看到這種現(xiàn)象,應(yīng)該刪除。

            (3)退化三角形:使用一頂點(diǎn)超過(guò)一次的三角形。意味著這個(gè)三角形沒(méi)有面積,一般這種三角形應(yīng)該刪除。

            (4)開(kāi)放邊:僅為一個(gè)三角形所使用。

            (5)超過(guò)兩個(gè)三角形共享的邊:封閉網(wǎng)格中,任一邊必須為兩個(gè)三角形共享。

            (6)重復(fù)面:網(wǎng)格中包含有兩個(gè)或更多相同的面。這是不希望看到的,應(yīng)該去掉多余面而只保留一個(gè)。

            根據(jù)應(yīng)用的不同,上述異??赡苁菄?yán)重的錯(cuò)誤,也可能是小錯(cuò)誤,或者無(wú)關(guān)緊要。


            posted on 2008-03-02 15:28 lovedday 閱讀(2087) 評(píng)論(2)  編輯 收藏 引用

            評(píng)論

            # re: 三角網(wǎng)格(3)[未登錄](méi) 2010-01-15 17:02 Jason

            這幾年從樓主的博客學(xué)到很多知識(shí),非常感謝.  回復(fù)  更多評(píng)論   

            # re: 三角網(wǎng)格(3)[未登錄](méi) 2010-01-15 17:02 Jason

            祝新年如意吉祥!  回復(fù)  更多評(píng)論   

            公告

            導(dǎo)航

            統(tǒng)計(jì)

            常用鏈接

            隨筆分類(lèi)(178)

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

            搜索

            最新評(píng)論

            麻豆成人久久精品二区三区免费 | 久久这里有精品视频| 丁香久久婷婷国产午夜视频| 国产毛片久久久久久国产毛片| 久久婷婷人人澡人人| 色综合久久中文字幕无码| 久久久国产精品福利免费| 久久夜色撩人精品国产| 无遮挡粉嫩小泬久久久久久久 | 国产综合精品久久亚洲| 亚洲国产高清精品线久久| 狠狠色丁香久久婷婷综合五月| 久久成人国产精品一区二区| 久久天天躁狠狠躁夜夜2020一| 国产精品久久亚洲不卡动漫| 精品无码久久久久久久动漫| 久久久久久伊人高潮影院| 99久久精品无码一区二区毛片| 国产∨亚洲V天堂无码久久久| 久久国产影院| 99久久免费只有精品国产| 色偷偷久久一区二区三区| 欧美精品九九99久久在观看| 久久精品男人影院| 国内精品久久久久久99蜜桃| 久久久久久免费视频| 久久久精品久久久久久| 国产99久久久国产精品~~牛| 久久国产精品一区二区| 波多野结衣中文字幕久久| 亚洲第一极品精品无码久久| 亚洲日韩欧美一区久久久久我 | 久久精品无码免费不卡| 国产精品久久网| 久久被窝电影亚洲爽爽爽| 漂亮人妻被黑人久久精品| 久久久亚洲AV波多野结衣| 国产精品99久久久久久宅男小说| 久久精品无码专区免费| 久久伊人色| 久久天天躁狠狠躁夜夜躁2014|