国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      調(diào)適性陰影空間算法的陰影產(chǎn)生方法與裝置的制作方法

      文檔序號(hào):6642797閱讀:268來(lái)源:國(guó)知局
      專(zhuān)利名稱(chēng):調(diào)適性陰影空間算法的陰影產(chǎn)生方法與裝置的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明是關(guān)于一陰影空間演算方法與裝置,特別是關(guān)于能調(diào)適性使用深度通過(guò)算法與深度失敗算法的陰影空間演算方法與裝置。
      背景技術(shù)
      在三維度繪圖系統(tǒng)中,陰影的描繪需要額外的技術(shù)來(lái)處理,簡(jiǎn)單地說(shuō)就是要找出位于陰影中的那些像素,這些技術(shù)包含有陰影空間(shadow volume)、陰影映像(shadow mapping)…等等。
      陰影空間的方法主要是將陰影所遮蔽的空間定義成陰影空間,來(lái)判定畫(huà)面上哪些部份是位于陰影空間內(nèi)。如圖1A所示,假設(shè)光線由光源A照射,而遮蔽物B阻檔在其中,因此光線被遮蔽物B所遮蔽的范圍即為陰影空間S,陰影空間S可以用正面(front face)與背面(back face)來(lái)界定。當(dāng)畫(huà)面上的一對(duì)象O要投影在顯示平面G上時(shí),可以觀察出只有位置D與位置E間的部份是位在陰影空間S之內(nèi),其余部份是位于陰影空間之外。
      據(jù)此,只要將畫(huà)面上的陰影空間定義出來(lái),便能加以判斷畫(huà)面上各像素是否位于陰影空間中。然而在三維度影像投影在二維度的畫(huà)面上時(shí),必需要注意三維度影像中各對(duì)象間的位置關(guān)系,二維度的畫(huà)面中只顯示位于最前面部份的影像。因此三維度對(duì)象在被描繪到二維度平面時(shí)需要描繪(raster)被繪的對(duì)象會(huì)被投影在哪些像素以及在那些像素的深度值。由于三維度對(duì)象是依次被描繪于二維度平面,因此繪圖系統(tǒng)會(huì)記錄各像素目前所顯示的深度,為能夠清楚描述,被描繪對(duì)象相對(duì)于一被投影像素的深度(描繪對(duì)象上)與被投影像素所顯示的深度(在圖幅緩沖區(qū)中)在此被分別稱(chēng)為待測(cè)深度與受測(cè)深度。因此當(dāng)待測(cè)深度小于受測(cè)深度時(shí),被描繪對(duì)象位于被投影像素目前所顯示位置的前面,被投影像素需要改為顯示被描繪對(duì)象,并且被投影像素相應(yīng)的受測(cè)深度需以待測(cè)深度來(lái)取代。因此當(dāng)某一個(gè)像素所相應(yīng)的待測(cè)深度位于陰影空間中時(shí),此像素必需要被以陰影色來(lái)描繪。上述的深度測(cè)試可以是一般深度測(cè)試或粗略深度測(cè)試,一般深度測(cè)試是以單一像素為單位來(lái)進(jìn)行測(cè)試,而粗略深度測(cè)試可以是一區(qū)塊內(nèi)的復(fù)數(shù)個(gè)像素來(lái)同時(shí)測(cè)試。在粗略深度測(cè)試時(shí),待測(cè)深度與受測(cè)深度各有復(fù)數(shù)個(gè),因此當(dāng)最小待測(cè)深度大于最大受測(cè)深度時(shí),則粗略深度測(cè)試的結(jié)果為全深度失敗,并且當(dāng)最大待測(cè)深度小于最小受測(cè)深度時(shí),則粗略深度測(cè)試的結(jié)果為全深度通過(guò)。如果粗略深度測(cè)試的結(jié)果不為全深度失敗或全深度通過(guò)時(shí),則粗略深度測(cè)試的結(jié)果為無(wú)法判定。當(dāng)粗略深度測(cè)試的結(jié)果為無(wú)法判定,則再以一般深度測(cè)試來(lái)測(cè)試。
      在執(zhí)行上述的三維度對(duì)象投影于二維度畫(huà)面的過(guò)程中,一般是先將三維度對(duì)象以復(fù)數(shù)個(gè)多邊形來(lái)定義,再以多邊形來(lái)進(jìn)行上述的深度測(cè)試。同樣地,各陰影空間也是先被定義成復(fù)數(shù)個(gè)多邊形,包含有代表正面的正面多邊形與代表背面的背面多邊形,再來(lái)找出哪些待測(cè)深度位于正面多邊與背面多邊形所界定的陰影空間中。
      因?yàn)槔霉饩€追蹤技術(shù)來(lái)產(chǎn)生陰影的方法相當(dāng)耗時(shí),尤其是在多個(gè)遮蔽物與多個(gè)光源之下,因此需要比較有效率的方法來(lái)處理。模版(stencil)陰影空間方法是采用更新模版緩沖區(qū)來(lái)執(zhí)行一個(gè)簡(jiǎn)單進(jìn)/出計(jì)算的方法以簡(jiǎn)易這樣的作業(yè),它是采用執(zhí)行在陰影空間的正面(front-face)與背面(back-face)多邊形的深度測(cè)試來(lái)決定在陰影中的像素。例如,在模版陰影空間方法的實(shí)施上,模版緩沖區(qū)的值是依據(jù)正面多邊形與背面多邊形的深度測(cè)試來(lái)被遞增或遞減,因此如果最后的模版值為0,則像素不在陰影中。
      在陰影空間的深度測(cè)試中,受測(cè)深度大于待測(cè)深度的情形稱(chēng)為深度通過(guò),反之被稱(chēng)為深度失敗。據(jù)此,模版緩沖區(qū)的更新規(guī)則上主要分為兩種陰影空間算法,一為深度通過(guò)(Z pass)算法,另一則為深度失敗(Z fail)算法。深度通過(guò)算法是只對(duì)深度通過(guò)來(lái)更新模版緩沖區(qū),當(dāng)深度通過(guò)的是正面多邊形時(shí),模版緩沖區(qū)的值會(huì)被遞增,并且當(dāng)深度通過(guò)的是背面多邊形時(shí),模版緩沖區(qū)的值會(huì)被遞減。反之,深度失敗算法是只對(duì)深度失敗來(lái)更新模版緩沖區(qū),當(dāng)深度失敗的是正面多邊形時(shí),模版緩沖區(qū)的值會(huì)被遞減,并且當(dāng)深度失敗的是背面多邊形時(shí),模版緩沖區(qū)的值會(huì)被遞增。
      如圖1B與圖1C所示是分別為深度通過(guò)算法與深度失敗算法的示意圖。光源A的照射因遮蔽物B、C與D的阻擋形成了三個(gè)陰影空間,對(duì)象E與F分別落在陰影空間的內(nèi)與之外。在深度通過(guò)算法時(shí),相應(yīng)于E’點(diǎn)的模板值為+1+1=2,位于陰影空間中,并且相應(yīng)于F’點(diǎn)的模版值為+1+1-1-1=0,位于陰影空間之外,E’點(diǎn)與F’點(diǎn)的模版值共被更新過(guò)6次。相對(duì)地,在深度失敗算法時(shí),相應(yīng)于E’點(diǎn)的模板值為+1-1+1+1=2,位于陰影空間中,并且相應(yīng)于F’點(diǎn)的模版值為0,位于陰影空間之外,E’點(diǎn)與F’點(diǎn)的模版值共被更新過(guò)4次。顯然地,上述的視角以深度失敗算法較為適用,可見(jiàn)以相同的視角觀看時(shí),采用不同的陰影空間算法能得到相同的結(jié)果,可是卻導(dǎo)致不同的運(yùn)算量。此外,當(dāng)視角改變時(shí)所看到的景像也會(huì)不同,因此適用的陰影空間算法也有可能不同。例如在圖1D的I點(diǎn)來(lái)觀看,原本在圖1C所看到的E’點(diǎn)與F’點(diǎn)已被遮住,變成看到的是e’點(diǎn)與f’點(diǎn)。以深度失敗算法需要更新7次,分別為e’點(diǎn)需要3次,f’點(diǎn)需要4次。以深度通過(guò)算法需要更新3次,分別為e’點(diǎn)需要3次,f’點(diǎn)需要0次。據(jù)此,以深度通過(guò)算法較為適用。
      圖1E舉例了在數(shù)個(gè)連續(xù)的圖幅(frame)中以深度通過(guò)與深度失敗對(duì)模版值更新次數(shù)的相對(duì)關(guān)系,有的圖幅深度通過(guò)的更新次數(shù)比較多,有的圖幅深度失敗的更新次數(shù)比較多。如果全部以深度失敗算法將會(huì)有許多圖幅不適用,因此需要一種新的設(shè)計(jì)來(lái)減少模版值的更新次數(shù)。
      觀察上述例子,可以發(fā)現(xiàn)雖然深度通過(guò)算法與深度失敗算法所得出的結(jié)論都相同,但是運(yùn)算量卻有差異,也就是說(shuō)因視者觀看方向的不同,兩者的運(yùn)算量也不同。在應(yīng)用上一般是在深度通過(guò)算法或深度失敗算法兩者中選擇一個(gè),因此運(yùn)算成本與更新模版緩沖區(qū)的頻寬很容易因觀看角度的不同而變得很大,因此需要一種解決的方法,來(lái)以適合的深度測(cè)試進(jìn)行運(yùn)算。

      發(fā)明內(nèi)容
      本發(fā)明的一目的是在深度測(cè)試時(shí)統(tǒng)計(jì)深度通過(guò)與深度失敗的數(shù)量,依據(jù)兩者間較小者來(lái)決定下一圖幅的深度空間算法。
      本發(fā)明的另一目的是在深度測(cè)試時(shí)統(tǒng)計(jì)全深度通過(guò)與全深度失敗的數(shù)量,依據(jù)兩者間較小者來(lái)決定下一圖幅的深度空間算法。
      據(jù)此,本發(fā)明提出一種具有調(diào)適性陰影空間演算邏輯的繪圖裝置,其特征在于,該具有調(diào)適性陰影空間演算邏輯的繪圖裝置包含一繪圖單元,該繪圖單元是以該復(fù)數(shù)個(gè)像素來(lái)彩現(xiàn)一圖幅,其中包含在以一預(yù)設(shè)的陰影空間算法對(duì)該圖幅彩現(xiàn)陰影空間時(shí)統(tǒng)計(jì)一深度通過(guò)值與一深度失敗值;以及一選擇單元,該選擇單元是于繪圖單元以該預(yù)設(shè)的陰影空間算法對(duì)該圖幅彩現(xiàn)陰影空間后,依據(jù)該深度通過(guò)統(tǒng)計(jì)值與該深度失敗統(tǒng)計(jì)值從一深度通過(guò)演算法與一深度失敗算法中選擇一種做為該預(yù)設(shè)的陰影空間算法。
      其中上述的選擇單元是一軟件,該軟件是選自下列群組之一驅(qū)動(dòng)程序、軟件應(yīng)用程序呼叫界面。
      其中上述的繪圖單元包含記錄并更新相應(yīng)于每一個(gè)該像素的一深度值與一模版值,其中該模版值是用以界定位于該圖幅的陰影空間內(nèi)的像素。
      其中上述的繪圖單元對(duì)該陰影空間的彩現(xiàn)包含以復(fù)數(shù)個(gè)陰影空間多邊形對(duì)該復(fù)數(shù)個(gè)像素所相應(yīng)的該深度值進(jìn)行一深度測(cè)試,以更新該復(fù)數(shù)個(gè)像素所相應(yīng)的該模版值,其中該復(fù)數(shù)個(gè)陰影空間多邊形是用以呈現(xiàn)陰影空間。
      其中上述的深度測(cè)試包含一粗略深度測(cè)試與一一般深度測(cè)試,該一般深度測(cè)試是以單一像素逐一進(jìn)行測(cè)試,該粗略深度測(cè)試是以復(fù)數(shù)個(gè)像素為一區(qū)塊來(lái)同時(shí)進(jìn)行測(cè)試。
      其中上述的粗略深度測(cè)試的結(jié)果是全區(qū)塊的該像素為全深度通過(guò)、全深度失敗與無(wú)法判定中的一種。
      其中上述的粗略深度測(cè)試的結(jié)果為無(wú)法判定時(shí),則該區(qū)塊的該像素另外進(jìn)行一般深度測(cè)試。
      其中上述的繪圖單元還包含在該深度測(cè)試中,對(duì)每一個(gè)陰影空間多邊形深度通過(guò)的像素?cái)?shù)量累計(jì)以統(tǒng)計(jì)出該深度通過(guò)統(tǒng)計(jì)值,并且對(duì)每一個(gè)陰影空間多邊形深度失敗的像素?cái)?shù)量累計(jì)以統(tǒng)計(jì)出該深度失敗統(tǒng)計(jì)值。
      其中上述的深度通過(guò)算法是對(duì)每一個(gè)陰影空間多邊形深度通過(guò)的該像素所相應(yīng)的該模版值更新,并且該深度通過(guò)算法是對(duì)每一個(gè)陰影空間多邊形深度失敗的該像素所相應(yīng)的該模版值更新。
      其中上述的選擇單元是在該深度通過(guò)統(tǒng)計(jì)值大于該深度失敗統(tǒng)計(jì)值時(shí)選擇以該深度失敗算法做為該預(yù)射的陰影空間算法,并且在該深度通過(guò)統(tǒng)計(jì)值不大于該深度失敗統(tǒng)計(jì)值時(shí)選擇以該深度通過(guò)算法做為該預(yù)射的陰影空間算法。


      為進(jìn)一步說(shuō)明本發(fā)明的具體技術(shù)內(nèi)容,以下結(jié)合實(shí)施例及附圖詳細(xì)說(shuō)明如后,其中圖1A至圖1E是先前技術(shù)的示意圖;圖2是本發(fā)明的一具體實(shí)施例的流程示意圖;圖3是本發(fā)明的另一具體實(shí)施例的流程示意圖;圖4是本發(fā)明的再一具體實(shí)施例的功能方塊示意圖;
      圖5是本發(fā)明相較于圖1E的優(yōu)缺點(diǎn)比較圖。
      具體實(shí)施例方式
      本發(fā)明在此所探討的方向?yàn)橐环N調(diào)適性陰影空間算法的陰影產(chǎn)生裝置與方法。為了能徹底地了解本發(fā)明,將在下列的描述中提出詳盡的結(jié)構(gòu)。顯然地,本發(fā)明的施行并未限定于照明裝置的技術(shù)者所熟習(xí)的特殊細(xì)節(jié)。另一方面,眾所周知的組成或制程步驟并未描述于細(xì)節(jié)中,以避免造成本發(fā)明不必要的限制。本發(fā)明的較佳實(shí)施例會(huì)詳細(xì)描述如下,然而除了這些詳細(xì)描述之外,本發(fā)明還可以廣泛地施行在其它的實(shí)施例中,且本發(fā)明的范圍不受限定,其以的后的發(fā)明范圍為準(zhǔn)。
      陰影空間算法(shadow volume algorithm)包含深度通過(guò)(Z pass)算法與深度失敗(Z fail)算法。在復(fù)數(shù)個(gè)連續(xù)圖幅(frames)中,可能有的圖幅由深度通過(guò)算法來(lái)決定像素中的陰影區(qū)域會(huì)有比較好的效能,而有的圖幅由深度失敗會(huì)有比較好的效能。因此如果只用一種陰影空間算法來(lái)決定像素中的陰影區(qū)域,可能導(dǎo)致效能變差。
      在復(fù)數(shù)個(gè)連續(xù)圖幅中,可能包含一個(gè)或一個(gè)以上的場(chǎng)景(scene),在相同的場(chǎng)景的圖幅所呈現(xiàn)的對(duì)象大致都差不多,尤其是背景部份。雖然場(chǎng)景相同,但是因?yàn)橛^看方向的不同,圖幅中所呈現(xiàn)的對(duì)象及相關(guān)的陰影也會(huì)有所不同,僅管如此,在相同場(chǎng)景中相近圖幅間的差別并不大,因此如果在一圖幅所適用于深度通過(guò)算法,在下一圖幅也適用的可能性會(huì)比深度失敗算法高,反之亦然。在之后的描述中,陰影空間的前面多邊形與背面多邊形被統(tǒng)稱(chēng)為陰影空間多邊形。
      圖2是根據(jù)本發(fā)明的一具體實(shí)施例的流程示意圖。由先前技術(shù)可知,多邊形包含一般影像對(duì)象的多邊形與陰影空間的多邊形,兩者是在不同階段被描繪,先是一般對(duì)象的多邊形,然后是陰影空間的多邊形。首先,流程由步驟200開(kāi)始,在步驟201對(duì)深度通過(guò)累計(jì)值、深度失敗累計(jì)值與預(yù)設(shè)陰影空間算法初始化,其中陰影空間算法是由深度通過(guò)算法與深度失敗算法中預(yù)設(shè)一個(gè)。接下來(lái)步驟202開(kāi)始描繪第一個(gè)多邊形,描繪的流程的一開(kāi)始是由步驟203判斷是否所有多邊形尚未描繪完畢。如果尚未描繪完畢,由步驟204判斷是否為陰影空間多邊形。如果不為陰影空間多邊形,則由步驟205來(lái)彩現(xiàn)多邊形、進(jìn)行一般深度測(cè)試/粗略深度測(cè)試與進(jìn)行更新深度/顏色緩沖區(qū),之后由步驟207進(jìn)行下一多邊形的描繪。反之,如果為陰影空間多邊形,則由步驟206彩現(xiàn)多邊形的深度值、進(jìn)行一般深度測(cè)試/粗略深度測(cè)試、累加深度通過(guò)累計(jì)值與深度失敗累計(jì)值與更新模版緩沖區(qū),之后由步驟207進(jìn)行下一多邊形的描繪。另外,在步驟203中判斷出是有有多邊形尚未描繪,則由步驟208判斷是否深度通過(guò)累計(jì)值大于深度失敗累計(jì)值。如果深度通過(guò)累計(jì)值大于深度失敗累計(jì)值,則由步驟209決定下一圖幅的陰影空間算法為深度失敗,再由步驟211進(jìn)行下一圖幅的初始化。如果深度通過(guò)累計(jì)值不大于深度失敗累計(jì)值,則由步驟210決定下一圖幅的陰影空間算法為深度通過(guò),再由步驟211進(jìn)行下一圖幅的初始化。在步驟211中,被描繪圖幅會(huì)被指定為下一圖幅,并且深度失敗累計(jì)值與預(yù)設(shè)陰影空間算法會(huì)被初始化(如設(shè)定為0)。
      據(jù)此,參考圖3,本發(fā)明的另一具體實(shí)施例是一種調(diào)適性陰影空間算法的陰影產(chǎn)生方法。首先,如步驟310所示,彩現(xiàn)一圖幅的所有對(duì)象,其中每一對(duì)象是以復(fù)數(shù)個(gè)多邊形來(lái)表示,該圖幅是被彩現(xiàn)于復(fù)數(shù)個(gè)像素,這些像素可以是被儲(chǔ)存在繪圖緩沖區(qū)(framebuffer)中。接下來(lái),如步驟320所示,以一預(yù)設(shè)的陰影空間算法彩現(xiàn)一圖幅的陰影空間并同時(shí)統(tǒng)計(jì)一深度通過(guò)統(tǒng)計(jì)值與一深度失敗統(tǒng)計(jì)值。最后,如步驟330所示,在預(yù)設(shè)的陰影空間算法對(duì)該圖幅彩現(xiàn)陰影空間后,依據(jù)該深度通過(guò)統(tǒng)計(jì)值與該深度失敗統(tǒng)計(jì)值從一深度通過(guò)算法與一深度失敗算法中選擇一種做為該預(yù)設(shè)的陰影空間算法。因此在下一圖幅重新執(zhí)行步驟310與步驟320時(shí),則下一圖幅是依照本圖幅在步驟330所選的陰影空間算法來(lái)彩現(xiàn)陰影空間。
      據(jù)此,如圖4所示,本發(fā)明的一具體實(shí)施例是一種具有調(diào)適性陰影空間演算邏輯的繪圖裝置,其包含一模版緩沖區(qū)22、一繪圖單元24與一選擇單元26。如步驟310所示,繪圖單元24是用來(lái)彩現(xiàn)(render)一圖幅251的所有像素,而模版緩沖區(qū)22是用來(lái)儲(chǔ)存相應(yīng)于每一個(gè)像素的模版值。繪圖單元24是依據(jù)圖幅描述數(shù)據(jù)231來(lái)彩現(xiàn)圖幅251,圖幅描述資料231可以是圖幅描述資料群組23中的任何一個(gè)圖幅描述資料。其中所述的圖幅251可以是復(fù)數(shù)個(gè)連續(xù)圖幅25中的任何一個(gè),此圖幅251的下一個(gè)圖幅在的后的描述以下一圖幅252來(lái)表示,下一圖幅252是由繪圖單元24在彩現(xiàn)圖幅251的后依據(jù)下一圖幅描述資料232所彩現(xiàn)。另外,如步驟320所示,繪圖單元24依據(jù)一命令242從陰影空間演算邏輯241的一深度通過(guò)演算模式244與一深度失敗演算模式246中選擇一個(gè)來(lái)更新模版緩沖區(qū)22,繪圖單元24是由該陰影空間演算邏輯更新模版緩沖區(qū)22的模版值來(lái)界定(identify)相對(duì)于一觀看方向的一陰影區(qū)域2512,并且同時(shí)統(tǒng)計(jì)一深度通過(guò)統(tǒng)計(jì)值247與一深度失敗統(tǒng)計(jì)值249,相應(yīng)于下一圖幅252的命令242是由選擇單元26依據(jù)深度通過(guò)統(tǒng)計(jì)值247與深度失敗統(tǒng)計(jì)值249來(lái)產(chǎn)生,如步驟330所示。
      當(dāng)深度通過(guò)演算模式244被選擇時(shí),陰影空間演算邏輯241是以深度通過(guò)算法來(lái)決定陰影區(qū)域2512,相反地,當(dāng)深度失敗演算模式246被選擇時(shí),陰影空間演算邏輯241是以深度失敗算法來(lái)決定陰影區(qū)域2512。陰影區(qū)域2512為圖幅251中位于陰影空間中的像素集合,此陰影區(qū)域2512是相應(yīng)于模版緩沖區(qū)22中不為0的模版值,陰影區(qū)域2512中所有的像素是由繪圖單元24以陰影色彩現(xiàn)來(lái)產(chǎn)生陰影效果。
      此外,繪圖單元24是利用深度測(cè)試(Z test)來(lái)更新圖幅251的像素的彩現(xiàn),其中深度通過(guò)統(tǒng)計(jì)值247與深度失敗統(tǒng)計(jì)值249是在進(jìn)行深度測(cè)試的過(guò)程中被產(chǎn)生。
      選擇單元26依據(jù)深度通過(guò)統(tǒng)計(jì)值247與深度失敗統(tǒng)計(jì)值249來(lái)產(chǎn)生下一圖幅的命令262。亦即選擇單元26由比較深度通過(guò)統(tǒng)計(jì)值247與深度失敗統(tǒng)計(jì)值249,選出兩者中較小者所相應(yīng)的陰影空間演算模式。例如當(dāng)繪圖單元24在彩現(xiàn)下一圖幅252時(shí),下一圖幅的命令262會(huì)被選擇單元26做為為本圖幅的命令261,并且被送至繪圖單元24以成為命令242。另外,選擇單元26可以是硬件或軟件,例如(但不受限于)一邏輯電路或選自下列群組之一的軟件驅(qū)動(dòng)程序(driver)、軟件應(yīng)用程序呼叫界面(Software AP)。
      上述圖2的粗略深度測(cè)試的結(jié)果可為全深度通過(guò)、全深度失敗與無(wú)法判定中其中一種。在深度測(cè)試在上述步驟205與步驟206中,或是在步驟320中,可以是只用粗略深度測(cè)試,或只用一般深度測(cè)試,也可以是先以粗略深度測(cè)試,當(dāng)粗略深度測(cè)試的結(jié)果為無(wú)法判定時(shí),再采用深度測(cè)試。
      其中上述的彩現(xiàn)該圖幅的所有對(duì)象的過(guò)程中包含記錄并更新相應(yīng)于每一個(gè)像素的一深度值,并且上述彩現(xiàn)圖幅的陰影空間的過(guò)程中包含更新相應(yīng)于每一個(gè)像素的一模版值,這些模版值是用以界定位于圖幅的陰影空間內(nèi)的像素。模版值與深度值可分別存于模版緩沖區(qū)與深度緩沖區(qū)中,也可以合并在一個(gè)緩沖區(qū)中。此外,對(duì)陰影空間的彩現(xiàn)可以是以復(fù)數(shù)個(gè)陰影空間多邊形對(duì)相應(yīng)的深度值進(jìn)行深度測(cè)試,再根據(jù)深度測(cè)試的結(jié)果來(lái)更新相應(yīng)的模版值。
      另外,如在圖1B中,有兩種多邊形,一為陰影空間多邊形,一為一般物體多邊形(即E、F),當(dāng)一陰影空間多邊形被彩現(xiàn)時(shí),應(yīng)該是位于一般物體多邊形前面的像素?cái)?shù)量被累計(jì)至深度通過(guò)統(tǒng)計(jì)值。因此當(dāng)每一個(gè)陰影空間多邊形被彩現(xiàn)完時(shí),深度通過(guò)統(tǒng)計(jì)值累計(jì)了每一個(gè)陰影空間多邊形深度通過(guò)的像素?cái)?shù)量,并且深度失敗統(tǒng)計(jì)值累計(jì)了每一個(gè)陰影空間多邊形深度失敗的像素?cái)?shù)量。再者,上述的深度通過(guò)算法是對(duì)每一個(gè)陰影空間多邊形深度通過(guò)的像素所相應(yīng)的模版值更新,并且上述的深度失敗算法是對(duì)每一個(gè)陰影空間多邊形失敗的像素所相應(yīng)的模版值更新。
      據(jù)此,相較于圖1D與圖5,可以發(fā)現(xiàn)本發(fā)明所采用的陰影空間算法適用的圖幅數(shù)量多于先前技術(shù)所適用的數(shù)量。顯然地,本發(fā)明可隨著連續(xù)圖幅的內(nèi)容而適度修正,明顯減少對(duì)模版緩沖區(qū)的存取次數(shù)。此外,在步驟330與選擇裝置中,亦可以是當(dāng)深度失敗統(tǒng)計(jì)值與深度通過(guò)統(tǒng)計(jì)值間的差值超過(guò)一門(mén)檻限值時(shí),才重設(shè)預(yù)設(shè)的深度空間算法,以減少深度空間算法的變化量。
      顯然地,依照上面實(shí)施例中的描述,本發(fā)明可能有許多的修正與差異。因此需要在其附加的權(quán)利要求項(xiàng)的范圍內(nèi)加以理解,除了上述詳細(xì)的描述外,本發(fā)明還可以廣泛地在其它的實(shí)施例中施行。上述僅為本發(fā)明的較佳實(shí)施例而已,并非用以限定本發(fā)明的申請(qǐng)專(zhuān)利范圍;凡其它未脫離本發(fā)明所揭示的精神下所完成的等效改變或修飾,均應(yīng)包含在本發(fā)明的申請(qǐng)專(zhuān)利范圍內(nèi)。
      權(quán)利要求
      1.一種具有調(diào)適性陰影空間演算邏輯的繪圖裝置,其特征在于,該具有調(diào)適性陰影空間演算邏輯的繪圖裝置包含一繪圖單元,該繪圖單元是以該復(fù)數(shù)個(gè)像素來(lái)彩現(xiàn)一圖幅,其中包含在以一預(yù)設(shè)的陰影空間算法對(duì)該圖幅彩現(xiàn)陰影空間時(shí)統(tǒng)計(jì)一深度通過(guò)值與一深度失敗值;以及一選擇單元,該選擇單元是于繪圖單元以該預(yù)設(shè)的陰影空間算法對(duì)該圖幅彩現(xiàn)陰影空間后,依據(jù)該深度通過(guò)統(tǒng)計(jì)值與該深度失敗統(tǒng)計(jì)值從一深度通過(guò)演算法與一深度失敗算法中選擇一種做為該預(yù)設(shè)的陰影空間算法。
      2.如權(quán)利要求1所述的具有調(diào)適性陰影空間演算邏輯的繪圖裝置,其特征在于,其中上述的選擇單元是一軟件,該軟件是選自下列群組之一驅(qū)動(dòng)程序、軟件應(yīng)用程序呼叫界面。
      3.如權(quán)利要求1所述的具有調(diào)適性陰影空間演算邏輯的繪圖裝置,其特征在于,其中上述的繪圖單元包含記錄并更新相應(yīng)于每一個(gè)該像素的一深度值與一模版值,其中該模版值是用以界定位于該圖幅的陰影空間內(nèi)的像素。
      4.如權(quán)利要求3所述的具有調(diào)適性陰影空間演算邏輯的繪圖裝置,其特征在于,其中上述的繪圖單元對(duì)該陰影空間的彩現(xiàn)包含以復(fù)數(shù)個(gè)陰影空間多邊形對(duì)該復(fù)數(shù)個(gè)像素所相應(yīng)的該深度值進(jìn)行一深度測(cè)試,以更新該復(fù)數(shù)個(gè)像素所相應(yīng)的該模版值,其中該復(fù)數(shù)個(gè)陰影空間多邊形是用以呈現(xiàn)陰影空間。
      5.如權(quán)利要求4所述的具有調(diào)適性陰影空間演算邏輯的繪圖裝置,其特征在于,其中上述的深度測(cè)試包含一粗略深度測(cè)試與一一般深度測(cè)試,該一般深度測(cè)試是以單一像素逐一進(jìn)行測(cè)試,該粗略深度測(cè)試是以復(fù)數(shù)個(gè)像素為一區(qū)塊來(lái)同時(shí)進(jìn)行測(cè)試。
      6.如權(quán)利要求5所述的具有調(diào)適性陰影空間演算邏輯的繪圖裝置,其特征在于,其中上述的粗略深度測(cè)試的結(jié)果是全區(qū)塊的該像素為全深度通過(guò)、全深度失敗與無(wú)法判定中的一種。
      7.如權(quán)利要求6所述的具有調(diào)適性陰影空間演算邏輯的繪圖裝置,其特征在于,其中上述的粗略深度測(cè)試的結(jié)果為無(wú)法判定時(shí),則該區(qū)塊的該像素另外進(jìn)行一般深度測(cè)試。
      8.如權(quán)利要求3所述的具有調(diào)適性陰影空間演算邏輯的繪圖裝置,其特征在于,其中上述的繪圖單元還包含在該深度測(cè)試中,對(duì)每一個(gè)陰影空間多邊形深度通過(guò)的像素?cái)?shù)量累計(jì)以統(tǒng)計(jì)出該深度通過(guò)統(tǒng)計(jì)值,并且對(duì)每一個(gè)陰影空間多邊形深度失敗的像素?cái)?shù)量累計(jì)以統(tǒng)計(jì)出該深度失敗統(tǒng)計(jì)值。
      9.如權(quán)利要求3所述的具有調(diào)適性陰影空間演算邏輯的繪圖裝置,其特征在于,其中上述的深度通過(guò)算法是對(duì)每一個(gè)陰影空間多邊形深度通過(guò)的該像素所相應(yīng)的該模版值更新,并且該深度通過(guò)算法是對(duì)每一個(gè)陰影空間多邊形深度失敗的該像素所相應(yīng)的該模版值更新。
      10.如權(quán)利要求1所述的具有調(diào)適性陰影空間演算邏輯的繪圖裝置,其特征在于,其中上述的選擇單元是在該深度通過(guò)統(tǒng)計(jì)值大于該深度失敗統(tǒng)計(jì)值時(shí)選擇以該深度失敗算法做為該預(yù)射的陰影空間算法,并且在該深度通過(guò)統(tǒng)計(jì)值不大于該深度失敗統(tǒng)計(jì)值時(shí)選擇以該深度通過(guò)算法做為該預(yù)射的陰影空間算法。
      全文摘要
      本發(fā)明揭示了一種調(diào)適性陰影空間算法的陰影產(chǎn)生方法與裝置。在對(duì)一圖幅(frame)彩現(xiàn)(render)陰影空間(shadowvolume rendering)時(shí),由統(tǒng)計(jì)深度通過(guò)(z pass)與深度失敗(z fail)的數(shù)量,來(lái)推知以深度通過(guò)算法與深度失敗算法間分別運(yùn)算于此圖幅的效能。據(jù)此,便可以依據(jù)其中較佳者來(lái)做為下一圖幅的陰影空間算法。
      文檔編號(hào)G06T15/60GK1737854SQ20051009986
      公開(kāi)日2006年2月22日 申請(qǐng)日期2005年9月9日 優(yōu)先權(quán)日2005年9月9日
      發(fā)明者李潤(rùn)容, 彭紹貞 申請(qǐng)人:威盛電子股份有限公司
      網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1