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

            久久精品国产亚洲av麻豆色欲| 久久久久久久综合狠狠综合| 久久久这里只有精品加勒比| 欧美久久综合九色综合| 欧美性大战久久久久久| 99久久这里只精品国产免费| 国产精品久久久久久| 久久精品女人天堂AV麻| 囯产精品久久久久久久久蜜桃 | 欧美午夜A∨大片久久| 久久久久久久91精品免费观看| 久久天天躁狠狠躁夜夜网站| 四虎国产精品成人免费久久| 亚洲精品无码久久久久| 亚洲人成无码久久电影网站| 久久综合综合久久97色| 精品综合久久久久久97| 一本一道久久a久久精品综合| 国产人久久人人人人爽| 久久精品国产亚洲AV影院| 日韩精品久久无码人妻中文字幕| 国产99久久久国产精品~~牛| 色婷婷综合久久久久中文 | 亚洲欧美精品一区久久中文字幕 | 久久综合久久自在自线精品自| 久久久久国产视频电影| 成人国内精品久久久久影院| 久久久精品国产免大香伊| 久久人人爽人人澡人人高潮AV| 国产高潮久久免费观看| av午夜福利一片免费看久久| 国产成人精品久久| 亚洲乱码日产精品a级毛片久久 | 国产精品中文久久久久久久| 精品免费久久久久国产一区| 青青热久久国产久精品| 久久99精品久久久久久齐齐| 91精品观看91久久久久久| 久久影视综合亚洲| 国产精品亚洲综合专区片高清久久久 | 久久99这里只有精品国产|