• <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)格(2)

             

            三角帶

            三角帶是一個(gè)三角形列表,其中每個(gè)三角形都與前一個(gè)三角形共享一邊,圖14.2顯示了一個(gè)三角帶的例子。

            注意頂點(diǎn)列出的順序使得每三個(gè)連續(xù)的點(diǎn)都能構(gòu)成一個(gè)三角形。例如:

            (1)頂點(diǎn)1、2、3構(gòu)成第一個(gè)三角形。

            (2)頂點(diǎn)2、3、4構(gòu)成第二個(gè)三角形。

            (3)頂點(diǎn)3、4、5構(gòu)成第三個(gè)三角形。

            在圖14.2中,頂點(diǎn)以構(gòu)成三角形帶的順序編號(hào)。"索引"信息不再需要,因?yàn)轫旤c(diǎn)順序已經(jīng)隱式定義了三角形。通常,列表前部有頂點(diǎn)數(shù)目,或末尾處有一特殊碼表示"列表結(jié)束"。

            注意到,頂點(diǎn)順序在順指針和逆時(shí)針間不斷變換(見圖14.3)。某些平臺(tái)上,需要指出第一個(gè)三角形的頂點(diǎn)順序,而有些平臺(tái)上順序是固定的。

            最佳情況下,三角帶可用n+2個(gè)頂點(diǎn)存儲(chǔ)n個(gè)面。n很大時(shí),每個(gè)三角形平均發(fā)送一個(gè)頂點(diǎn),遺憾的是,這只是最佳情況。實(shí)踐中,很多網(wǎng)格是一個(gè)三角形帶無法表達(dá)的,不僅如此,3個(gè)以上三角形共享的頂點(diǎn)還是要多次發(fā)送給圖形卡。從另一方面說,每個(gè)三角形至少要發(fā)送一個(gè)頂點(diǎn)。但在頂點(diǎn)緩存機(jī)制中,有可能將每個(gè)三角形發(fā)送的頂點(diǎn)數(shù)降到一個(gè)以下。當(dāng)然,頂點(diǎn)緩存需要額外的簿記信息(索引和緩存管理數(shù)據(jù)),可是盡管這些額外信息對(duì)單個(gè)頂點(diǎn)來講相對(duì)較大,操作速度也會(huì)相對(duì)下降,但發(fā)送頂點(diǎn)數(shù)最少的系統(tǒng)在特定平臺(tái)上速度最快。

            假設(shè)用一種生成三角帶的直接方法,用三角帶表示三角網(wǎng)需要的頂點(diǎn)數(shù)為t+2s,t為三角形數(shù)目,s為三角帶數(shù)目。每個(gè)三角帶的第一個(gè)三角形對(duì)應(yīng)三個(gè)頂點(diǎn),以后每個(gè)三角形對(duì)應(yīng)一頂點(diǎn)。因?yàn)槲覀兿M钚』l(fā)往圖形卡的頂點(diǎn)數(shù),所以三角帶的數(shù)目應(yīng)盡可能少,即三角帶越長越好。STRIPE方法給出了一種三角帶數(shù)目接近理論下限的生成手段。

            另一個(gè)希望減少三角形帶數(shù)目的原因在于建立各三角形需要額外時(shí)間。從另一方面說,分別渲染兩個(gè)長為n的三角帶所需時(shí)間長于渲染一個(gè)長為2n的三角帶,即使這個(gè)三角帶中的三角形數(shù)多于兩個(gè)分開帶中三角形數(shù)量的和。于是,我們經(jīng)常通過使用退化三角形連接多個(gè)三角帶,從而將整個(gè)網(wǎng)格置于一個(gè)連續(xù)的三角帶中,退化的意思是面積為0。圖14.4顯示了如何重復(fù)頂點(diǎn)以將兩個(gè)三角形合并為一個(gè)。

            圖14.4的含義不太明顯,但這里有四個(gè)退化三角形用于連接兩個(gè)三角帶從而維持正確的順指針、逆時(shí)針順序。頂點(diǎn)7、8間的邊實(shí)際包含兩個(gè)退化三角形,圖14.5指出了圖14.4中包含的三角形。

            退化三角形面積為0不需要渲染,所以不會(huì)影響效率。實(shí)際上要發(fā)送到圖形卡的頂點(diǎn)仍然只是第一列的頂點(diǎn):

            1,2,3,4,5,6,7,8,9,10,11,12,13

            這符合我們每三個(gè)連續(xù)頂點(diǎn)表示一個(gè)三角形的約定。

            一些硬件(如PS2上的GS)可以跳過三角帶中的三角形,方法是通過一個(gè)頂點(diǎn)上的標(biāo)志位指出"不必繪制"此三角形。這給我們一種方法可以有效的從任意點(diǎn)開始新三角形帶而不必重復(fù)頂點(diǎn)或使用退化三角形。例如,圖14.4中的兩個(gè)三角帶可以如圖14.6那樣連接,其中灰色表示頂點(diǎn)被標(biāo)記"不必繪制"。

             

            三角扇

            三角扇和三角帶類似,但不如三角帶靈活,所以很少使用。圖14.7所示即為三角扇。

            三角扇使用n+2個(gè)頂點(diǎn)存儲(chǔ)n個(gè)面,和三角帶相同。但是,第一個(gè)頂點(diǎn)必須為所有三角形共享,所以實(shí)踐中不太經(jīng)常能找到大型三角扇應(yīng)用的場(chǎng)合。并且,三角扇不能像三角帶那樣連接。所以,三角扇只能在特殊場(chǎng)合應(yīng)用,對(duì)一般應(yīng)用來說,三角帶更靈活。


            posted on 2008-03-02 10:52 lovedday 閱讀(1948) 評(píng)論(0)  編輯 收藏 引用


            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            公告

            導(dǎo)航

            統(tǒng)計(jì)

            常用鏈接

            隨筆分類(178)

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

            搜索

            最新評(píng)論

            久久夜色精品国产www| 久久综合给合综合久久| 99久久做夜夜爱天天做精品| 久久五月精品中文字幕| 亚洲国产成人精品女人久久久 | 久久无码AV中文出轨人妻| 久久97久久97精品免视看秋霞| 久久久无码精品亚洲日韩京东传媒 | 久久天天躁夜夜躁狠狠躁2022| 欧洲成人午夜精品无码区久久| 国产福利电影一区二区三区久久老子无码午夜伦不 | 国产69精品久久久久观看软件| 久久久久久人妻无码| 久久综合亚洲色一区二区三区| 久久精品国产亚洲av高清漫画| 久久久青草青青国产亚洲免观| 伊人色综合久久天天人手人婷| 亚洲欧美成人久久综合中文网| 久久精品国产一区二区三区| 欧美激情精品久久久久| 国产韩国精品一区二区三区久久 | 人妻丰满AV无码久久不卡| 久久免费线看线看| 亚洲国产精品无码久久一线 | 亚洲欧洲久久久精品| 日韩精品久久久久久| 久久久av波多野一区二区| 久久久国产视频| 四虎国产精品成人免费久久| 91超碰碰碰碰久久久久久综合| 91精品婷婷国产综合久久| 久久久免费精品re6| 久久er99热精品一区二区| 97久久国产综合精品女不卡 | 亚洲国产精品成人久久蜜臀| 国产精品伊人久久伊人电影| 伊人久久免费视频| 品成人欧美大片久久国产欧美...| 999久久久国产精品| 国产成人精品久久综合| 国内精品久久久久国产盗摄|