欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

自適應(yīng)濃淡的方法和設(shè)備的制作方法

文檔序號(hào):6416252閱讀:311來(lái)源:國(guó)知局
專利名稱:自適應(yīng)濃淡的方法和設(shè)備的制作方法
技術(shù)領(lǐng)域
本發(fā)明的方法和設(shè)備涉及計(jì)算機(jī)生成圖象的產(chǎn)生的領(lǐng)域。具體地說(shuō),本發(fā)明的方法和設(shè)備涉及計(jì)算機(jī)生成圖象的濃淡(Shading)。
一般而言,在產(chǎn)生數(shù)字圖象的計(jì)算機(jī)圖形系統(tǒng)中,將物體的表面表示為平面多邊形的網(wǎng)格??捎靡阎夹g(shù)對(duì)這些多邊形作快速變換和復(fù)制。這些技術(shù)假設(shè)輸入為其頂點(diǎn)屬性為位置、法線和顏色(如

圖1a所示)的簡(jiǎn)單的三角形。例如在物體坐標(biāo)空間定義頂點(diǎn)位置。頂點(diǎn)法線為描述每個(gè)頂點(diǎn)處表面方向的單位矢量。頂點(diǎn)顏色說(shuō)明該物體本身的顏色。該頂點(diǎn)顏色屬性允許該物體顏色在三角形內(nèi)變化。
為在計(jì)算機(jī)圖形顯示器上產(chǎn)生物體的逼真的圖象,不僅要產(chǎn)生物體的形狀,而且涉及物體可見(jiàn)表面的陰影濃淡,考慮到光源、表面特征及表面與光源的位置和方向。三種反射函數(shù)的組合可用于確定圖象的濃淡。這三種反射函數(shù)是背景反射,漫反射和鏡面反射。背景反射是物體從隨機(jī)光源汲收并放出的光。與光的方向不相干。背景函數(shù)簡(jiǎn)單地比例增減該物體顏色。例如,對(duì)紅、綠和藍(lán)的背景加權(quán)為Kar,Kag,Kab,則可將背景反射函數(shù)描述為lar=Kar*Crlag=Kag*Cglab=Kab*Cb其中,lar,lag,lab分別為紅、綠和藍(lán)顏色單元的背景反射,Kar,Kag,Kab為顏色單元紅、綠和藍(lán)的背景加權(quán),而Cr,Cg,Cb為物體紅、綠和藍(lán)單元的客體色彩或色彩強(qiáng)度。背景加權(quán)的范圍是0≤Kar≤1,0≤Kag≤1,0≤Kab≤1應(yīng)注意到,背景加權(quán)Kar、Kag、Kab和以下的漫反散加權(quán)Kdr、Kdg、Kdb實(shí)際上為兩個(gè)項(xiàng)的乘積。第一個(gè)項(xiàng)表示該分量的光強(qiáng)度。第二個(gè)項(xiàng)表示該物體表面反射該分量的能力。由于都與背景幾何形狀無(wú)關(guān),因此將兩個(gè)項(xiàng)組合為加權(quán)。如背景包括多個(gè)光源,則對(duì)每個(gè)光源就有獨(dú)立的加權(quán)。
黯淡、無(wú)光澤表面呈現(xiàn)漫反散,所有方向上相等的散射光,使得該表面顯得從所有的視角來(lái)看具有相同的亮度。對(duì)這種表面,Lamber的余弦定律說(shuō)明反射光量與方向L和點(diǎn)光源之間角度α的余弦相關(guān),而該表面的法線矢量N如圖1b所示。漫反射可用下面的等式給出ldr=Cos(α)*Kdr*Crldg=Cos(α)*Kdg*Cgldb=Cos(α)*Kdb*Cb其中,Cos(α)等于N·L(因?yàn)槁瓷浔仨殲檎珻os(α)的計(jì)算要求Cos(α)=max(Cos(α),0)),而ldr,ldg,ldb分別為紅、綠、藍(lán)單元的漫反射數(shù)值,Kdr,Kdg,Kdb為光源的紅、綠、藍(lán)單元的漫反射系數(shù)(為0到1間的常數(shù),隨表面材料而變),而Cr、Cg、Cb為表面紅、綠、藍(lán)單元的顏色。
鏡面反射是發(fā)光表面上觀察到的強(qiáng)光。由馮必同(Bui TuongPhong)研制出的模型將鏡面反射轉(zhuǎn)變?yōu)檠埸c(diǎn)矢量V和與最大反射對(duì)齊的矢量R之間角度的余弦的函數(shù),如圖1b所示(參見(jiàn)Phong,B.T的Salt Lake City、Utah大學(xué)計(jì)算機(jī)科學(xué)系博士論文“計(jì)算機(jī)生成圖象的亮度”,政府征訂號(hào)AD-A0008-766(1973年7月))。關(guān)于背景、漫反射和鏡面反射的進(jìn)一步信息也可參見(jiàn)Foley和Van Dam所著《交互式計(jì)算機(jī)圖形學(xué)基礎(chǔ)》(Addison Wesley 1983),PP.575-580以及Cook和Torrance所著《計(jì)算機(jī)圖形學(xué)的反射模型》,刊于“計(jì)算機(jī)圖形學(xué)”第15卷,第3號(hào),1981年8月。
反射量是相加的,這樣,如果三個(gè)獨(dú)立光源發(fā)光到一表面,可通過(guò)對(duì)每個(gè)光源確定反射量并將每個(gè)光源所確定的反射量相加來(lái)計(jì)算該表面上的反射量。在制定反射類型和反射量時(shí),應(yīng)認(rèn)識(shí)到存在不同類型的光源。一種情形出現(xiàn)在距離光源無(wú)窮遠(yuǎn)時(shí)。該光源的說(shuō)明可簡(jiǎn)化為如下的簡(jiǎn)單的光矢量L=Lx,Ly,Lz其中,光矢量的大小等于|L|=sqrt(Lr2+Ly2+Lz2)而對(duì)無(wú)窮遠(yuǎn)光源,|L|的值等于1。
另一情形發(fā)生在距離光源是有限的,但發(fā)光模式是各向同性的。因此該光在所有方向上發(fā)光強(qiáng)度相同。這時(shí)光源的說(shuō)明簡(jiǎn)化為光位置Q=Qx、Qy、Qz光矢量,即相對(duì)于頂點(diǎn)位置Px、Py、Pz的光位置為
L=Qx-Px,Qy-Py,Qx-Pz其中,大小為|L|=sqrt((Qx-Px)2+(Qy-Py)2+(Qz-Pz)2)由于該大小不為1,而亮度方程需要單位矢量,因此將光矢量歸一化L=(Qx-Px)/|L|,(Qy-Py)/|L|,(Q-Pz)/|L|最后一種情形發(fā)生在發(fā)光模式不是各向同性時(shí)。由于發(fā)光模式不是各向同性的,光源的說(shuō)明需要表明發(fā)光模式函數(shù)的模式矢量K=Kx、Ky、Kz該模式矢量用以說(shuō)明光強(qiáng)最大的方向。照射到該物體的光隨著矢量L和模式矢量K之間的角度的增加而減少。光矢量在包括模式函數(shù)之前,表述如下L=(Qx-Px)/|L|,(Qy-Py)/|L|,(Qz-Pz)/|L|其中大小為| L|=sqrf((Qx-Px)2+(Qy-Py)2+(Qz-Pz)2)將強(qiáng)度調(diào)整為光矢量和模式矢量之間角度的函數(shù)的模式函數(shù)常常為
Cos(χ)=Kx*Lx+Ky*Ly+Kz*Lz光矢量吸收該數(shù)值而變?yōu)長(zhǎng)=Cos(χ)*Lx,Cos(χ)*Ly,Cos(χ)*Lz,計(jì)算機(jī)圖形系統(tǒng)通常將圖象曲面表示為平面多邊形的網(wǎng)格,這些多邊形加有濃淡以恢復(fù)光滑外觀。系統(tǒng)通過(guò)改變多邊形上的強(qiáng)度來(lái)恢復(fù)平滑外觀。盡管已有一些用于多邊形逼真的濃淡技術(shù),但因?qū)γ總€(gè)象素需要大量的計(jì)算故實(shí)時(shí)系統(tǒng)并未使用這些技術(shù)??蓤?zhí)行的最簡(jiǎn)單的濃淡計(jì)算是漫反射計(jì)算,即按照漫射光的Lambert定律。然而,該計(jì)算假設(shè)從所有視角看的反射具有相同亮度。由于簡(jiǎn)單的漫反射公式不能以表面的物理屬性,例如粗糙系數(shù),加到反射等式上,則該表達(dá)式只是近似于該反射。例如,該表達(dá)式不能說(shuō)明當(dāng)光射到金屬表面時(shí)波長(zhǎng)如何以入射角偏移。該波長(zhǎng)偏移使顏色發(fā)生變化。此外,該簡(jiǎn)單的漫射等式并未考慮光如何從表面散射到表面。
又,漫反射的最簡(jiǎn)單形式假定反射在整個(gè)面或多邊形上是不變的。盡管這是簡(jiǎn)單的計(jì)算,但在多邊形之間邊界上的強(qiáng)度也常常是不連續(xù)的。一種實(shí)時(shí)執(zhí)行圖象濃淡的較好技術(shù)稱為Gouraud濃淡。使用Gouraud濃淡技術(shù),每個(gè)點(diǎn)的強(qiáng)度可通過(guò)在該多邊形各頂點(diǎn)上強(qiáng)度的線性內(nèi)插加以計(jì)算。這些強(qiáng)度用在各頂點(diǎn)給出法向的漫反射的反射等式確定的。關(guān)于Gouraud濃淡的進(jìn)一步信息,參見(jiàn)Gouraud.H所著“曲表面的連續(xù)濃淡”,IEEE計(jì)算機(jī)匯刊第20卷,第6號(hào),PP623-628(1971年6月)。然而,該技術(shù)僅考慮了漫反射,這樣,用該技術(shù)濃淡后的表面顯得黯淡。此外,由于不連續(xù)的強(qiáng)度變化,該圖象在多邊形邊界上反射馬赫帶。
馮氏濃淡(Phong Shading)技術(shù)照亮黯淡表面并減少由Gourand濃淡技術(shù)產(chǎn)生的馬赫帶,但由于產(chǎn)生圖象需要大量計(jì)算機(jī)時(shí)間及費(fèi)用通常并沒(méi)有用在實(shí)時(shí)系統(tǒng)中。使用該技術(shù),用根據(jù)在各頂點(diǎn)說(shuō)明的真實(shí)平面法線線性內(nèi)插的近似平面法線來(lái)確定每個(gè)點(diǎn)的強(qiáng)度。馮氏濃淡利用等式N(x.y)=Ax+Bx+C,其中A、B、C為選擇用于內(nèi)插多邊形法線的頂點(diǎn)。馮氏濃淡對(duì)每個(gè)象素需要7次加法、6次乘法、1次除法和1次平方根運(yùn)算。該運(yùn)算很費(fèi)錢和時(shí)間,尤其是由于它包括了平方根計(jì)算。關(guān)于馮氏濃淡技術(shù)的進(jìn)一步信息,參見(jiàn)Salt Lake City的Ufah大學(xué)計(jì)算如科學(xué)系博士論文“計(jì)算機(jī)生成圖象的亮度”(政府征訂號(hào)AD-A0008-786)。
馮氏濃淡計(jì)算由Tom Duff加以簡(jiǎn)化,如Tom Duff在“ACM計(jì)算機(jī)圖形學(xué)”第13卷第2號(hào)PP.270-275(1979)上發(fā)表的”光柵顯示的多面體物體的平滑濃淡再現(xiàn)”中所述。Duff通過(guò)組合內(nèi)插和反射來(lái)簡(jiǎn)化馮氏濃淡Idiffuse(x,y)=L|L|·Ax+By+C|L||Ax+By+C|]]>=L·A+L·By+C|L||L·Ax+L·By+L·C|]]>=ax+by+csqrt(dx2+exy+fy2+gx+ny+2)]]>其中,a=L·A|L|]]>b=L·B|L|]]>c=L·C|L|]]>d=A·Ae=2A·Bf=B·Bg=2A·Cn=2B·Ci=C·C這樣可對(duì)該實(shí)現(xiàn)評(píng)估,對(duì)連續(xù)的X和Y值,對(duì)每個(gè)象素只需3次加法、1次除法和1次平方根。雖然這是對(duì)馮氏公式的一種改進(jìn),但除法和平方根計(jì)算還是使得該技術(shù)對(duì)實(shí)時(shí)實(shí)現(xiàn)來(lái)說(shuō)太耗時(shí)、太昂貴。
在馮氏濃淡的另一種實(shí)現(xiàn)中,計(jì)算反射方程的近似值,從而節(jié)約精確計(jì)算反射方程所需的時(shí)間和費(fèi)用。在Weimer發(fā)表在“計(jì)算機(jī)圖形學(xué)”第20卷、第4號(hào)(1986)PP.103-105的“快速馮氏濃淡技術(shù)”的文章中,將二階泰勒級(jí)數(shù)近似用來(lái)計(jì)算該反射。為簡(jiǎn)化該近似,移動(dòng)該多邊形使坐標(biāo)原點(diǎn)(0,0)位于該多邊形的中心。使用該技術(shù),計(jì)算象素的強(qiáng)度只要對(duì)各象素上進(jìn)行兩次加法。
然而,在以上所有技術(shù)中,使用相同函數(shù)來(lái)判定圖象中所有多邊形的反射。如果該圖象中有些多邊形的反射。如果該圖象中有些多邊形的反射在所要求的質(zhì)量水平上只能用復(fù)雜的、費(fèi)時(shí)的過(guò)程來(lái)判定,則用相同過(guò)程來(lái)處理所有多邊形。這樣,盡管可用較簡(jiǎn)單較快過(guò)程判定相當(dāng)多數(shù)的多邊形的反射,但為恢復(fù)圖象質(zhì)量,使用復(fù)雜費(fèi)時(shí)的過(guò)程來(lái)獲得該圖象所要求質(zhì)量。
本發(fā)明的目的是提供產(chǎn)生濃淡圖象的實(shí)時(shí)技術(shù)。
本發(fā)明的目的是提供一種用于圖象濃淡的自適應(yīng)方法,根據(jù)表面的曲率、該表面上光矢量變化以及該表面觀測(cè)矢量變化決定圖象濃淡的技術(shù)。
在本發(fā)明的方法和設(shè)備中,使用自適應(yīng)濃淡方法實(shí)時(shí)地產(chǎn)生濃淡圖象。首先對(duì)多邊形各個(gè)頂點(diǎn)計(jì)算色彩或強(qiáng)度。然后執(zhí)行一系列測(cè)試判定被用于對(duì)兩頂點(diǎn)間的多邊形內(nèi)插色彩或強(qiáng)度的該階方程。使用該技術(shù),略有或沒(méi)有曲率的多邊形和無(wú)限光源(最簡(jiǎn)單的濃淡形式)可使用極快的低階方程來(lái)對(duì)該多邊形內(nèi)插。具有高曲率的多邊形和(或)位置光源將使用(如必要)需要額外計(jì)算時(shí)間但產(chǎn)生理想濃淡結(jié)果的較高階方程。
通過(guò)以下對(duì)本發(fā)明的描述,本發(fā)明的目的特征和優(yōu)點(diǎn)會(huì)十分顯而易見(jiàn),附圖中,圖1a和1b說(shuō)明先有的濃淡技術(shù)所述術(shù)語(yǔ)及變量。
圖2說(shuō)明鏡面濃淡計(jì)算所用幾何圖形。
圖3是本發(fā)明系統(tǒng)中所用說(shuō)明性的計(jì)算機(jī)系統(tǒng)。
圖4a、4b和4c說(shuō)明需要較高階方程產(chǎn)生高質(zhì)量濃淡圖象的表面的光照。
圖5是說(shuō)明本發(fā)明最佳實(shí)施例的流程圖。
圖6a和6b是說(shuō)明本發(fā)明的另一最佳實(shí)施例的流程圖。
圖7a-7d說(shuō)明本發(fā)明最佳實(shí)施例中所用術(shù)語(yǔ)和變量。
圖8a、8b、8c進(jìn)一步說(shuō)明本發(fā)明最佳實(shí)施例中所用術(shù)語(yǔ)及變量。
圖9是將按本發(fā)明的系統(tǒng)產(chǎn)生的圖象質(zhì)量與按馮氏濃淡方法產(chǎn)生的圖象質(zhì)量進(jìn)行比較的表格。
圖10a-10e說(shuō)明在本發(fā)明系統(tǒng)中使用二階和三階方程時(shí)所用術(shù)語(yǔ)及變量。
圖11a-11d說(shuō)明在本發(fā)明系統(tǒng)中使用平面方程時(shí)所用術(shù)語(yǔ)及變量。
大致通過(guò)算法和計(jì)算機(jī)存儲(chǔ)器內(nèi)數(shù)據(jù)位上操作的符號(hào)表示給出如下的詳細(xì)說(shuō)明。這些算法說(shuō)明和表示是為數(shù)據(jù)處理領(lǐng)域技術(shù)人員所用的手段,以便有效地將他們工作的實(shí)質(zhì)傳達(dá)給該領(lǐng)域其它人。
這里的算法通常被認(rèn)為是可導(dǎo)出理想結(jié)果的前后一致的步驟序列。這些步驟需要物理量的物理操縱。通常,雖不是必需的,這些量采取可被存儲(chǔ)、傳送、組合、比較和其它操縱的電或磁信號(hào)的形式。這已屢屢被證明是方便的,主要是公共用法的原因,即將這些信號(hào)視為位、數(shù)值,單元、符號(hào)、字符、項(xiàng)、數(shù)字等等。然而應(yīng)該記住,所有這些以及類似的項(xiàng)和適當(dāng)?shù)奈锢砹筷P(guān)聯(lián),并且是用在這些量上非常方便的標(biāo)記。
所作操縱常認(rèn)為是諸如加法或比較,它們通常和由操作者所作智力運(yùn)算相聯(lián)系。在大多數(shù)情形下,在本文描述的形成本發(fā)明一部分的操作中,沒(méi)有這些能力的操作人員是必須的、即合乎要求的,而這些運(yùn)算為機(jī)器運(yùn)算。執(zhí)行本發(fā)明操作的有用的機(jī)器包括通用數(shù)字計(jì)算機(jī)或其它類似裝置。在任何情形下,應(yīng)牢記操作計(jì)算機(jī)的操作方法和計(jì)算機(jī)本身方法之間的區(qū)別。本發(fā)明涉及用處理的電子或其它(機(jī)械、化學(xué)的)物理信號(hào)來(lái)操作計(jì)算機(jī)以產(chǎn)生其它合乎要求的物理信號(hào)的方法步驟。
本發(fā)明也涉及執(zhí)行這些操作的裝置。該裝置可為所要求目的來(lái)專門構(gòu)造或可包含由存儲(chǔ)在計(jì)算機(jī)中的計(jì)算機(jī)程序有選擇啟動(dòng)或重構(gòu)的通用計(jì)算機(jī)。本文給出的算法并不限定于具體計(jì)算機(jī)或其它裝置。具體而言,各種通用機(jī)器可為按本文所寫程序所用,否則構(gòu)造更專門的裝置來(lái)執(zhí)行所要求方法步驟則更為便利。對(duì)種種這些機(jī)器所要求結(jié)構(gòu)將在以下說(shuō)明中給出。
圖3示出典型的按照本發(fā)明的用于多邊形自適應(yīng)圖象濃淡的基于計(jì)算機(jī)的系統(tǒng)。示出的計(jì)算機(jī)101包含三個(gè)主要部件。其中第一個(gè)部件是用于以適當(dāng)構(gòu)造的形式與計(jì)算機(jī)101其它部件往返傳輸信息的輸入/輸出(I/O)電路102。示出的計(jì)算機(jī)101的一部分為中央處理器(CPU)103和存儲(chǔ)器104。這后兩個(gè)單元通常可在大多數(shù)通用計(jì)算機(jī)以及幾乎所有專用計(jì)算機(jī)中找到。事實(shí)上,計(jì)算機(jī)101中所含好幾個(gè)單元是用于代表這種廣泛種類的數(shù)字處理器的。起到計(jì)算機(jī)101作用的適當(dāng)?shù)臄?shù)據(jù)處理器的特定例子包括由California,Mountain View,Sun Microsystems,Ine制造的機(jī)器。其它具有類似功能的計(jì)算機(jī)當(dāng)然也可直接采用來(lái)執(zhí)行以下所述功能。
圖3也示出了輸入裝置105,在典型實(shí)施例中示出為一個(gè)鍵盤。然而應(yīng)該理解,該輸入裝置實(shí)際上可以是讀卡機(jī)、磁帶或紙帶機(jī)或其它從頭到尾的設(shè)備(當(dāng)然包括另一計(jì)算機(jī))。大容量存儲(chǔ)裝置106耦合到I/O電路102并對(duì)計(jì)算機(jī)101提供附加的存儲(chǔ)能力。該大容量存儲(chǔ)器可包含其它程序等并可采用磁帶機(jī)或紙帶機(jī)或其它眾所周知裝置的形式。應(yīng)該理解大容量存儲(chǔ)器106中所保留的數(shù)據(jù)在適當(dāng)場(chǎng)合可以標(biāo)準(zhǔn)方式并入計(jì)算機(jī)101作為存儲(chǔ)器104的一部分。
此外,示出的顯示監(jiān)視器107用于顯示報(bào)文或與用戶的其它通信以及圖形圖象,例如,按照本發(fā)明的的過(guò)程再現(xiàn)的濃淡圖象。顯示監(jiān)示器包含稱為象素的顯示單元的矩陣。這些象素以特定圖案和預(yù)定強(qiáng)度被激活或接通以在顯示器上產(chǎn)生圖形圖象。如該顯示器為彩色監(jiān)視器,對(duì)每個(gè)基色單元例如紅、綠和藍(lán)單元,以特定圖案和預(yù)定強(qiáng)度激活這些象素。顯示圖象的觀看者視覺(jué)上將每個(gè)象素上紅、綠、藍(lán)單元組合而辨識(shí)為彩色圖象。這些顯示監(jiān)示器可采用幾種已知的各CRT顯示器中任何一種形式。將圖形圖象數(shù)據(jù)提供給幀緩沖器108。I/O電路102從幀緩沖器108中讀出圖形數(shù)據(jù),并以圖形圖象數(shù)據(jù)規(guī)定的位置和強(qiáng)度激活顯示監(jiān)示器107上相應(yīng)象素。光標(biāo)控制109用于選擇命令狀態(tài)、編輯輸入數(shù)據(jù),并且一般提供將信息輸入到該系統(tǒng)的更方便的手段。
在本發(fā)明中的判定多邊形表面陰影量的步驟適應(yīng)于多邊形曲率、相應(yīng)于多邊形表面的光源位置以及眼點(diǎn)位置(即,相對(duì)于多邊形表面的觀看者眼睛的位置)。多邊形曲率越大,光源離多邊形越近,眼點(diǎn)離多邊形越近,多邊形表面反射偏差越大,則精確判定該多邊形表面濃淡的量所需的步驟越多。
該觀察用于提供重現(xiàn)高質(zhì)量圖象的過(guò)程而不必統(tǒng)一使用高階濃淡方程產(chǎn)生高質(zhì)量圖象所需的計(jì)算開銷和費(fèi)用。執(zhí)行一系列測(cè)試判定曲率量、光源位置和眼點(diǎn)對(duì)多邊形的位置。如果曲率量為最小、到光源和眼點(diǎn)的距離大,則使用簡(jiǎn)單快速零階方程計(jì)算多邊形的反射。如法向矢量變動(dòng)小,指出沒(méi)有什么表面曲率,而且光矢量變化和眼矢量變化小,則多邊形上反射量不變是可能的。如果反射量變化小,例如,如果反射變化小于1/256,該變化對(duì)觀看者幾乎不可察覺(jué),而當(dāng)反射變化小于1/64,變化仍是輕微的。這樣用不變的色彩值來(lái)近似色彩變化是可能的。
當(dāng)多邊形上反射量變化增加,例如較高階的方程來(lái)計(jì)算多邊形上的反射。這產(chǎn)生了不能用零階方程實(shí)現(xiàn)的更精確的反射表達(dá)式。隨著曲率量變大和(或)光源位置變近使從多邊形頂點(diǎn)到光源的方向矢量從頂點(diǎn)到頂點(diǎn)發(fā)生變化,則使用較高階方程。較高階方程雖然計(jì)算強(qiáng)度大但要重現(xiàn)高質(zhì)量圖象就必須使用,因?yàn)槎噙呅伪砻嫔戏瓷淞孔兓瘜?duì)觀看者明顯可見(jiàn),所以多邊形上濃淡量不是恒定不變的。
圖4a、4b和4c示出用零階、一階表達(dá)式判定反射不合適的三種情形。參考圖4a,假定三角形的表面曲率是大的。因此,頂點(diǎn)法向矢量N變化而頂點(diǎn)法矢量到頂點(diǎn)光矢量L投影的漫反射也發(fā)生變化。這樣,最好選擇方程的階來(lái)保留該反射變化。在該實(shí)例中,一階方程并不合適,所以系統(tǒng)應(yīng)選擇下一較高階(馮氏)方程來(lái)模擬反射。應(yīng)注意到,馮氏方程嚴(yán)格地說(shuō)不是二階方程。該技術(shù)涉及歸一化,它對(duì)每個(gè)象素需一次平方根和除法。然而,有文獻(xiàn)(參見(jiàn)Wemer“快速馮氏濃淡”,發(fā)表于“計(jì)算機(jī)圖形學(xué)”第20卷第4號(hào)(1986),PP.103-105)已指出二階方程近似于該結(jié)果。因此,除了指出之處,認(rèn)為馮氏方程為二階方程。
假定圖4b所示三角形無(wú)曲率,則頂點(diǎn)法向矢量相同,但光源位置正好在三角形表面之上。因此,頂點(diǎn)光矢量變化而頂點(diǎn)法矢量到頂點(diǎn)光矢量投影的漫反散發(fā)生變化。然后應(yīng)選擇可保留該變化的方程階數(shù)。
參考圖4c,假定三角形元曲率,但眼點(diǎn)位置正好在三角形表面之上。這樣頂點(diǎn)眼點(diǎn)矢量變化,涉及頂點(diǎn)法向矢量到頂點(diǎn)眼點(diǎn)矢量的投影的鏡面反射變化。本發(fā)明的系統(tǒng)應(yīng)檢測(cè)這種情形并選擇保留該反射變化的方程階數(shù)。
這樣,系統(tǒng)將具較低質(zhì)量圖象的快速、低成本計(jì)算的優(yōu)點(diǎn)和具有較高質(zhì)量圖象的慢速、高成本計(jì)算進(jìn)行均衡。快速低成本計(jì)算機(jī)最好用于判定多邊形上的反射量,然而,如果多邊形曲率、光源位置或眼點(diǎn)位置指出該表面上顯著的反射變化,則使用較高階方程來(lái)再現(xiàn)高質(zhì)量圖象。這樣只有在必要時(shí)才執(zhí)行較慢的、費(fèi)用高的高階計(jì)算。具有小曲率、距離光源遠(yuǎn)、距離眼點(diǎn)遠(yuǎn)的多邊形使用低階方程快速而低廉地進(jìn)行計(jì)算。業(yè)已發(fā)現(xiàn),構(gòu)成圖象的多邊形的實(shí)質(zhì)性部分可用零階或一階方程來(lái)再現(xiàn)。使用本發(fā)明自適應(yīng)濃淡系統(tǒng)產(chǎn)生再現(xiàn)圖象比使用圖象質(zhì)量略有或沒(méi)有可分辨的下降的較高階方程重現(xiàn)圖象要快20~50%。
在最佳實(shí)施例中,使用三種類型的方程來(lái)計(jì)算多邊形的反射量零階、一階和二階。零階方程對(duì)整個(gè)多邊形表面計(jì)算恒定的數(shù)值。最好是,零階方程按照Lambert定律并按以下式子計(jì)算漫反射加權(quán)Cos(α)=N·L
其中N為表面法線而L是光矢量。該法線可以是頂點(diǎn)法線或表面上任一點(diǎn)上的法線。該法線最好是頂點(diǎn)法線的平均法線。
一階等式最好按照Gouraud濃淡技術(shù)計(jì)算。當(dāng)多邊形表面反射變化小時(shí),Gouraud技術(shù)產(chǎn)生質(zhì)量足夠的圖象。當(dāng)多邊形上反射變化顯著時(shí),指出需使用二階方程,最好使用馮氏濃淡技術(shù)。
參考圖5、6a和6b說(shuō)明本發(fā)明的過(guò)程。圖5示出對(duì)本發(fā)明第一實(shí)施例的過(guò)程流圖,而圖6a和6b示出本發(fā)明其它實(shí)施例的過(guò)程流圖。相對(duì)于使用掃描線技術(shù)的圖象再現(xiàn)來(lái)說(shuō)明最佳實(shí)施例,然而,對(duì)本領(lǐng)域技術(shù)人員明顯的是,本發(fā)明不但可應(yīng)用于掃描線技術(shù),而且可用于其它技術(shù),例如平面方程,在多邊形各頂點(diǎn)或多邊形其它邊界條件下內(nèi)插顏色。
使用掃描線技術(shù),判定顯示單元與各掃描線的多邊形交點(diǎn),用諸如上述零階、一階或二階方程的已知的濃淡方程,從頂點(diǎn)屬性(色彩、位置和法線)導(dǎo)出這些顯示單元中每一個(gè)的顏色。為內(nèi)插顯示單元多邊形交點(diǎn)的頂點(diǎn)屬性(或其它邊界條件)判定差分變量。該差分變量說(shuō)明多邊形邊界和多邊形邊界間掃描線上頂點(diǎn)屬性(深度、法線、色彩)的增量。在大多數(shù)情形下,如下所說(shuō)明判定法向差分變量(以及色彩和位置)。然而,如果本文所述測(cè)試標(biāo)準(zhǔn)指出光矢量和(或)眼矢量變化了,則以判定法向差分變量相同方式判定其差分變量,也在該多邊形內(nèi)插屬性。
參考7a和7b,先按下式判定位置、法向、和色彩的差分變量dPx(1)=Px(2)-Px(1)dPx(2)=Px(3)-Px(2)dPx(3)=Px(1)-Px(3)dPy(1)=Py(2)-Py(1)dPy(2)=Py(3)-Py(2)dPy(3)=Py(1)-Py(3)dPz(1)=Pz(2)-P2(1)dPz(2)=Pz(3)-Pz(2)dPz(3)=Pz(1)-Pz(3)dNx(1)=Nx(2)-Nx(1)dNx(2)=Nx(3)-Nx(2)dNx(3)=Nx(1)-Nx(3)dNy(1)=Ny(2)-Ny(1)dNy(2)=Ny(3)-Ny(2)dNy(3)=Ny(1)-Ny(3)dNz(1)=Nz(2)-Nz(1)dNz(2)=Nz(3)-Nz(2)dNz(3)=Nz(1)-Nz(3)dCr(1)=Cr(2)-Cr(1)dCdr(2)=Cr(3)-Cr(2) dCr(3)=Cr(1)-Cr(3)dCg(1)=Cg(2)-Cg(1)dCg(2)=Cg(3)-Cg(2)dCg(3)=Cg(1)-Cg(3)dCb(1)=Cb(2)-Cb·(1) dCb(2)=Cb(3)-Cb(2)dCb(3)=Cb(1)-Cb(3)其中,dPx(1),dPy(1),dPz(1)表示第一頂點(diǎn)和第二頂點(diǎn)之間邊的位置差分變量;dPx(2),dPy(2),dPz(2)表示第二頂點(diǎn)和第三頂點(diǎn)之間邊的位置差分變量;dPx(3),dPy(3),dPz(3)表示第三頂點(diǎn)和第一頂點(diǎn)之間邊的位置差分變量。變量dNx(1),dNy(1),dNz(1)表示第一頂點(diǎn)和第二頂點(diǎn)的法線的法向差分變量;dNx(2),dNy(2),dNz(2)為第二頂點(diǎn)和第三頂點(diǎn)法線的法向差分變量;而dNx(3),dNy(3),dNz(3)是第三頂點(diǎn)和第一頂點(diǎn)法線的法向差分變量。變量dCr(1),dCg(1),dCb(1)表示第一頂點(diǎn)與第二頂點(diǎn)連線的色彩差分變量;變量dCr(2),dCg(2),dCb(2)表示第二頂點(diǎn)與第三頂點(diǎn)連線的色彩差分變量;而dCr(3),dCg(3)和dCb(3)表示第三頂點(diǎn)與第一項(xiàng)點(diǎn)間連線的色彩差分變量。
根據(jù)位置差分變量(dPx對(duì)dPy)的大小可確定主軸。該主軸指示多邊形重現(xiàn)方向。在本說(shuō)明例中,第一邊和第二邊的主軸為y軸,第三邊的主軸為x軸。次軸的位置差分變量由主軸差分變量所劃分,導(dǎo)出次軸增量。然后根據(jù)掃描線再現(xiàn)技術(shù)用一個(gè)單位的增量遍歷三角形各邊。然后分類各頂點(diǎn)以判定每條掃描線的左邊和右邊。
按照掃描線技術(shù)的邏輯,將掃描線方程中描述頂點(diǎn)間的邊的變量初始化為頂占點(diǎn)屬性,而將從差分變量導(dǎo)出的遞增變量用于遍歷該多邊形。位置差分變量在由主軸劃分之后,導(dǎo)出歸一化的位置增量,法線差分變量由主軸劃分以后導(dǎo)出歸一化法線增量,以及色彩差分變量由主軸劃分以后導(dǎo)出歸一化色彩增量dPx(1):=dPx(1)/dPy(1) dPx(2):=dPx(2)/dPy(2)dPx(3):=1dPy(1):=1 dPy(2):=1dPy(3):=dPy(3)/dPx(3)dPz(1):=dPz(1)/dPx(1) dPz(2):=dPz(2)/dPx(2)dPz(3):=dPz(3)/dPx(3)dNx(1):=dNx(1)/dPy(1) dNx(2):=dNx(2)/dPy(2)dNx(3):=dPz(3)/dPx(3)dNy(1):=dNy(1)/dPy(1) dNy(2):=dNy(2)/dPy(2)dNy(3):=dPy(3)/dPx(3)dNz(1):=dNz(1)/dPy(1) dNz(2):=dNz(2)/dPy(2)dNz(3):=dPz(3)/dPx(3)dCr(1):=dCr(1)/dPy(1) dCr(2):=dCr(2)/dPy(2)dCr(3):=dCr(3)/dPx(3)dCg(1):=dCg(1)/dPy(1) dCg(2):=dCg(2)/dPy(2)dCg(3):=dCg(3)/dPx(3)dCb(1):=dCb(1)/dPy(1) dCb(2):=dCb(2)/dPy(2)dCb(3):=dCb(3)/dPx(3)然后利用增量值,使用邊內(nèi)插邏輯沿三角形各邊內(nèi)插頂點(diǎn)屬性Px(1):=Px(1)+dPx(1)Px(2):=Px(2)+dPx(2) Px(3):=Px(3)+1Py(1):=Px(1)+1 Py(2):=Py(2)+1Py(3):=Py(3)+dPy(3)Pz(1):=Pz(1)+dPz(1)Pz(2):=Pz(2)+dPz(2) Pz(3):=Pz(3)+dPz(3)Nx(1):=Nx(1)+dNx(1)Nx(2):=Nx(2)+dNx(2) Nx(3):=Nx(3)+dNx(3)Ny(1):=Ny(1)+dNy(1)Ny(2):=Ny(2)+dNy(2) Ny(3):=Ny(3)+dNy(3)Nz(1):=Nz(1)+dNz(1)Nz(2):=Nz(2)+dNz(2) Nz(3):=Nz(3)+dNz(3)Cr(1):=Cr(1)+dCr(1) Cr(2):=Cr(2)+dCr(2) Cr(3):=Cr(3)+dCr(3)Cg(1):=Cg(1)+dCg(1) Cg(2):=Cg(2)+dCg(2) Cg(3):=Cg(3)+dCg(3)Cb(1):=Cb(1)+dCb(1) Cb(2):=Cb(2)+dCb(2) Cb(3):=Cb(3)+dCb(3)為遍歷該多邊形,內(nèi)插該頂點(diǎn)屬性以在掃描線(見(jiàn)圖7C)的左側(cè)和右側(cè)處產(chǎn)生數(shù)值。為完成該掃描線,首先確定掃描線的差分變量。圖7d的掃描線的差分變量為:dPx(y):=Px(xr)-Px(xl) dNx(y):=Nx(xr)-Nx(xl) dCr(y):=Cr(xr)-Cr(xl)dPy(y):=0 dNy(y):=Ny(xr)-Ny(xl) dCg(y):=Cg(xr)-Cg(xl)dPz(y):=Pz(xr)-Pz(xl) dNz(y):=Nz(xr)-Nz(xl) dCb(y):=Cb(xr)-Cb(xl)然后將變量與掃描線寬度即dPx(y)相除,對(duì)變量歸一化,對(duì)掃描線產(chǎn)生一致的遞增變量,(最好與光柵的一致的增量相匹配):dPx(y):=1 dNx(y):=dNx(y)/dPx(y) dCg(y):=dCr(y)/dPx(y)dPx(y):=0 dNy(y):=dNy(y)/dPx(y) dCg(y):=dCg(y)/dPx(y)dPz(y):=dPz(y)/dPx(y) dNz(y):=dNz(y)/dPx(y) dCb(y):=dCb(y)/dPx(y)使用該信息,對(duì)三角形內(nèi)插頂點(diǎn)各屬性以完成三角形:Px(x,y):=Px(x,y)+1 Nx(x,y):=Nx(x,y)+dNx(y)Cr(x,y):=Cr(x,y)+dCr(y)Py(x,y):=常數(shù) Ny(x,y):=Ny(x,y)+dNy(y)Cg(x,y):=Cg(x,y)+dCg(y)Pz(x,y):=Pz(x,y)+dPz(y)Nz(x,y):=Nz(x,y)+dNz(y)Cb(x,y):=Cb(x,y)+dCb(y)反射表達(dá)式的一階的解簡(jiǎn)化了再現(xiàn)處理。和較高階的解不同,一階的解無(wú)須判定法矢量的差分方程。而是代之以對(duì)頂點(diǎn)(1、2、3)判定漫反射加權(quán):
COS(α1):=Lx(1)*Nx(1)+Ly(1)*Ny(1)+Lz(1)*Nz(1)COS(α2):=Lx(2)*Nx(2)+Ky(2)*Ny(2)+Lz(2)*Nz(2)COS(α3):=Lx(3)*Nx(3)+Ly(3)*Ny(3)+Lz(3)*Nz(3)漫反射加權(quán)汲收到頂點(diǎn)色彩的各屬性中。
Cr(1)=(Kar+Kdr*cos(α1))*Cr(1)Cg(1)=(Kag+Kdg*cos(α1))*Cg(1)Cb(1)=(Kab+Kdb*cos(α1))*Cb(1)Cr(2)=(Kar+Kdr*cos(α2))*Cr(2)Cg(2)=(Kag+Kdg*cos(α2))*Cg(2)Cb(2)=(Kab+Kdb*cos(α2))*Cb(2)Cr(3)=(Kar+Kdr*cos(α3))*Cr(3)Cg(3)=(Kag+Kdg*cos(α3))*Cg(3)Cb(3)=(Kab+Kdb*cos(α3))*Cb(3)應(yīng)該注意到,以上表達(dá)式描述了一個(gè)光源時(shí)的漫反射。如有多個(gè)光源,由于作用是累加的,解就是將漫反射相加。
在一階的解中,位置差分變量和色彩差分變量如上所說(shuō)明進(jìn)行判定。而無(wú)需判定法線差分變量。頂點(diǎn)色彩構(gòu)成漫射加權(quán)值。然而,該解帶來(lái)的問(wèn)題是,漫射加權(quán)不能完全反映。二階解通過(guò)使用法線差分變量對(duì)上述問(wèn)題進(jìn)行糾正。如上所述,頂點(diǎn)的法矢量首先沿多邊形邊內(nèi)插,然后對(duì)其大小進(jìn)行歸一化。然后對(duì)左和右多邊形邊之間的多邊形的掃描線遞增法矢量,并對(duì)每個(gè)顯示單元?dú)w一化該法矢量。
法矢量用于計(jì)算每個(gè)顯示單元的漫射加權(quán)cos(α(x,y)):=Lx(x,y)*Nx(x,y)+Ly(x,y)*Ny(x,y)+Lz(x,y)*Nz(x,y)而漫反射加權(quán)并入色彩數(shù)值Cr(x,y):=(Kar+Kdr*cos(α(x,y)))*Cr(x,y)Cg(x,y):=(Kag+Kdg*cos(α(x,y)))*Cg(x,y)Cb(x,y):=(Kab+Kdb*cos(α(x,y)))*Cb(x,y)以上公式假設(shè)光矢量L(x,y)在多邊形內(nèi)不變。如果實(shí)際上該光矢量發(fā)生變化,則必須對(duì)光矢量和法矢量?jī)?nèi)插和歸一化。該額外的內(nèi)插和歸一化是費(fèi)時(shí)而昂貴的。本發(fā)明的系統(tǒng)在三個(gè)方面簡(jiǎn)化了反射計(jì)算。首先,本發(fā)明的系統(tǒng)判定何時(shí)施加零階、一階和二階的解使得昂貴的高階的解只用于當(dāng)法矢量變化、光矢量變化或眼點(diǎn)矢量變化實(shí)際需要高階解時(shí)。第二,本發(fā)明的系統(tǒng)可選擇地通過(guò)判定多邊形中哪一個(gè)矢量顯著變化來(lái)檢測(cè)哪一特定矢量值需要內(nèi)插從而避免三矢量數(shù)值的費(fèi)時(shí)內(nèi)插,還包括無(wú)需內(nèi)插的情形。此外,本發(fā)明的系統(tǒng)可有選擇地替代普通差分方程對(duì)彩色值內(nèi)插。該選擇避免更昂貴的傳統(tǒng)解法,該解法要對(duì)三個(gè)磁場(chǎng)內(nèi)插和歸一化。
參考圖5,說(shuō)明本發(fā)明的過(guò)程。在框200判定該表面的曲率。這可根據(jù)多邊表每個(gè)頂點(diǎn)的法線、從法線確定的曲率量以及頂點(diǎn)對(duì)之間曲率量比較判定該多邊形表面曲率是否急劇(severe)來(lái)判定。最好使用以下方程(參考圖8a):
cos(φ)=min(cosφ(1)),cos(φ(2),cos(φ(3)))其中cos(φ(1))=Nx(1)*Nx(2)+Ny(1)*Ny(2)+Nz(1)*Nz(2)cos(φ(2))=Nx(2)*Nx(3)+Ny(2)*Ny(3)+Nz(2)*Nz(3)cos(φ(3))=Nx(3)*Nx(1)+Ny(3)*Ny(1)+Nz(3)*Nz(1)cos(φ)值測(cè)量頂點(diǎn)法矢量間最大變動(dòng)。它預(yù)測(cè)多邊形的最大曲率。在框205,如果cos(φ)的值指出曲率陡峭,則在框210執(zhí)行二階濃淡方程,否則保存cos(φ)為以后過(guò)程使用。
將預(yù)定閾值用來(lái)判定指出陡峭曲率的cos(φ)的數(shù)值。該閾值最好經(jīng)驗(yàn)決定。該閾值對(duì)應(yīng)于只能用二階(或更高階)方程產(chǎn)生的高質(zhì)量圖象的最小曲率。該質(zhì)量標(biāo)準(zhǔn)和應(yīng)用相關(guān)。例如,如果cos(α)大約為1,指出L和N是平行的,而當(dāng)該標(biāo)準(zhǔn)保存彩色項(xiàng)的8位精度時(shí),則選擇零階、一階和二階方程的閾值為1.000<cos(φ)<0.996,用0階0.996<cos(φ)<0.992,用1階0.992<cos(φ)<0 用2階最好可由用戶修改該閾值,以使該過(guò)程適合于各應(yīng)用場(chǎng)合和產(chǎn)生的每個(gè)圖象。典型地講,如果cos(φ)近似為1的值,則多邊形曲率最小而該過(guò)程的流程進(jìn)行到框220。如曲率陡峭,并指出快速、低階的濃淡方程不能提供圖象要求的質(zhì)量,則使用較精確、但費(fèi)時(shí)而且昂貴的高階濃淡處理。當(dāng)然,如果用戶要求圖象快速產(chǎn)生而不關(guān)心質(zhì)量,則可將閾值置較低數(shù)值以使用零階方程產(chǎn)生圖象多數(shù)多邊形。例如,如標(biāo)準(zhǔn)保留色彩項(xiàng)為4位的精度,選擇零階、一階和二階方程的閾值為1.000<cos(φ)<0.938,用0階0.938<cos(φ)<0.879,用1階0.879<cos(φ)<0 用2階同樣地,如果用戶要求精確濃淡圖象,可將閾值置為接近于1數(shù)值的值使得大部分多邊形是用較高階濃淡方程重現(xiàn)的。如果曲率不陡峭,框220判定光源的相對(duì)于各頂點(diǎn)位置的變化。
光源越接近多邊形,相對(duì)于一頂點(diǎn)的光的方向變化越大。對(duì)無(wú)限光源,即位于無(wú)窮遠(yuǎn)的光源而言,光源方向?qū)λ许旤c(diǎn)是相同的。一個(gè)位置光源,即有限距離的光源,如圖8b所示,確定各頂點(diǎn)間的光源位置變化為cos(ψ)=min(cosψ(1)),cos(ψ(2),cos(ψ(3)))其中cos(ψ(1))=Lx(1)*Lx(2)+Ly(1)*Ly(2)+Lz(1)*Lz(2)cos(ψ(2))=Lx(2)*Lx(3)+Ly(2)*Ly(3)+Lz(2)*Lz(3)cos(ψ(3))=Lx(3)*Lx(1)+Ly(3)*Ly(1)+Lz(3)*Lz(1)其中Lx、Ly、Lz表示光源相對(duì)于頂點(diǎn)的位置。cos(ψ)值是頂點(diǎn)光矢量之間變化的量度。如果光源類型為無(wú)窮遠(yuǎn)光源,該cos(ψ)值定義為值1。如果在框225發(fā)現(xiàn)變化陡峭,則實(shí)施二階濃淡方程(框230)。
如果反射方程包括鏡面反射(框240),則在框250計(jì)算頂點(diǎn)的眼點(diǎn)矢量(見(jiàn)圖8C),即相對(duì)于頂點(diǎn)位置的眼點(diǎn)位置cos(η)=min(cosη(1)),cos(η(2),cos(η(3)))其中cos(η(1))=Vx(1)*Vx(2)+Vy(1)*Vy(2)+Vz(1)*Vz(2)cos(η(2))=Vx(2)*Vx(3)+Vy(2)*Vy(3)+Vz(2)*Vz(3)cos(η(3))=Vx(3)*Vx(1)+Vy(3)*Vy(1)+Vz(3)*Vz(1)鏡面濃淡包括表面上的強(qiáng)光量。強(qiáng)光直接對(duì)應(yīng)于相對(duì)于表面的光源位置和相對(duì)于表面光源的眼睛位置。如果反射方程不包括鏡面反射,在框245,設(shè)置cos(η)為1,指出眼點(diǎn)矢量無(wú)變化。
然后在框260確定最大強(qiáng)度變化,該強(qiáng)度變化為法向矢量變化、光矢量變化、眼點(diǎn)矢量變化的函數(shù)。例如,如下函數(shù)選擇三個(gè)余弦值中的最小值,從而選出最大角度變化cos(φψη)=min(a(φ)*cos(φ),a(ψ)*cos(ψ),a(η)*cos(η))加權(quán)a(φ)、a(ψ)、a(η)反映三個(gè)余弦值如何影響整個(gè)反射方程。例如,cos(η)值的小的變化可轉(zhuǎn)換為到達(dá)眼睛的反射強(qiáng)度的大的變化。因此這些加權(quán)可用于“取平”(even out)這些數(shù)值以對(duì)最大變化作為精確判定。
在框270和280進(jìn)行測(cè)試以判定是否用一階或二階濃淡方程通過(guò)將最大強(qiáng)度變化與閾值比值來(lái)計(jì)算多邊形的濃淡。一階或二階閾值可經(jīng)驗(yàn)確定,或由用戶按照所要求圖象質(zhì)量和產(chǎn)生圖象的時(shí)間量對(duì)每一種應(yīng)用加以調(diào)整。最好是第一閾值在0.996和0.938范圍內(nèi),而第二閾值在0.992到0.879范圍內(nèi)。例如,對(duì)最大變化,cos(φγη):
1<cos(φγη)<ε1, 使用0階ε1<cos(φγη)<ε2,使用1階ε2<cos(φγη)<0, 使用2階在框270,將最大強(qiáng)度變化與第一閾值ε1相比較。如果最大強(qiáng)度變化大于第一閾值,則使用零階方程(框310)。如果變化小于或等于第一閾值,在框280將最大變化與第一閾值ε2相比較。如果最大強(qiáng)度變化小于第二閾值,則使用二階方程產(chǎn)生濃淡。如果不小于第二閾值,則在框290使用一階方程進(jìn)行濃淡處理。一旦確定所用反射方程的階數(shù),則沿多邊形邊緣確定彩色值并使用正向差分再現(xiàn)該多邊形以重現(xiàn)與多邊形相交的每一掃描線上的象素(顯示單元)(框320)。
參考圖6a和6b說(shuō)明本發(fā)明的第二實(shí)施例。圖6a描述也包括漫反射的實(shí)施例。圖6b描述也包括鏡面反射的實(shí)施例。此外,如下結(jié)合圖6a所描述的實(shí)施例可與圖5所示出的實(shí)施例相結(jié)合以提供在應(yīng)用時(shí)利用圖6a所述實(shí)施例的速度和圖5所述實(shí)施例的高精度的綜合系統(tǒng)。同樣地,圖6a所述實(shí)施例也可與圖5的實(shí)施例相結(jié)合。
參考圖6a,在框420,確定該光源相對(duì)于每個(gè)頂點(diǎn)的位置。如果該光源是一位置光源,即距離多邊表頂點(diǎn)有限距離的光源,則光源對(duì)每個(gè)頂點(diǎn)的位置會(huì)變化。如果該光源是無(wú)窮遠(yuǎn)光源,則光源對(duì)每個(gè)頂點(diǎn)的位置是相同的。
在框430,確定每個(gè)頂點(diǎn)的光矢量和面法線矢量的點(diǎn)積,在框440,計(jì)算各頂點(diǎn)每個(gè)點(diǎn)積間的差值。在框450,判定最大值cosdiff(α)為點(diǎn)積間最大差值max(abs(α1)-cos(α2)),abs(cos(α2)-cos(α3)),abs(cos(α3)-cos(α1)))該值用于判定是否使用零階、一階、二階或更高階方程來(lái)對(duì)多邊形計(jì)算濃淡。使用第一閾值τD1來(lái)確定是否應(yīng)該使用零階濃淡方程。通過(guò)使用零階濃淡方程,可節(jié)省時(shí)間和費(fèi)用,并可產(chǎn)生所要求質(zhì)量的重現(xiàn)圖象。第二閾值τD2用于判定是否應(yīng)該使用二階濃淡方程。
閾值τD1和τD2可據(jù)經(jīng)驗(yàn)或根據(jù)應(yīng)用來(lái)加以確定,例如,如用戶希望再現(xiàn)具有精確濃淡的圖象,則最好用二階反射方程計(jì)算濃淡。因此,閾值τD2應(yīng)設(shè)為使大多數(shù)顯示單元處在用二階方程重現(xiàn)的多邊形之內(nèi)的一個(gè)數(shù)值。閾值τD1可設(shè)為一低值,而閾值τD2也可設(shè)為一低值以使用二階方向進(jìn)行圖象大多數(shù)多邊形的濃淡處理。此外,如果用戶希望圖象快速重現(xiàn)而不關(guān)心濃淡質(zhì)量,則閾值τD1和τD2應(yīng)設(shè)置來(lái)產(chǎn)生該效果。具體而言,閾值τD1應(yīng)設(shè)為一高值而閾值τD2應(yīng)設(shè)為一高值以使執(zhí)行的大多數(shù)測(cè)試可指出使用零階方程。
最好是將閾值設(shè)置為能使圖象質(zhì)量的要求與盡快重現(xiàn)圖象的要求相平衡的數(shù)值。此外閾值應(yīng)考慮表面發(fā)光情況,即鏡面反射的光束寬度。當(dāng)光束寬度寬時(shí),該技術(shù)選擇一階方程。這樣產(chǎn)生的圖象對(duì)眼睛從可接受到幾乎完美的質(zhì)量而再現(xiàn)速度比使用馮氏濃淡技術(shù)重現(xiàn)整個(gè)圖象要快25%到50%。當(dāng)光束寬度窄時(shí),盡管由于其中一個(gè)多邊形用一階方程而相鄰多邊形用二階方程濃淡處理而沿某些多邊形所呈現(xiàn)濃淡有不連續(xù)性,也可產(chǎn)生可接受質(zhì)量的圖象。然而該問(wèn)題可通過(guò)使用較小多邊形來(lái)加以避免。實(shí)際上,一般而言,由于需要產(chǎn)生較高質(zhì)量圖象而不常使用零階方程。因此,閾值τD1最好設(shè)置為近似0.1的值以便用較高階方程重現(xiàn)大多數(shù)多邊形。
參考圖6b描述本發(fā)明另一實(shí)施例。該過(guò)程流程圖類似圖6a的,除了漫反散外包括鏡面反射。如果該過(guò)程包括鏡面反射,在框610,計(jì)算每個(gè)頂點(diǎn)的眼點(diǎn)矢量。該計(jì)算從幅度上歸一化每個(gè)眼點(diǎn)矢量。在框620,判定每個(gè)頂點(diǎn)的反射矢量到眼點(diǎn)矢量的投影(R-V)。該數(shù)值cos(δ(i))預(yù)測(cè)鏡面反射。在框630,計(jì)算每個(gè)頂點(diǎn)的cos(δ(i))之差,即abs(cos(δ1)-cos(δ2)),abs(cos(δ2)-cos(δ3)),abs(cos(δ)-abs(cos(δ1)))。在框640,確定最大差值。如果最大差cosdiff(δ)小于或等于一階閾值,則在框650選擇零階濃淡;如果最大差cosdiff(δ)大于或等于二階閾值,則在框670選擇二階濃淡。否則,在框690使用一階濃淡。
圖9是說(shuō)明使用本文所述技術(shù)的優(yōu)點(diǎn)的表格。該表格示出使用馮氏濃淡技術(shù)(例如二階方程)、Gouraud技術(shù)(使用一階方程)和本發(fā)明的自適應(yīng)濃淡技術(shù)對(duì)同一物體濃淡處理的結(jié)果。鏡面功率是指出表面反射能力的數(shù)值。當(dāng)反射功率增加時(shí),表面發(fā)光增加。重現(xiàn)時(shí)間為使用該技術(shù)重現(xiàn)圖象所用的時(shí)間量?!癗MSE”表示自適應(yīng)濃淡方法和二階馮氏濃淡方法所產(chǎn)生圖象的象素再現(xiàn)之間的歸一化均方差。這可用如下等式來(lái)計(jì)算
其中Pr(i)馮氏方法產(chǎn)生圖象的第i′象素的紅分量Pg(i)馮氏方法產(chǎn)生圖象的第i′象素的綠分量Pb(i)馮氏方法產(chǎn)生圖象的第i′象素的藍(lán)分量Ar(i)自適應(yīng)濃淡產(chǎn)生圖象的第i′象素的紅分量Ag(i)自適應(yīng)濃淡產(chǎn)生圖象的第i′象素的綠分量Ab(i)自適應(yīng)濃淡產(chǎn)生圖象的第i′象素的藍(lán)分量NMSE值越小,圖象質(zhì)量越高。這樣,閾值τD1越低,產(chǎn)生圖象質(zhì)量越好,重現(xiàn)時(shí)間慢。相反,閾值越高,產(chǎn)生圖象質(zhì)量越低而重現(xiàn)時(shí)間越短,與重現(xiàn)圖象時(shí)所用反射功率無(wú)關(guān)。一般而言,自適應(yīng)濃淡產(chǎn)生圖象的NMSE小于0.0001(與馮氏產(chǎn)生圖象相比),指出該圖象近似與馮氏濃淡圖象相同。其NMSE值在0.0001和0.00025之間的圖象有某些細(xì)微的濃淡不連續(xù)性,而NMSE值在0.00025和0.0005之間的圖象的濃淡不一致性是明顯的。而具有0.0005以上NMSE值的圖象以圖象觀看者有顯著缺陷。
本發(fā)明明顯不局限于任何計(jì)算多邊形濃淡的特定類型的方程。通過(guò)閱讀本說(shuō)明書,對(duì)本領(lǐng)域技術(shù)人員很顯然的是任何熟知的濃淡技術(shù)可在本發(fā)明范圍內(nèi)使用,然而,最好使用以下方程。這些方程利用許多前面執(zhí)行的計(jì)算來(lái)判定方程的階,從而節(jié)省執(zhí)行濃淡算法的時(shí)間。所述計(jì)算對(duì)所有階方程可使用前面說(shuō)明的掃描線技術(shù)。
以下例子利用三角形元素,但該技術(shù)可擴(kuò)展到任意多邊和參量表面。由確定表面的參量方程確定特定點(diǎn)或頂點(diǎn)的法向矢量。請(qǐng)參見(jiàn)Bartels,Beatty,Barsky所著“An Introduction to Splines foruse in Computer Graphics”(Margan Kaufmann 1987),PP.293-299,以及Faux,Pratt所著“Computational Geometry for Designand Manufacture”(Wiley 1979)PP110-113。
一階解法計(jì)算三角形各頂點(diǎn)總的反射。如果反射由背景反射加漫反散組成,表達(dá)式有C(1)=(Ka+Kd*cos(α1)))*C(1),C(2)=(Ka+Kd*cos(α2)))*C(2),C(3)=(Ka+Kd*cos(α3)))*C(3),其中Ka是背景反射的系數(shù),Kd是漫反射的系數(shù),以及Cos(α1)=Lx(1)*Nx(1)+Ly(1)*Ny(1)+Lz(1)*Nz(1),Cos(α2)=Lx(2)*Nx(2)+Ly(2)*Ny(2)+Lz(2)*Nz(2),Cos(α3)=Lx(3)*Nx(3)+Ly(3)*Ny(3)+Lz(3)*Nz(3)應(yīng)該注意到,為簡(jiǎn)化描述,以上方程合并了各色彩分量的分立表達(dá)式。如果色彩空間是可加的,則獨(dú)立分量共用同一形式。如果反射包括鏡面反射,表達(dá)式變成C(1)=(Ka+Kd*cos(α1)))*C(1)+Ks*(cos(δ1))P*Cl,C(2)=(Ka+Kd*cos(α2)))*C(2)+Ks*(cos(δ2))P*Cl,C(3)=(Ka+Kd*cos(α3)))*C(3)+Ks*(cos(δ3))P*Cl其中Cl是光源色彩,Ks是鏡面反射系數(shù),而cos(δ1)=2*cos(α1)*cos(δ1)-cos(χ1)cos(δ2)=2*cos(α2)*cos(δ2)-cos(χ2)cos(δ3)=2*cos(α3)*cos(δ3)-cos(χ3)其中
cos(β1)=Nx(1)*Vx(1)+Ny(1)*Vy(1)+Nz(1)*Vz(1),cos(β2)=Nx(2)*Vx(2)+Ny(2)*Vy(2)+Nz(2)*Vz(2),cos(β3)=Nx(3)*Vx(3)+Ny(3)*Vy(3)+Nz(3)*Vz(3),以及cos(χ1)=Vx(1)*Vx(1)+Vy(1)*Vy(1)+Vz(1)*Vz(1),cos(χ2)=Vx(2)*Vx(2)+Vy(2)*Vy(2)+Vz(2)*Vz(2),cos(χ3)=Vx(3)*Vx(3)+Vy(3)*Vy(3)+Vz(3)*Vz(3),為使在使用零階解法時(shí),鄰接三角形間彩色值間的差最小,對(duì)三個(gè)頂點(diǎn)的彩色值求平均值(該平均與三角形中央實(shí)現(xiàn)一階等式的彩色值相匹配)C=0.33*(C(1)+C(2)+C(3))一階解法導(dǎo)出如上所示的色值。對(duì)一階解法,使用以上所述的相同反射方程(相對(duì)于零階解法)。一階解法不平均頂點(diǎn)色值但內(nèi)插色值。本說(shuō)明書在此描述對(duì)頂點(diǎn)顏色使用掃描線技術(shù)(見(jiàn)本發(fā)明的背景部分)的一種過(guò)程。根據(jù)邊邏輯,首先沿每個(gè)三角形的邊內(nèi)插色值,然后通過(guò)三角形每一掃描線。
對(duì)二階方程,判定三角形頂點(diǎn)的彩色值。這些彩色值表示每個(gè)三角形邊的兩個(gè)邊界條件,即每條三角形邊兩端點(diǎn)的彩色值。因?yàn)槎A方程定義需要三個(gè)邊界條件,對(duì)背景反射加漫反射的解決方案將法向矢量和光矢量?jī)?nèi)插在三角形頂點(diǎn)間三角形邊上的某中間位置。以下實(shí)例假設(shè)該位置在邊的中央,并且該實(shí)例假設(shè)了最壞條件,即法向矢量和光矢量在該三角形上是變化的。所以,第三邊界條件,即在本實(shí)例中,確定頂占間距離的一半(見(jiàn)圖10a)如下
Nx(4):=0.5*(Nx(1)+Nx(2)) Nx(5):=0.5*(Nx(2)+Nx(3))Nx(6):=0.5*(Nx(3)+Nx(1))Ny(4):=0.5*(Ny(1)+Ny(2)) Ny(5):=0.5*(Ny(2)+Ny(3))Ny(6):=0.5*(Ny(3)+Ny(1))Nz(4):=0.5*(Nz(1)+Nz(2)) Nz(5):=0.5*Nz(2)+Nz(3)) Nz(6):=0.5*(Nz(3)+Nz(1))而Nx(4),Ny(4),Nz(4)是第一和第二頂點(diǎn)間所選點(diǎn)的法線坐標(biāo),Nx(5),Ny(5),Nz(5)是第二和第三頂點(diǎn)間所選點(diǎn)的法線坐標(biāo)而Nx(6),Ny(6),Nz(6)為第三和第一頂點(diǎn)間所選點(diǎn)的法線坐標(biāo)。進(jìn)一步有Lx(4):=0.5*(Lx(1)+Lx(2)) Lx(5):=0.5*(Lx(2)+Lx(3)) Lx(6):=0.5*(Lx(3)+Lx(1))Ly(4):=0.5*(Ly(1)+Ly(2)) Ly(5):=0.5*(Ly(2)+Ly(3)) Ly(6):=0.5*(Ly(3)+Ly(1))Lz(4):=0.5*(Lz(1)+Lz(2)) Lz(5):=0.5*(Lz(2)+Lz(3)) Lz(6):=0.5*(Lz(3)+Lz(1))其中Lx(4),Ly(4)和Lz(4)為第一和第二頂點(diǎn)間所選點(diǎn)開始的光矢量坐標(biāo),Lx(5)、Ly(5)和Lz(5)是第二和第三頂點(diǎn)間所選點(diǎn)開始的光矢量坐標(biāo),而Lx(6)、Ly(6)和Lz(6)是第三和第一頂點(diǎn)間所選點(diǎn)開始的光矢量坐標(biāo)。計(jì)算這些矢量大小來(lái)歸一化這些矢量。最好是,為節(jié)省計(jì)算時(shí)間和費(fèi)用,與該大小相除的計(jì)算推遲到以下漫反射加權(quán)的計(jì)算之后cos(α4):=Lx(4)*Nx(4)+Ly(4)*Ny(4)+Lz(4)*Nz(4)/(L(4)*N(4))cos(α5):=Lx(5)*Nx(5)+Ly(5)*Ny(5)+Lz(5)*Nz(5)/(L(5)*N(5))cos(α6):=Lx(6)*Nx(6)+Ly(6)*Ny(6)+Lz(6)*Nz(6)/(L(6)*N(6))其中
L(4):=sqrt(Lx(4)*Lx(4)+Ly(4)*Ly(4)+Lz(4)*Lz(4))L(5):=sqrt(Lx(5)*Lx(5)+Ly(5)*Ly(5)+Lz(5)*Lz(5))L(6):=sqrt(Lx(6)*Lx(6)+Ly(6)*Ly(6)+Lz(6)*Lz(6))以及N(4):=sqrt(Nx(4)*Nx(4)+Ny(4)*Ny(4)+Nz(4)*Nz(4))N(5):=sqrt(Nx(5)*Nx(5)+Ny(5)*Ny(5)+Nz(5)*Nz(5))N(6):=sqrt(Nx(6)*Nx(6)+Ny(6)*Ny(6)+Nz(6)*Nz(6))中央位置的組合反射可用作第三邊界條件加以確定C(4)=(Ka+Kd*cos(α4))*C(4)C(5)=(Ka+Kd*cos(α5))*C(5)C(6)=(Ka+Kd*cos(α6))*C(6)在本實(shí)例中,假設(shè)最壞情況是頂點(diǎn)彩色本身在三角形上變化。這樣,沿多邊形邊的中間點(diǎn)的色彩為C(4)=0.5*(C(1)+C(2))C(5)=0.5*(C(2)+C(3))C(6)=0.5*(C(3)+C(1))如果組合反射包括鏡面反射,則判定中央位置的眼點(diǎn)矢量。該實(shí)例再假設(shè)最壞情形,即,眼點(diǎn)矢量在三角形上變化Vx(4):=0.5*(Vx(1)+Vx(2))Vx(5):=0.5*(Vx(2)+Vx(3))Vx(6):=0.5*(Vx(3)+Vx(1))Vy(4):=0.5*(Vy(1)+Vy(2))Vy(5):=0.5*(Vy(2)+Vy(3))Vy(6):=0.5*(Vy(3)+Vy(1))Vz(4):=0.5*(Vz(1)+Vz(2))Vz(5):=0.5*(Vz(2)+Vz(3))Vz(6):=0.5*(Vz(3)+Vz(1))然后計(jì)算歸一化矢量的幅度。最便宜的做法是將除以該幅度的計(jì)算推遲到鏡面加權(quán)的計(jì)算之后。
cos(δ4)=2*cos(α4)*cos(β4)-cos(χ4)cos(δ5)=2*cos(α5)*cos(β5)-cos(ψ5)cos(δ6)=2*cos(α6)*cos(β6)-cos(ψ6)其中cos(β4):=(Nx(4)*Vx(4)+Ny(4)*Vy(4)+Nz(4)*Vz(4))/(N(4)*V(4))cos(β5):=(Nx(5)*Vx(5)+Ny(5)*Vy(5)+Nz(5)*Vz(5))/(N(5)*V(5))cos(β6):=(Nx(6)*Vx(6)+Ny(6)*Vy(6)+Nz(6)*Vz(6))/(N(6)*V(6))并且cos(χ4):=(Vx(4)*Lx(4)+Vy(4)*Ly(4)+Vz(4)*Lz(4))/(V(4)*L(4))cos(χ5):=(Vx(5)*Lx(5)+Vy(5)*Ly(5)+Vz(5)*Lz(5))/(V(5)*L(5))cos(χ6):=(Vx(6)*Lx(6)+Vy(6)*Ly(6)+Vz(6)*Lz(6))/(V(6)*L(6))其中V(4):=sqrt(Vx(4)*Vx(4)+Vy(4)*Vy(4)+V2(4)*Vz(4))V(5):=sqrt(Vx(5)*Vx(5)+Vy(5)*Vy(5)+Vz(5)*Vz(5))V(6):=sqrt(Vx(6)*Vx(6)+Vy(6)*Vy(6)+Vz(6)*Vz(6))鏡面反射的增加,將組合反射變化為C(4):=(Ka+Kd*cos(α4)*C(4)+Ks*(cos(δ4)p)*C1C(5):=(Ka+Kd*cos(α5)*C(5)+Ks*(cos(δ5)p)*C1C(6):=(Ka+Kd*cos(α6)*C(6)+Ks*(cos(δ6)p)*C1附加的彩色值C(4)、C(5)、C(6)提供第三邊界條件。
如上所述,二階求解需要三個(gè)邊界條件(見(jiàn)圖10b),以導(dǎo)出二階方程的系數(shù)(m0、m1、m2):
C(u(i))=m0(i)+m1(i)*u(i)+m2(i)*u(i)2其中0<=u(i)<=1要求解這些方程,判定三個(gè)邊界條件的并列方程。該邊界條件變?yōu)镃(1)=m0(1)C(4)=m0(1)+0.5m1(1)+0.25m2(1)C(2)=m0(1)+m1(1)+m2(1)C(2)=m0(2)C(3)=m0(3)C(5)=m0(2)+0.5m1(1)+0.25m2(2)C(3)=m0(3)C(6)=m0(3)+0.5m1(3)+0.25m2(3)C(1)=m0(3)+m1(3)+m2(3)參數(shù)變量為υ(1):=u(1)+du(1) υ(2):=u(2)+du(2) υ(3):=u(3)+du(3)其中du(1):=1/(Py(2)-Py(1))du(2):=1/(Py(3)-Py(2))du(3):=1/(Py(1)-Py(3))一旦系數(shù)被確定,則該二階方程簡(jiǎn)化為正向差分方程用以計(jì)算各邊的彩色。
為計(jì)算三角形內(nèi)的彩色,采用二階求解,如上所示沿邊內(nèi)插各值以在光柵跨度每條邊上形成矢量值。將該矢量值內(nèi)插到跨度的中心。參考圖10C,判定位于跨度中心的點(diǎn)的矢量Nx(xc):=0.5(Nx(xl)+Nx(xr)) Lx(xc):=0.5(Lx(xl)+Lx(xr))Vx(xc):=0.5(Vx(xl)+Vx(xt))Ny(xc):=0.5(Ny(xl)+Ny(xr)) Ly(xc):=0.5(Ly(xl)+Ly(xr))Vy(xc):=0.5(Vy(xl)+Vy(xr))Nz(xc):=0.5(Nz(xl)Nz(xr)) Lz(xc):=0.5(Lz(xl)+Lz(xr))Vz(xc):=0.5(Vz(xl)+Vz(xr))從中計(jì)算反射方程的余弦項(xiàng)Cos(δ×c):=2*Cos(α×c)*Cos(β×c)-Cos(χ×c)其中cos(α×c):=(Lx(xc)*Nx(xc)+Ly(xc)*Ny(xc)+Lz(xc)*Nz(xc)))/(L(xc)*N(xc))cos(β×c):=(Nx(xc)*Vx(xc)+Ny(xc)*Vy(xc)+Nz(xc)*Vz(xc))/(N(xc)*V(xc))cos(χ×c):=(Vx(xc)*Lx(xc)+Vy(xc)*Ly(xc)+Vz(xc)*Lz(xc))/(V(xc)*L(xc))以及cos(α×c):=(Lx(xc)*Nx(xc)+Ly(xc)*Ny(xc)+Lz(xc)*Nz(xc)))/(L(xc)*N(xc))cos(β×c):=(Nx(xc)*Vx(xc)+Ny(xc)*Vy(xc)+Nz(xc)*Vz(xc))/(N(xc)*V(xc))cos(χ×c):=(Vx(xc)*Lx(xc)+Vy(xc)*Ly(xc)+Vz(xc)*Lz(xc))/(V(xc)*L(xc))因此跨度中心的彩色為C(xc):=(Ka+Kd*cos(α×c))*C(xc)+Ks*cos(δ×c)p*Cl它提供了第三色值而完成邊界條件(見(jiàn)圖10C)C(xl)=m0(4)C(xc)=m0(4)+0.5m1(4)+0.25m2(4)C(xr)=m0(4)+m1(4)+m2(4)然后使用正向差分方程內(nèi)插該三角形以實(shí)現(xiàn)完全反射方程。
該技術(shù)也可擴(kuò)展到三階方程。計(jì)算每條邊的四種彩色值以說(shuō)明三階解所要求的四個(gè)邊界條件。除了兩個(gè)頂點(diǎn)顏色,判定1/3和2/3邊長(zhǎng)的彩色值。這樣,邊邏輯的邊界條件(見(jiàn)圖10d)變?yōu)镃(1)=m0(1)C(4)=m0(1)+0.33m1(1)+0.11m2(1)+0.04m3(1)
C(5)=m0(1)+0.67m1(1)+0.44m2(1)+0.30m3(1)C(2)=m0(1)+m1(1)+m2(1)+m3(1)C(2)=m0(2)C(6)=m0(2)+0.33m1(2)+0.22m2(2)+0.04m3(2)C(7)=m0(2)+0.67m1(2)+0.44m2(2)+0.30m3(2)C(3)=m0(2)+m1(2)+m2(2)+m3(2)C(3)=m0(3)C(8)=m0(3)+0.33m1(3)+0.33m2(3)+0.04m3(3)C(9)=m0(3)+0.67m1(3)+0.44m2(3)+0.30m3(3)C(1)=m0(3)+m1(3)+m2(3)+m3(3)然后判定光柵掃描的四個(gè)邊界條件。該掃描邏輯的邊界條件(見(jiàn)圖10e)變?yōu)镃(xl)=m0(4)C(xm)=m0(4)+0.33m1(4)+0.11m2(4)+0.04m3(4)C(xn)=m0(4)+0.67m1(4)+0.44m2(4)+0.30m3(4)C(xr)=m0(4)+m1(4)+m2(4)+m3(4)掃描線技術(shù)是一種對(duì)三角形內(nèi)插頂點(diǎn)屬性(顏色)的方法。使用掃描線技術(shù)的優(yōu)點(diǎn)在于,由于多邊形總可簡(jiǎn)化為邊間的簡(jiǎn)單的段,并可對(duì)每個(gè)段計(jì)算頂點(diǎn)屬性,所以該技術(shù)可擴(kuò)展到任何形狀的多邊形。然而,計(jì)算出的差分方程包括對(duì)每一段的除法計(jì)算的時(shí)間消耗過(guò)程。另外,在三角形元形元素的例子里,使用平面方程。三個(gè)邊界條件是三個(gè)三角形頂點(diǎn)的頂點(diǎn)狀態(tài)并可對(duì)整個(gè)元素計(jì)算差分方程。這樣,將差分方程加到整個(gè)三角形。雖然平面方程容易加到三角形多邊形,由于各頂點(diǎn)可能不共面,該平面方程可能不能用于多于三個(gè)頂點(diǎn)的多邊形。
為使用平面方程確定濃淡,先計(jì)算三頂點(diǎn)的顏色。然后計(jì)算邊界條件。要計(jì)算邊界條件,判定三角形中心的矢量(法向,光和眼點(diǎn)矢量)(見(jiàn)圖11a)。使用如上所述的反射方程將這些矢量?jī)?nèi)插到彩色值中。然后將四個(gè)彩色值代入雙線性表達(dá)式C(u,v)=|1V| |m00 m01| |1||m10 m11| |u′|以及0<=u<=1,0<=v<=1而(u,v)參數(shù)變量為u:=u+du其中du=1/(Py(2)-Py(1))v:=v+du其中dv=1/(Px(2)-Px(3))一階方程的邊界條件為c(1)=m00+m01*u+m10*v+m11*u*v其中u=0,v=0c(2)=m00+m01*u+m10*v+m11*u*v其中u=1,v=1c(3)=m00+m01*u+m10*v+m11*u*v其中u=1,v=0c(4)=m00+m01*u+m10*v+m11*u*v其中u=2/3,v=1/2這樣,c(1)=m00c(2)=m00+m01+m10+m11c(3)=m00+m01c(4)=m00+0.67*m01+0.5*m10+0.33*m11對(duì)(c00,c01,c10,c11)系數(shù)存在一組代數(shù)解。色彩的雙線性表達(dá)式可變換為正向差分方程,該方程用于對(duì)三角形內(nèi)插。擴(kuò)展的平面技術(shù)可以是二階方程。該形式為C(u,v)=|1VV| |m00 m01 m02| |1||m10 m11 m12| |u||m20 m21 m22| |u|其中0<=U<1,0<=V<=1由于二階方程需要9個(gè)邊界條件,必須決定9個(gè)位置(如圖11C所示)的矢量。使用反射方程(前已說(shuō)明)計(jì)算這9個(gè)位置的彩色值。然后求解(m00,m01,m22)的邊界方程。所以邊界條件為(參考圖11d)。C(1)=m00+m01*u+m02*u2+m10*v+m11*u*v+m12*u2v+m20*v2+m21*u*v2+m22*u2*v2其中u=0,v=0C(2)=m00+m01*u+m02*u2+m10*v+m11*u*v+m12*u2v+m20*v2+m21*u*v2+m22*u2*v2其中u=1,v=1c(3)=m00+m01*u+m02*u2+m10*v+m11*u*v+m12*u2v+m20*v2+m21*u*v2+m22*u2*v2其中U=1,V=0C(4)=m00+m01*u+m02*u2+m10*v+m11*u*v+m12*u2v+m20*v2+m21*u*v2+m22*u2*v2其中u=1/2,v=1/2C(5)=m00+m01*u+m02*u2+m10*v+m11*u*v+m12*u2v+m20*v2+m21*u*v2+m22*u2*v2其中u=1,v=1/2C(6)=m00+m01*u+m02*u2+m10*v+m11*u*v+m12*u2v+m20*v2+m21*u*v2+m22*u2*v2其中u=1/2,v=0C(7)=m00+m01*u+m02*u2+m10*v+m11*u*v+m12*u2v+m20*v2+m21*u*v2+m22*u2*v2其中u=2/3,v=2/3C(8)=m00+m01*u+m02*u2+m10*v+m11*u*v+m12*u2v+m20*v2+m21*u*v2+m22*u2*v2其中u=2/3,v=1/3C(9)=m00+m01*u+m02*u2+m10*v+m11*u*v+m12*u2v+m20*v2+m21*u*v2+m22*u2*v2其中u=1/3,v=1/3這樣C(1)=1.00*m00C(2)=1.00*m00+1.00*m01+1.00*m02+1.00*m10+1.00*m11+1.00*m12+1.00*m20+1.00*m21+1.00*m22C(3)=1.00*m00+1.00*m01+1.00*m02C(4)=1.00*m00+0.50*m01+0.25*m02+0.50*m10+0.25*m11+0.12*m12+0.25*m20+0.12*m21+0.06*m22C(5)=1.00*m00+1.00*m01+1.00*m02+0.50*m10+0.50*m11+0.50*m12+0.25*m20+0.12*m21+0.25*m22C(6)=1.00*m00+0.50*m01+0.25*m02+1.00*m10+0.50*m11+0.25*m12+1.00*m20+0.50*m21+0.25*m22C(7)=1.00*m00+0.67*m01+0.44*m02+1.67*m10+0.44*m11+0.30*m12+0.40*m20+0.30*m21+0.19*m22C(8)=1.00*m00+0.67*m01+0.44*m02+0.33*m10+0.22*m11+0.15*m12+0.11*m20+0.07*m21+0.05*m22C(9)=1.00*m00+0.33*m01+0.11*m02+0.33*m10+0.11*m11+0.04*m12+0.11*m20+0.04*m21+0.01*m22然后將該顏色的雙二次表達(dá)式變換為用于對(duì)三角形內(nèi)插的正向差分方程。
對(duì)該二階方程有三個(gè)例外。第一種情況涉及確保加權(quán)保持為正的函數(shù)cos(α(i)):=max(cos(α(i)),0)cos(δ(i)):=max(cos(δ(i)),0)如果發(fā)現(xiàn)漫反射加權(quán)為負(fù),則判定三角形邊上何處該值變?yōu)榱恪T谠擖c(diǎn)劃分三角形,將該三角形鑲嵌成兩個(gè)、三個(gè)或四個(gè)三角形。三角形個(gè)數(shù)取決于找到有一條、兩條或三條邊需有箝位值。
當(dāng)表面曲度尖陡時(shí)出現(xiàn)第二種情形。估值cos(Φ)反映該情形。由于三階方程可能低估三角形上法向矢量的變化,將該三角形鑲嵌成多個(gè)三角形。
當(dāng)光源接近該三角形時(shí)出現(xiàn)第三種情形。估值cos(γ)反映該情形。由于三階方程可能低估三角形光矢量交化,將該三角形鑲嵌成多個(gè)三角形。
以下討論用于說(shuō)明本發(fā)明自適應(yīng)濃淡系統(tǒng)。該實(shí)例只包括漫散光照情形而不考慮鏡面光照。因?yàn)殓R面光照不予考慮,所以不必計(jì)算眼點(diǎn)矢量。該圖象包含產(chǎn)生四個(gè)三角形的6個(gè)頂點(diǎn)構(gòu)成的三角形網(wǎng)絡(luò)。該實(shí)例假設(shè)每個(gè)頂點(diǎn)的彩色值c(i)是不變的,每個(gè)頂點(diǎn)的光矢量L(i)是不變的,但每個(gè)頂點(diǎn)的法矢量N(i)是變化的。法矢量數(shù)值為N(v0)=(0.000000,0.000000,.1.000000)N(v1)=(0.017450,-0.017452,0.999695)N(v2)=(0.035188,-0.034590,0.998782)N(v3)=(0.053199,-0.051396,0.997260)
N(v4)=(0.071466,-0.067857,0.995132)N(v5)=(0.089973,-0.083957,0.992399)該實(shí)例假設(shè)光矢量為L(zhǎng)(vi)=(0,0,1)第一步是根據(jù)以下方程計(jì)算漫反射加權(quán)cos(α(v))=N(v)·L(v)該實(shí)例的數(shù)值為cos(α(v0))=1.000000cos(α(v1))=0.999695cos(α(v2))=0.998782cos(α(v3))=0.997260cos(α(v4))=0.995132cos(α(v5))=0.992399然后確定強(qiáng)度變化。漫反射加權(quán)之間的最大并值是預(yù)商量最大變化的估值dcos(α(t0))=max(abs(cos(α(v0))·cos(α(v1))),abs(cos(α(v1))·∞s(α(v2)))·abs(cos(α(v2))·cos(α(v0))))dcos(α(t1))=max(abs(cos(α(v0))·cos(α(v3))),abs(cos(α(v3))·cos(α(v1)))·abs(cos(α(v1))·cos(α(v0))))dcos(α(t2))=max(abs(oos(α(v1))·cos(α(v4))),abs(cos(α(v4))·cos(α(v2)))·abs(cos(α(v2))·cos(α(v1))))dcos(α(t3))=max(abs(cos(α(v0))·cos(α(v2))),abs(cos(α(v2))·cos(α(v5)))·abs(cos(α(v5))·cos(α(v0))))最大變化的數(shù)值為cosdiff(α(t0))=0.001218cosdiff(α(t1)=0.002740cosdiff(α(t2))=0.004563cosdiff(α(t3))=0.07601然后將最大變化與第一(ε1)和第二(ε2)閾值相比較。在本實(shí)例中,閾值為ε1=0.0025其中e1從1階分離出零階ε2=0.0050其中e2從2階分離出1階相對(duì)于第一三角形0<max(cosdiff(α(t0)))<e1所以使用零階方程。為了對(duì)三個(gè)頂點(diǎn)漫反射加權(quán)中任何差異進(jìn)行補(bǔ)償,對(duì)值求平均值cos(α(t0))=0.333*(cos(α(v0))+cos(α(v1))+cos(α(v2)))然后確定該不變的顏色C(10)=(Ka+Kd*cos(α(10)))*C(t0))相對(duì)于第二和第三三角形
ε1<max(dcos(α(t1)))<ε2ε1<max(dcos(α(t2)))<ε2使用一階方程。當(dāng)用掃描線算法時(shí),該求解需要先將三角形邊的彩色值進(jìn)行內(nèi)插。然后將三角形左邊的彩色值對(duì)右邊的進(jìn)行內(nèi)插。例如對(duì)第二三角形,C(v0)=(Ka+Kd*cos(α(v0)))*C(t1))C(v3)=(Ka+Kd*cos(α(v3)))*C(t1))C(v1)=(Ka+Kd*cos(α(v1)))*C(t1))然后先使用掃描線邏輯內(nèi)插三角形各邊上的彩色值,然后對(duì)三角形內(nèi)部?jī)?nèi)插。
第四三角形的最大變化為dcos(α(t3))>ε2這樣,可對(duì)該三角形選擇二階方程(馮氏濃淡)。盡管本技術(shù)利用這樣一個(gè)事實(shí),即各頂點(diǎn)漫反射加權(quán)是現(xiàn)成的,所以必須傳播三角形各邊上法向分量。對(duì)每一步中的各分量歸一化。然后傳播三角形內(nèi)部的法向分量,再對(duì)每個(gè)象素的法向分量歸一化。然后判定每個(gè)象素的漫反射加權(quán)cos(α(x,y)=Lx(x,y)*Nx(x,y)+Ly(x,y)*Ny(x,y)+Lz(x,y)*Nz(x,y)c(x,y)=(Ka+Kd*cos(α(x,y)))*C(t3)其中假設(shè)L(x,y)為常數(shù)。
盡管已結(jié)合最佳實(shí)施例對(duì)本發(fā)明作了說(shuō)明,明顯的是,本領(lǐng)域技術(shù)人員根據(jù)前面的說(shuō)明很容易理解許多變形、改進(jìn)、變化及使用。具體地說(shuō),本發(fā)明可包含本說(shuō)明書以外的濃淡方程。可增加閾值來(lái)增加所執(zhí)行測(cè)試的數(shù)量及可利用方程階數(shù)。此外,可以只用零階和1階濃淡方程或一階和二階方程來(lái)構(gòu)造該系統(tǒng)。
權(quán)利要求
1.在包含中央處理器、存儲(chǔ)器、幀緩沖器、和與幀緩沖器相連用于顯示所顯示的圖形圖象的圖形顯示器圖形顯示系統(tǒng)中,所述圖形顯示器包含一象素陣列,所述圖形圖象由多個(gè)象素?cái)?shù)據(jù)定義,所述象素?cái)?shù)據(jù)存儲(chǔ)于幀緩沖器中,每個(gè)象素?cái)?shù)據(jù)包含顯示器上象素位置和該象素的色彩,按照幀緩沖器中存儲(chǔ)的象素?cái)?shù)據(jù)在顯示器上顯示所述圖形圖象,一種產(chǎn)生濃淡圖形圖象的自適應(yīng)過(guò)程,根據(jù)光源對(duì)所述圖形圖象形成濃淡,所產(chǎn)生的所述濃淡圖象的質(zhì)量由用戶規(guī)定,所述濃淡過(guò)程包含以下步驟接收定義圖形圖象的圖形圖象象素?cái)?shù)據(jù),按照?qǐng)D形圖象象素?cái)?shù)據(jù)位置進(jìn)行分組,所述的組表示多邊形,每個(gè)所述多邊形由其各頂點(diǎn)位置及每個(gè)頂點(diǎn)法矢量所定義,所述法矢量為該頂點(diǎn)在多邊形表面的法矢量,選擇用來(lái)確定每個(gè)多邊形的反射的反射方程的階數(shù),所述選擇步驟包含按照多邊形頂點(diǎn)法向矢量判定多邊形表面曲率變化量和頂點(diǎn)間曲率變化量,將頂點(diǎn)之間曲率變化量與對(duì)應(yīng)于用一階方程產(chǎn)生的質(zhì)量圖象的最大曲率變化量的曲率閾值進(jìn)行比較,如果頂點(diǎn)之間曲率變化量大于或等于曲率閾值,則選擇二階反射方程,判定每個(gè)頂點(diǎn)光矢量和頂點(diǎn)間光矢量變化,所述光矢量是各頂點(diǎn)法向矢量和光源相對(duì)于頂點(diǎn)位置的函數(shù),將頂點(diǎn)間光矢量變化與對(duì)應(yīng)于用一階方程產(chǎn)生質(zhì)量圖象最大光矢量的變化量的光矢量閾值相比較,如果頂點(diǎn)間光矢量變化量大于或等于光矢量閾值,則選擇二階反射方程;判定各頂點(diǎn)的光矢量和頂點(diǎn)間光矢量變化,所述光矢量為各頂點(diǎn)法矢量和光源相對(duì)于該頂點(diǎn)位置的函數(shù),將頂點(diǎn)間光矢量變化與對(duì)應(yīng)于用一階方程產(chǎn)生圖象質(zhì)量的最大矢量變化的光矢量閾值相比較,如果頂點(diǎn)間光矢量量變化量大于或等于光矢量閾值則選擇二階反射方程,判定頂點(diǎn)間曲率變化和頂點(diǎn)間光矢量變化中最大變化,將該最大變化與第一和第二閾值進(jìn)行比較,所述一階閾值為用零階反射方程產(chǎn)生質(zhì)量濃淡圖象的最大變化,所述第二閾值為用一階反射方程產(chǎn)生質(zhì)量濃淡圖象的最大變化,如果最大變化小于或等于第一閾值則選擇零階反射方程計(jì)算多邊形反射,而當(dāng)最大變化小于第二閾值時(shí)使用一階反射方程計(jì)算多邊形反射,判定多邊形的反射,所述裝置接收由選擇裝置判定的階數(shù)的反射方程并使用該反射方程判定多邊形反射,并產(chǎn)生表示濃淡多邊形圖象的修改后的象素?cái)?shù)據(jù),將表示濃淡多邊形的象素?cái)?shù)據(jù)輸出到幀緩沖器,以及讀出幀緩沖器中存儲(chǔ)的修改的象素?cái)?shù)據(jù)并以修改的象素?cái)?shù)據(jù)所規(guī)定的色彩激活顯示器上對(duì)應(yīng)象素以在顯示器上產(chǎn)生濃淡多邊形圖象,從而按照曲率和光源變化選擇圖形圖象每個(gè)多邊形的反射方程的階數(shù)并使昂貴的費(fèi)時(shí)的二階反射方程用得最少,以及當(dāng)測(cè)量指出頂點(diǎn)間測(cè)量的變化表明多邊形反射大到足以有理由使用二階方程時(shí)才使用二階方程。
2.如權(quán)利要求1所述自適應(yīng)濃淡過(guò)程,其特征在于,還包含以下步驟判定每個(gè)頂點(diǎn)眼點(diǎn)矢量和頂點(diǎn)間眼點(diǎn)矢量變化,所述眼點(diǎn)矢量為眼點(diǎn)位置相對(duì)于頂點(diǎn)位置的函數(shù),將頂點(diǎn)間眼點(diǎn)矢量變化與對(duì)應(yīng)于用一階方程質(zhì)量圖象的最大眼點(diǎn)矢量變化的眼點(diǎn)矢量閾值加以比較,如果頂點(diǎn)間眼點(diǎn)矢量變化量大于或等于眼點(diǎn)矢量閾值,則選擇二階反射方程,以及所述最大變化是在頂點(diǎn)間曲率變化頂點(diǎn)間光矢量變化和頂點(diǎn)間眼點(diǎn)矢量變化中判定出的最大變化。
3.如權(quán)利要求1所述自適應(yīng)濃淡過(guò)程,其特征在于多邊形包含帶第一、第二和第三頂點(diǎn)的三角形。
4.如權(quán)利要求3所述自適應(yīng)濃淡過(guò)程,其特征在于所述多邊形表面曲率變化和頂點(diǎn)間曲率變化量判定步驟包含按照下式判定頂點(diǎn)間最大曲率變化(cos(Φ)):cos(Φ)=min(cos(Φ(1)),cos(Φ(2)),cos(Φ(3)))其中cos(Φ(1))=Nx(1)*Nx(2)+Ny(1)*Ny(2)+Nz(1)*Nz(2)cos(Φ(2))=Nx(2)*Nx(3)+Ny(2)*Ny(3)+Nz(2)*Nz(3)cos(Φ(3))=Nx(3)*Nx(1)+Ny(3)*Ny(1)+Nz(3)*Nz(1)其中Nx(1)、Ny(1)、Nz(1)為第一頂點(diǎn)的頂點(diǎn)法矢量的x、y和z分量,Nx(2)、Ny(2)、Nz(2)為第二頂點(diǎn)的頂點(diǎn)法矢量的x、y和z分量,Nx(3)、Ny(3)、Nz(3)為第三頂點(diǎn)的頂點(diǎn)法矢量的x、y和z分量,cos(Φ(1))指出第一頂點(diǎn)和第二頂點(diǎn)間的曲率變化,cos(Φ(2))指出第二頂點(diǎn)和第三頂點(diǎn)間的曲率變化,而cos(Φ(3))指出第三頂點(diǎn)和第一頂點(diǎn)間的曲率變化,將最大曲率變化與曲率閾值相比較。
5.如權(quán)利要求3所述自適應(yīng)濃淡過(guò)程,其特征在于所述各頂點(diǎn)光矢量和頂點(diǎn)間光矢量變化的判定步驟包含按照下式判定最大光矢量變化(cos(ψ))的步驟cos(ψ)=min(cos(ψ(1)),cos(ψ(2)),cos(ψ(3)))其中cos(ψ(1))=Lx(1)*Lx(2)+Ly(1)*Ly(2)+Lz(1)*Lz(2)cos(ψ(2))=Lx(2)*Lx(3)+Ly(2)*Ly(3)+Lz(2)*Lz(3)cos(ψ(3))=Lx(3)*Lx(1)+Ly(3)*Ly(1)+Lz(3)*Lz(1)其中Lx(1)、Ly(1)、Lz(1)為第一頂點(diǎn)的光矢量的x、y和z分量,Lx(2)、Ly(2)、Lz(2)為第二頂點(diǎn)的光矢量的x、y和z分量,Lx(3)、Ly(3)、Lz(3)為第三頂點(diǎn)的光矢量的x、y和z分量,cos(ψ(1))指出第一頂點(diǎn)和第二頂點(diǎn)間的光矢量變化,cos(ψ(2))指出第二頂點(diǎn)和第三頂點(diǎn)間的光矢量變化,而cos(ψ(3))指出第三頂點(diǎn)和第一頂點(diǎn)間的光矢量變化,從而將最大光矢量變化與光矢量閾值相比較。
6.如權(quán)利要求2所述自適應(yīng)濃淡過(guò)程,其特征在于多邊形包含帶有第一、第二和第三頂點(diǎn)的三角形,所述判定各頂點(diǎn)眼點(diǎn)矢量和頂點(diǎn)間眼點(diǎn)矢量變化的步驟按照下式判定最大眼點(diǎn)矢量變化(cos(η)):cos(η)=min(cos(η(1)),cos(η(2)),cos(η(3)))其中cos(η(1))=Vx(1)*Vx(2)+Vy(1)*Vy(2)+Vz(1)*Vz(2)cos(η(2))=Vx(2)*Vx(3)+Vy(2)*Vy(3)+Vz(2)*Vz(3)cos(η(3))=Vx(3)*Vx(1)+Vy(3)*Vy(1)+Vz(3)*Vz(1)其中Vx(1)、Vy(1)、Vz(1)為第一頂點(diǎn)的眼點(diǎn)矢量的x、y和z分量,Vx(2)、Vy(2)、Vz(2)為第二頂點(diǎn)的眼點(diǎn)矢量的x、y和z分量,Vx(3)、Vy(3)、Vz(3)為第三頂點(diǎn)的眼點(diǎn)矢量的x、y和z分量,cos(η(1))指出第一頂點(diǎn)和第二頂點(diǎn)間的眼點(diǎn)矢量變化,cos(η(2))指出第二頂點(diǎn)和第三頂點(diǎn)間的眼點(diǎn)矢量變化,而cos(η(3))指出第三頂點(diǎn)和第一頂點(diǎn)間的眼點(diǎn)矢量變化,以及,從而將最大眼點(diǎn)矢量變化與眼點(diǎn)矢量閾值相比較。
7.如權(quán)利要求2所述自適應(yīng)濃淡過(guò)程,其特征在于,多邊形包含帶有第一、第二和第三頂點(diǎn)的三角形,判定最大變化的步驟包括根據(jù)下式確定最大變化的步驟cos(Φψη)=min(a(Φ)*cos(Φ),a(ψ)*cos(ψ),a(η)*cos(η))其中cos(φ)為最大曲率變化,a(φ)為曲率加權(quán),cos(ψ)為最大光矢量變化,a(ψ)為光矢量加權(quán),而cos(η)為最大眼點(diǎn)矢量變化而a(η)為眼點(diǎn)矢量加權(quán)。
8.如權(quán)利要求1所述自適應(yīng)濃淡過(guò)程,其特征在于,使用零階、1階和2階的反射方程,所述零階方程包含點(diǎn)積L·N,其中L為平均光矢量,而N為到該表面的平均法向矢量,所述一階方程包含C=(Ka+Kd*cos(α))*C其中,C為象素色彩,Ka為背景加權(quán),Kd為漫反射加權(quán)而cos(α)等于點(diǎn)和L·N。所述二階方程包含C=(Ka+Kd*cos(α(x,y)))*C其中C為象素色彩,Ka為背景加權(quán),Kd為漫反射加權(quán),cos(α(x,y))等于L(x,y)·N(x,y),L(x,y)表示歸一化光矢量,而N(x,y)表示該表面的歸一化法矢量。
9.在包含中央處理器、存儲(chǔ)器、幀緩沖器、和與幀緩沖器相連用于顯示所顯示的圖形圖象的圖形顯示器圖形顯示系統(tǒng)中,所述圖形顯示器包含一象素陣列,所述圖形圖象由多個(gè)象素?cái)?shù)據(jù)定義,所述象素?cái)?shù)據(jù)存儲(chǔ)于幀緩沖器中,每個(gè)象素?cái)?shù)據(jù)包含顯示器上象素位置和該象素的色彩,按照幀緩沖器中存儲(chǔ)的象素?cái)?shù)據(jù)在顯示器上顯示所述圖形圖象,一種產(chǎn)生濃淡圖形圖象的自適應(yīng)過(guò)程根據(jù)光源對(duì)所述圖形圖象形成濃淡,所產(chǎn)生的所述濃淡圖象的質(zhì)量由用戶規(guī)定,所述濃淡過(guò)程包含以下步驟接收定義圖形圖象的圖形圖象象素?cái)?shù)據(jù),按照?qǐng)D形圖象象素?cái)?shù)據(jù)位置進(jìn)行分組,所述的組表示多邊形,每個(gè)所述多邊形由其各頂點(diǎn)位置及每個(gè)頂點(diǎn)法矢量所定義,所述法矢量為該頂點(diǎn)在多邊形表面的法矢量;選擇用來(lái)確定每個(gè)多邊形的反射的反射方程的階數(shù),其中最高階的反射方程產(chǎn)生多邊形的最高質(zhì)量的反射,所述步驟包含判定每個(gè)頂點(diǎn)光矢量,判定每個(gè)頂點(diǎn)法矢量和每個(gè)頂點(diǎn)光矢量的點(diǎn)積以及各頂點(diǎn)的點(diǎn)積之間最大數(shù)值差,將各頂點(diǎn)的點(diǎn)積之間的最大差至少與第一閾值和第二閾值相比較,所述第一閾值指出至少需要使用第一預(yù)定階的反射方程的多邊形表面的反射變化,第二閾值指出至少需要使用高于第一預(yù)定階的第二預(yù)定階的反射方程的多邊形表面的反射變化,如果各頂點(diǎn)的點(diǎn)積之間的最大差值小于第一閾值,選擇低于第一預(yù)定階的預(yù)定階的反射方程,如果各頂點(diǎn)的點(diǎn)積之間的最大差值大于或等于第一閾值而小于第二閾值,則選擇第一預(yù)定階的預(yù)定階的反射方程,如果各頂點(diǎn)的點(diǎn)積之間的最大差值大于或等于第二閾值,則選擇第二預(yù)定階的預(yù)定階的反射方程,使用選擇來(lái)判定多邊形反射的反射方程判定多邊形反射,并產(chǎn)生代表濃淡多邊形圖象的修改的象素?cái)?shù)據(jù),將表示濃淡多邊形的象素?cái)?shù)據(jù)輸出到幀緩沖器,讀出幀緩沖器中存儲(chǔ)的修改的象素?cái)?shù)據(jù),并用該修改的象素?cái)?shù)據(jù)所規(guī)定的顏色激活顯示器上對(duì)應(yīng)象素以在顯示器上產(chǎn)生濃淡多邊形圖象,從而按曲率和光源變化選擇圖形圖象每個(gè)多邊形的反射方程的階數(shù)并使昂貴的費(fèi)時(shí)的較高階反射方程用得最少,以及當(dāng)測(cè)量指出頂點(diǎn)間測(cè)量的變化表明多邊形反射大到足以有理由使用較高階方程時(shí)才使用較高階方程。
10.如權(quán)利要求9所述自適應(yīng)濃淡過(guò)程,其特征在于至少使用4個(gè)階的反射方程。
11.如權(quán)利要求9所述自適應(yīng)濃淡過(guò)程,其特征在于,所用最高階反射方程為二階方程。
12.如權(quán)利要求9所述自適應(yīng)濃淡過(guò)程,其特征在于,多邊形包含帶有第一、第二和第三頂點(diǎn)的三角形。
13.在包含中央處理器、存儲(chǔ)器、幀緩沖器、和與幀緩沖器相連用于顯示所顯示的圖形圖象的圖形顯示器圖形顯示系統(tǒng)中,所述圖形顯示器包含一象素陣列,所述圖形圖象由多個(gè)象素?cái)?shù)據(jù)定義,所述象素?cái)?shù)據(jù)存儲(chǔ)于幀緩沖器中,每個(gè)象素?cái)?shù)據(jù)包含顯示器上象素位置和該象素的色彩,按照幀緩沖器中存儲(chǔ)的象素?cái)?shù)據(jù)在顯示器上顯示所述圖形圖象,一種產(chǎn)生濃淡圖形圖象的自適應(yīng)過(guò)程根據(jù)光源對(duì)所述圖形圖象形成濃淡,所產(chǎn)生的所述濃淡圖象的質(zhì)量由用戶規(guī)定,所述濃淡過(guò)程包含以下步驟接收定義圖形圖象的圖形圖象象素?cái)?shù)據(jù),按照?qǐng)D形圖象象素?cái)?shù)據(jù)位置進(jìn)行分組,所述的組表示多邊形,每個(gè)所述多邊形由其各頂點(diǎn)位置及每個(gè)頂點(diǎn)法矢量所定義,所述法矢量為該頂點(diǎn)在多邊形表面的法矢量;選擇用來(lái)確定每個(gè)多邊形的反射的反射方程的階數(shù),所述步驟包含判定每個(gè)頂點(diǎn)眼點(diǎn)矢量,判定各頂點(diǎn)反射矢量,所述反射矢量是光反射離開多邊形表面的矢量,判定每個(gè)頂點(diǎn)法向矢量和每個(gè)眼點(diǎn)矢量的點(diǎn)積以及各頂點(diǎn)的點(diǎn)積之間最大數(shù)值差,用于將各頂點(diǎn)的點(diǎn)積之間的最大差至少與第一閾值和第二閾值相比較,所述第一閾值指出至少需要使用第一預(yù)定階的反射方程的多邊形表面的反射變化,第二閾值指出至少需要使用高于第一預(yù)定階的第二預(yù)定階的反射方程的多邊形表面的反射變化,如果各頂點(diǎn)的點(diǎn)積之間的最大差值小于第一閾值,選擇低于第一預(yù)定階的預(yù)定階的反射方程,如果各頂點(diǎn)的點(diǎn)積之間的最大差值大于或等于第一閾值而小于第二閾值,則選擇第一預(yù)定階的預(yù)定階的反射方程,如果各頂點(diǎn)的點(diǎn)積之間的最大差值大于或等于第二閾值,則選擇第二預(yù)定階的預(yù)定階的反射方程,判定多邊形反射,所述裝置接收中選擇裝置確定階的反射方程并使用反射方程確定多邊形反射,產(chǎn)生表示濃度多邊形圖象的修改的象素?cái)?shù)據(jù),將表示濃淡多邊形的象素?cái)?shù)據(jù)輸出到幀緩沖器,讀出幀緩沖器中存儲(chǔ)的修改的象素?cái)?shù)據(jù),并用該修改的象素?cái)?shù)據(jù)所規(guī)定的顏色激活顯示器上對(duì)應(yīng)象素以在顯示器上產(chǎn)生濃淡多邊形圖象,從而按曲率和光源變化選擇圖形圖象每個(gè)多邊形的反射方程的階數(shù)并使昂貴的費(fèi)時(shí)的二階反射方程用得最少,以及當(dāng)測(cè)量指出頂點(diǎn)間測(cè)量的變化表明多邊形反射大到足以有理由使用二階方程時(shí)才使用較高階方程。
14.如權(quán)利要求13所述自適應(yīng)濃淡過(guò)程,其特征在于至少使用4個(gè)階的反射方程。
15.如權(quán)利要求13所述自適應(yīng)濃淡過(guò)程,其特征在于,所用最高階反射方程為二階方程。
16.如權(quán)利要求13所述自適應(yīng)濃淡過(guò)程,其特征在于,多邊形包含帶有第一、第二和第三頂點(diǎn)的三角形。
17.在包含中央處理器、存儲(chǔ)器、幀緩沖器、和與幀緩沖器相連用于顯示所顯示的圖形圖象的圖形顯示器圖形顯示系統(tǒng)中,所述圖形顯示器包含一象素陣列,所述圖形圖象由多個(gè)象素?cái)?shù)據(jù)定義,所述象素?cái)?shù)據(jù)存儲(chǔ)于幀緩沖器中,每個(gè)象素?cái)?shù)據(jù)包含顯示器上象素位置和該象素的色彩,按照幀緩沖器中存儲(chǔ)的象素?cái)?shù)據(jù)在顯示器上顯示所述圖形圖象,一種產(chǎn)生濃淡圖形圖象的自適應(yīng)過(guò)程根據(jù)光源對(duì)所述圖形圖象形成濃淡,所產(chǎn)生的所述濃淡圖象的質(zhì)量由用戶規(guī)定,所述濃淡過(guò)程包含以下步驟接收定義圖形圖象的圖形圖象象素?cái)?shù)據(jù),按照?qǐng)D形圖象象素?cái)?shù)據(jù)位置進(jìn)行分組,所述的組表示多邊形,每個(gè)所述多邊形由其各頂點(diǎn)位置及每個(gè)頂點(diǎn)法矢量所定義,所述法矢量為該頂點(diǎn)在多邊形表面的法矢量,選擇用來(lái)確定每個(gè)多邊形的反射的反射方程的階數(shù),其中最高階的反射方程產(chǎn)生多邊形的最高質(zhì)量的反射,所述步驟包含判定每個(gè)頂點(diǎn)光矢量,所述光矢量是每個(gè)頂點(diǎn)法矢量和光源位置相對(duì)于頂點(diǎn)的函數(shù),判定每個(gè)頂點(diǎn)法矢量和每個(gè)頂點(diǎn)光矢量的點(diǎn)積以及各頂點(diǎn)點(diǎn)積之間最大數(shù)值差,將各頂點(diǎn)的點(diǎn)積之間的最大差至少與第一閾值和第二閾值相比較,所述第一閾值指出至少需要使用第一預(yù)定階的反射方程的多邊形表面的反射變化,第二閾值指出至少需要使用高于第一預(yù)定階的第二預(yù)定階的反射方程的多邊形表面的反射變化,如果各頂點(diǎn)的點(diǎn)積之間的最大差值小于第一閾值,選擇低于第一預(yù)定階的預(yù)定階的反射方程,如果各頂點(diǎn)的點(diǎn)積之間的最大差值大于或等于第一閾值而小于第二閾值,則選擇第一預(yù)定階的反射方程,如果各頂點(diǎn)的點(diǎn)積之間的最大差值大于或等于第二閾值,則按照多邊形頂點(diǎn)法向矢量決定多邊形表面曲率變化量和頂點(diǎn)間曲率變化,將頂點(diǎn)之間曲率變化量與指示大曲率變化量的曲率閾值進(jìn)行比較,如果頂點(diǎn)之間曲率變化量大于或等于曲率閾值,選擇最高階反射方程,判定各頂點(diǎn)中光矢量變化,將頂點(diǎn)間光矢量變化與指示光矢量間大的變化量的光矢量閾值相比較,如果頂點(diǎn)間光矢量變化量大于或等于光矢量閾值,則選擇最高階數(shù)的反射方程,判定頂點(diǎn)間曲率變化和頂點(diǎn)間光矢量變化中最大變化,將該最大變化與多個(gè)用于判定所用反射方程階數(shù)的閾值相比較,每個(gè)閾值繪出可用預(yù)定階數(shù)的反射方程來(lái)產(chǎn)生質(zhì)量圖象的最大變化的輪廓,以及,如果最大變化小于或等于描述可將第一預(yù)定階反射方程用于產(chǎn)生質(zhì)量圖象的最大變化的閾值而大于描述用低于第一預(yù)定階的反射方程產(chǎn)生質(zhì)量圖象的最大變化的閾值時(shí)選擇預(yù)定階的反射方程,使用選擇來(lái)判定多邊形反射的反射方程判定多邊形反射,并產(chǎn)生代表濃淡多邊形圖象的修改的象素?cái)?shù)據(jù)來(lái)判定多邊形反射,將表示濃淡多邊形的象素?cái)?shù)據(jù)輸出到幀緩沖器,讀出幀緩沖器中存儲(chǔ)的修改的象素?cái)?shù)據(jù),并用該修改的象素?cái)?shù)據(jù)所規(guī)定的顏色激活顯示器上對(duì)應(yīng)象素以在顯示器上產(chǎn)生濃淡多邊形圖象,從而按曲率和光源變化選擇圖形圖象每個(gè)多邊形的反射方程的階數(shù)并使昂貴的費(fèi)時(shí)的較高階反射方程用得最少,以及當(dāng)測(cè)量指出頂點(diǎn)間測(cè)量的變化表明多邊形反射大到足以有理由使用較高階方程時(shí)才使用較高階方程。
18.如權(quán)利要求17所述自適應(yīng)濃淡過(guò)程,其特征在于,所用最高階反射方程為二階方程。
19.如權(quán)利要求17所述自適應(yīng)濃淡過(guò)程,其特征在于,如果各頂點(diǎn)點(diǎn)積間最大差大于或等于二階閾值,所述過(guò)程還包含以下步驟判定每個(gè)頂點(diǎn)眼點(diǎn)矢量和頂點(diǎn)間眼點(diǎn)矢量變化,所述眼點(diǎn)矢量為眼點(diǎn)位置相對(duì)于頂點(diǎn)位置的函數(shù),將頂點(diǎn)間眼點(diǎn)矢量變化與指示眼點(diǎn)矢量之間大的變化量的眼點(diǎn)矢量閾值加以比較,如果頂點(diǎn)間眼點(diǎn)矢量變化量大于或等于眼點(diǎn)矢量閾值,則選擇最高階反射方程,以及所述最大變化判定步驟判定頂點(diǎn)間曲率變化頂點(diǎn)間光矢量變化和頂點(diǎn)間眼點(diǎn)矢量變化中的最大變化。
20.在包含中央處理器、存儲(chǔ)器、幀緩沖器、和與幀緩沖器相連用于顯示所顯示的圖形圖象的圖形顯示器圖形顯示系統(tǒng)中,所述圖形顯示器包含一象素陣列,所述圖形圖象由多個(gè)象素?cái)?shù)據(jù)定義,所述象素?cái)?shù)據(jù)存儲(chǔ)于幀緩沖器中,每個(gè)象素?cái)?shù)據(jù)包含顯示器上象素位置和該象素的色彩,按照幀緩沖器中存儲(chǔ)的象素?cái)?shù)據(jù)在顯示器上顯示所述圖形圖象,一種產(chǎn)生濃淡圖形圖象的自適應(yīng)過(guò)程根據(jù)光源對(duì)所述圖形圖象形成濃淡,所產(chǎn)生的所述濃淡圖象的質(zhì)量由用戶規(guī)定,所述濃淡過(guò)程包含以下步驟接收定義圖形圖象的圖形圖象象素?cái)?shù)據(jù),按照?qǐng)D形圖象象素?cái)?shù)據(jù)位置進(jìn)行分組,所述的組表示多邊形,每個(gè)所述多邊形由其各頂點(diǎn)位置及每個(gè)頂點(diǎn)法矢量所定義,所述法矢量為該頂點(diǎn)在多邊形表面的法矢量,選擇用來(lái)確定每個(gè)多邊形的反射的反射方程的階數(shù),其中最高階的反射方程產(chǎn)生多邊形的最高質(zhì)量的反射,所述步驟包含判定各頂點(diǎn)眼點(diǎn)矢量,所述眼點(diǎn)矢量是眼點(diǎn)位置相對(duì)于頂點(diǎn)位置的函數(shù),判定各頂點(diǎn)法向矢量和各頂點(diǎn)眼點(diǎn)矢量的點(diǎn)積與各頂點(diǎn)點(diǎn)積間差值,將各頂點(diǎn)的點(diǎn)積之間的最大差至少與第一閾值和第二閾值相比較,所述第一閾值指出至少需要使用第一預(yù)定階的反射方程的多邊形表面的反射變化,第二閾值指出至少需要使用高于第一預(yù)定階的第二預(yù)定階的反射方程的多邊形表面的反射變化,如果各頂點(diǎn)的點(diǎn)積之間的最大差值小于第一閾值,選擇低于第一預(yù)定階的預(yù)定階的反射方程,如果各頂點(diǎn)的點(diǎn)積之間的最大差值大于或等于第一閾值而小于第二閾值,則選擇第一預(yù)定階的預(yù)定階的反射方程,如果各頂點(diǎn)點(diǎn)積之間的最大差大于或等于第二閾值,按照多邊形頂點(diǎn)法向矢量判定多邊形表面曲率變化量和頂點(diǎn)間曲率變化,將頂點(diǎn)之間曲率變化量與指示大曲變化量的曲率閾值進(jìn)行比較,如果頂點(diǎn)之間曲率變化量大于或等于曲率閾值,則選擇最高階反射方程,判定頂點(diǎn)中光矢量變化,將該頂點(diǎn)間光矢量變化與指示光矢量間大的變化量的閾值相比較,如果頂點(diǎn)間光矢量變化量大于或等于光矢量閾值,則選擇最高階數(shù)的反射方程,判定頂點(diǎn)間眼點(diǎn)矢量,將頂點(diǎn)間眼點(diǎn)矢量變化與指示眼點(diǎn)矢量間大的變化量的眼點(diǎn)矢量閾值進(jìn)行比較,如果頂點(diǎn)間眼點(diǎn)矢量變化量大于或等于眼點(diǎn)矢量閾值,則選擇最高階反射方程,在頂點(diǎn)間曲率變化,頂點(diǎn)間光矢量變化和各頂點(diǎn)間眼點(diǎn)矢量變化中的最大變化,以及將該最大變化與多個(gè)用于判定所用反射方程階數(shù)的閾值相比較,每個(gè)閾值繪出用預(yù)定階反射方程產(chǎn)生質(zhì)量圖象中的最大變化,如果最大變化小于或等于描述用第一預(yù)定階反射方程產(chǎn)生質(zhì)量圖象最大變化的閾值而大于描述用低于第一預(yù)定階的預(yù)定階的反射方程產(chǎn)生質(zhì)量圖象最大變化的閾值時(shí),則選擇預(yù)定階的反射方程,使用選擇來(lái)判定多邊形反射的反射方程來(lái)判定多邊形反射并產(chǎn)生表示濃淡多邊形圖象的修改后象素?cái)?shù)據(jù),將表示濃淡多邊形的象素?cái)?shù)據(jù)輸出到幀緩沖器,以及讀出在幀緩沖器中存儲(chǔ)的修改的象素?cái)?shù)據(jù)并以修改的象素?cái)?shù)據(jù)所規(guī)定的色彩激活顯示器上對(duì)應(yīng)象素以在顯示器上產(chǎn)生濃淡多邊形圖象,從而該設(shè)備按曲率和光源變化選擇圖形圖象每個(gè)多邊形的反射方程的階數(shù)并使昂貴的費(fèi)時(shí)的較高階反射方程用得最少,以及當(dāng)測(cè)量指出頂點(diǎn)間測(cè)量的變化表明多邊形反射大到足以有理由使用較高階方程時(shí)才使用較高階方程。
全文摘要
本發(fā)明的方法和設(shè)備使用自適應(yīng)濃淡方法來(lái)實(shí)時(shí)產(chǎn)生濃淡圖象。首先對(duì)多邊形各頂點(diǎn)計(jì)算色彩和強(qiáng)度。然后執(zhí)行系列測(cè)試判定用于對(duì)頂點(diǎn)間多邊形內(nèi)插色彩和強(qiáng)度的某階方程。使用該技術(shù),略有或沒(méi)有曲率的多邊形及無(wú)窮遠(yuǎn)光源(最簡(jiǎn)單濃淡形式)可使用極快的低階方程對(duì)多邊形內(nèi)插。而對(duì)大曲率和(或)位置光源,如必要,則使用需要增加計(jì)算時(shí)間產(chǎn)生理想濃淡效果的較高階方程。
文檔編號(hào)G06T15/50GK1233030SQ9910257
公開日1999年10月27日 申請(qǐng)日期1999年2月26日 優(yōu)先權(quán)日1990年7月26日
發(fā)明者基圖爾特·威爾斯, 詹姆斯·范盧, 穆昆·巴克塔, 杰克R·麥基翁 申請(qǐng)人:太陽(yáng)微系統(tǒng)有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
教育| 临澧县| 南澳县| 阿荣旗| 德清县| 工布江达县| 长治市| 荆州市| 鸡西市| 孝义市| 东方市| 盐边县| 南雄市| 茂名市| 乐业县| 北票市| 邵阳市| 巧家县| 山东| 隆林| 南召县| 西林县| 卢氏县| 拜泉县| 修水县| 呼玛县| 莆田市| 长海县| 五台县| 金华市| 肥城市| 洛浦县| 烟台市| 慈利县| 韶关市| 屏南县| 闵行区| 两当县| 江永县| 汽车| 威信县|