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

            久久丫精品国产亚洲av不卡| 中文字幕久久波多野结衣av| 久久国产精品国产自线拍免费| 精品久久久久香蕉网| 青青草国产精品久久| 香蕉aa三级久久毛片| 久久天天躁夜夜躁狠狠| 久久精品亚洲中文字幕无码麻豆| 色综合久久综合网观看| 久久久午夜精品| 草草久久久无码国产专区| 久久精品成人欧美大片| 99久久精品国产一区二区三区| 久久精品成人欧美大片| 18岁日韩内射颜射午夜久久成人| 伊人久久综合无码成人网| 99久久夜色精品国产网站| 亚洲精品无码成人片久久| 久久精品国产亚洲5555| 9久久9久久精品| 午夜久久久久久禁播电影| 久久综合色之久久综合| 青青草原综合久久大伊人精品| 国产A级毛片久久久精品毛片| 精品综合久久久久久88小说| 久久国产色AV免费看| 久久国产色av免费看| 一级做a爰片久久毛片免费陪| 久久精品国产亚洲网站| 亚洲午夜久久久久久久久电影网| 久久久久黑人强伦姧人妻| 爱做久久久久久| 99久久久久| 久久九九亚洲精品| 成人午夜精品久久久久久久小说| 精品久久久久久国产潘金莲 | 天天综合久久久网| 精品永久久福利一区二区| 久久国产欧美日韩精品| 国产高潮国产高潮久久久| 91精品国产乱码久久久久久|