專(zhuān)利名稱(chēng):基于球面分段常數(shù)基函數(shù)的動(dòng)態(tài)場(chǎng)景實(shí)時(shí)繪制方法
技術(shù)領(lǐng)域:
本發(fā)明屬于動(dòng)態(tài)場(chǎng)景實(shí)時(shí)繪制方法領(lǐng)域,尤其是一種動(dòng)態(tài)全局環(huán) 境光照下復(fù)雜動(dòng)態(tài)場(chǎng)景下的基于球面分段常數(shù)基函數(shù)的動(dòng)態(tài)場(chǎng)景實(shí) 時(shí)繪制方法。
背景技術(shù):
靜態(tài)場(chǎng)景的繪制。近年來(lái),隨著真實(shí)感圖形學(xué)和圖形硬件的快速 發(fā)展,全局環(huán)境光照下的復(fù)雜動(dòng)態(tài)場(chǎng)景的實(shí)時(shí)繪制變得越來(lái)越重要, 關(guān)于這方面的研究也頗為活躍。這類(lèi)問(wèn)題的主要難點(diǎn)在于如何在每個(gè)
頂點(diǎn)上快速計(jì)算代價(jià)昂貴的繪制積分。2001年,Sloan等人提出用于 環(huán)境光照下場(chǎng)景繪制的預(yù)計(jì)算輻射傳輸(Precomputed Radiance Transfer, PRT)框架。該框架的基本原理是將環(huán)境光函數(shù)和光傳輸 函數(shù)均用某種特定的基函數(shù)的線性組合表示,這樣既使得預(yù)處理數(shù)據(jù) 量可以接受,不至于會(huì)太大;同時(shí)又使得每個(gè)頂點(diǎn)處的繪制積分近似 為基函數(shù)系數(shù)的點(diǎn)積。
球面諧波基函數(shù)(Spherical Harmonics, SH)是第一種用于PRT
框架的基函數(shù)。它有好幾個(gè)優(yōu)點(diǎn),如正交性,旋轉(zhuǎn)不變性和支持快速 多次相乘。有許多使用PRT框架的研究工作都是采用SH來(lái)繪制環(huán)境光照下的場(chǎng)景。然而,SH基卻不能高效的近似高頻的信號(hào),使得這 些工作都只能處理低頻的陰影和低頻的BRDF材質(zhì)。
之后,Ng等人提出使用小波(Wavelet)基來(lái)作為PRT框架中的基 函數(shù)。在他們2003年的工作中,他們使用wavelet表達(dá)環(huán)境光函數(shù) 和光傳輸函數(shù),使得能夠?qū)崿F(xiàn)全頻率PRT繪制的效果,然而他們的方 法卻限于漫反射材質(zhì)或者固定視點(diǎn)的高光材質(zhì)。Ng等在2004年提出 了一種高效的小波三次相乘算法,使得移動(dòng)視點(diǎn)的高光材質(zhì)繪制成為 可能。然而,雖然小波基支持全頻率效果,但是小波基表達(dá)卻不能很 好的旋轉(zhuǎn),即使得環(huán)境光函數(shù),BRDF材質(zhì)函數(shù)和可見(jiàn)性函數(shù)的旋轉(zhuǎn) 非常困難。例如,旋轉(zhuǎn)環(huán)境光源就需要將環(huán)境光重新投影到小波基上 計(jì)算一遍。
2006年,Tsai等人提出使用球面徑向基函數(shù)(Spherical Radial Basis Function, SRBF)來(lái)近似環(huán)境光源函數(shù)。SRBFs支持全頻率信 號(hào)的表達(dá),并且也易于旋轉(zhuǎn)。這使得,他們的方法可以實(shí)現(xiàn)復(fù)雜場(chǎng)景 的實(shí)時(shí)全頻率光影繪制。然而,SRBFs的表達(dá)并不能高效的做多次相 乘,這樣使得SRBFs只能處理靜態(tài)場(chǎng)景,很難擴(kuò)展到動(dòng)態(tài)場(chǎng)景。
動(dòng)態(tài)場(chǎng)景的繪制相比靜態(tài)場(chǎng)景的繪制,動(dòng)態(tài)場(chǎng)景的繪制難度更 高。這是因?yàn)椋捎趧?dòng)態(tài)場(chǎng)景中物體的移動(dòng),使得預(yù)處理得到的光傳 輸函數(shù)變得不再正確,無(wú)法直接應(yīng)用PRT框架實(shí)現(xiàn)動(dòng)態(tài)場(chǎng)景的繪制。 2004年,Mei等人提出一種全局光照下,支持高光材質(zhì)的實(shí)時(shí)動(dòng)態(tài)場(chǎng) 景繪制方法。他們的方法是基于預(yù)處理陰影映照(Precomputed Shadow Map)的技術(shù)并假設(shè)光源位于無(wú)窮遠(yuǎn)。2005年,Zhou等人提出
陰影場(chǎng)(ShadowField)框架,該框架支持環(huán)境光源和近光源的動(dòng)態(tài)場(chǎng) 景繪制。在每個(gè)遮擋體的周?chē)臻g的采樣點(diǎn)中,預(yù)計(jì)算該遮擋體在該 釆樣點(diǎn)的陰影信息并用某種特定的基函數(shù)存儲(chǔ)。每個(gè)近光源的光照信 息也按類(lèi)似的方式預(yù)計(jì)算和存儲(chǔ)。如果使用SH基函數(shù),該方法可以 實(shí)現(xiàn)實(shí)時(shí)的低頻繪制效果;如果使用wavelet基函數(shù),該方法可以實(shí) 現(xiàn)交互幀率的全頻率繪制效果。由于SH的表達(dá)支持快速的旋轉(zhuǎn),所 以他們的方法在低頻效果下,支持場(chǎng)景中物體的移動(dòng)和旋轉(zhuǎn);由于 wavelet的表達(dá)不支持旋轉(zhuǎn),所以他們的方法在全頻效果下,不支持 場(chǎng)景中物體的旋轉(zhuǎn)。
以上三種基函數(shù)有各自的優(yōu)缺點(diǎn)。SH基函數(shù)支持快速的旋轉(zhuǎn), 支持快速的多次相乘,然而卻限于低頻信號(hào);Wavelet基函數(shù)支持快 速的多次相乘,支持全頻率信號(hào),然而卻不支持快速的旋轉(zhuǎn);SRBF 基函數(shù)支持全頻率信號(hào),支持快速的旋轉(zhuǎn),然而卻不支持快速的多次 相乘,使得其不能應(yīng)用于動(dòng)態(tài)場(chǎng)景。
發(fā)明內(nèi)容
為了解決以往基于PRT框架的各種靜態(tài)/動(dòng)態(tài)場(chǎng)景的繪制算法的 缺陷,本發(fā)明提出一種支持快速旋轉(zhuǎn)、快速多次相乘和支持全頻率信 號(hào)的基于球面分段常數(shù)基的動(dòng)態(tài)場(chǎng)景繪制算法。
本發(fā)明的技術(shù)方案是基于球面分段常數(shù)基函數(shù)的動(dòng)態(tài)場(chǎng)景實(shí)時(shí) 繪制方法,其特征在于包括下列步驟在計(jì)算機(jī)上運(yùn)用基函數(shù)進(jìn)行繪 制積分的化簡(jiǎn);區(qū)域分解;預(yù)處理;實(shí)時(shí)光影計(jì)算。
所述基函數(shù)的表達(dá)為分段常數(shù)函數(shù),將球面定義域分成若干區(qū) 域,每個(gè)區(qū)域內(nèi),定義一個(gè)值為常數(shù)的基函數(shù)。
使用預(yù)計(jì)算輻射傳輸和預(yù)計(jì)算陰影場(chǎng)的框架,環(huán)境光函數(shù)、可見(jiàn)
性函數(shù)和BRDF材質(zhì)函數(shù)均采用分段常數(shù)函數(shù)的表達(dá),每一點(diǎn)的顏色
值通過(guò)所述三種函數(shù)的對(duì)應(yīng)系數(shù)的多次相乘計(jì)算得到,即 £"叫)《2^|(^,,^]>。^》,其中,x為對(duì)應(yīng)頂點(diǎn),L為環(huán)境光函
數(shù),p為BRDF材質(zhì)函數(shù),V為自可見(jiàn)性函數(shù),Vo為遮擋可見(jiàn)性函數(shù)。 將三種球面函數(shù)的定義域分成若干區(qū)域的步驟使用自底向上合 并區(qū)域的優(yōu)化方法,使得總體誤差最小的步驟是通過(guò)自底向上逐步優(yōu) 化總體誤差,總體誤差為所有區(qū)域的誤差之和,其中,每個(gè)區(qū)域S,的
誤差定義為《-l&l/,;2,其中,IS,.I為區(qū)域S,的面積;(-^f"ty)c^
為在區(qū)域S,.內(nèi)環(huán)境光強(qiáng)的平均值,同時(shí),也是環(huán)境光源函數(shù)的系數(shù); 《為環(huán)境光強(qiáng)"《)在區(qū)域^的方差,選取的標(biāo)準(zhǔn)是,每次選取這樣的 兩個(gè)相連的區(qū)域合并,使得合并之后帶來(lái)的總體誤差最小,在優(yōu)化總 體誤差的同時(shí),環(huán)境光源函數(shù)的對(duì)應(yīng)系數(shù)/,也就計(jì)算得到。
環(huán)境光函數(shù)的對(duì)應(yīng)系數(shù)通過(guò)預(yù)處理得到,可見(jiàn)性函數(shù)的對(duì)應(yīng)系數(shù)
通過(guò)實(shí)時(shí)査詢可見(jiàn)距離表得到,BRDF材質(zhì)函數(shù)的對(duì)應(yīng)系數(shù)通過(guò)實(shí)時(shí) 査詢BRDF材質(zhì)函數(shù)的預(yù)積分表得到。
所述的優(yōu)化目標(biāo)為給定一定數(shù)量的區(qū)域數(shù)量,使得環(huán)境光函數(shù)
的擬合誤差最?。缓喜⒎椒槌跏紩r(shí),每個(gè)區(qū)域即為一個(gè)像素點(diǎn);
之后每次選擇使得擬合誤差最小的兩相鄰區(qū)域,合并這兩個(gè)相鄰 區(qū)域;直到區(qū)域數(shù)量等于給定數(shù)量。
可見(jiàn)距離表通過(guò)預(yù)計(jì)算得到并存儲(chǔ)下來(lái);可見(jiàn)距離表定義為每 個(gè)像素點(diǎn)的可見(jiàn)距離等于該像素點(diǎn)到可見(jiàn)性0/1邊界的最短距離;可 見(jiàn)距離表通過(guò)Danielsson提出的方法計(jì)算得到。
所述BRDF材質(zhì)函數(shù)的預(yù)積分表通過(guò)與計(jì)算得到并存儲(chǔ)下來(lái);允 許實(shí)時(shí)修改或編輯BRDF材質(zhì)函數(shù),并快速更新BRDF材質(zhì)函數(shù)的預(yù)積 分表。
可見(jiàn)距離表和BRDF材質(zhì)函數(shù)預(yù)積分表均使用Lambert equal-area的參數(shù)化方法;可見(jiàn)距離表數(shù)據(jù)使用了聚類(lèi)主分量分析 法進(jìn)行壓縮。
計(jì)算動(dòng)態(tài)場(chǎng)景中每個(gè)物體的包圍盒,使用剪枝的辦法提前去除包 圍盒外的,與該光源方向上不相交的遮擋體,以提高速度。
本發(fā)明的效果是通過(guò)使用本發(fā)明中提出的球面分段常數(shù)基函 數(shù),可以綜合現(xiàn)有技術(shù)中三種基函數(shù)的所有優(yōu)點(diǎn),支持快速旋轉(zhuǎn),支 持快速多次相乘,支持全頻率信號(hào)?;谠摾碚摻Y(jié)果,本發(fā)明中的全 局環(huán)境光照繪制算法可以實(shí)時(shí)的繪制動(dòng)態(tài)環(huán)境光照上的復(fù)雜動(dòng)態(tài)場(chǎng) 景的全頻率光影效果,同時(shí)支持場(chǎng)景中物體和光源的隨意移動(dòng)、旋轉(zhuǎn), 以及BRDF材質(zhì)的實(shí)時(shí)編輯。
圖1為本發(fā)明球面分段常數(shù)基函數(shù)的一維示意圖2為區(qū)域劃分算法程序的偽代碼;
圖3為區(qū)域劃分算法的劃分結(jié)果示意圖4為預(yù)積分表的預(yù)處理和查表過(guò)程示意圖5為可視距離表的預(yù)處理和査表過(guò)程示意圖6為參數(shù)化方法示意圖7為實(shí)時(shí)繪制步驟的算法程序偽代碼;
圖8為包圍盒外遮擋體剪枝的示意圖9為本發(fā)明繪制的結(jié)果示意圖。
具體實(shí)施例方式
第一步繪制積分的化簡(jiǎn)
首先通過(guò)基函數(shù)的方法簡(jiǎn)化復(fù)雜的繪制積分。
動(dòng)態(tài)場(chǎng)景中各點(diǎn)的顏色值通過(guò)如下積分公式,利用2004年Zhou
等人提出的陰影場(chǎng)方法確定
<formula>formula see original document page 10</formula>
其中X為對(duì)應(yīng)頂點(diǎn),L為環(huán)境光函數(shù),p為BRDF材質(zhì)函數(shù),V為 自可見(jiàn)性函數(shù),Vo為遮擋可見(jiàn)性函數(shù)。將球面分成若干的區(qū)域,具 體分法將在后面詳述,這樣就得到了在各個(gè)區(qū)域上分別定義的一組球 面分段常數(shù)基函數(shù){^( )},這樣,上述積分式中的各個(gè)積分元素可近 似為(圖1):
p(x,w,w。)aSA叫A0y),
其中,球面分段常數(shù)基函數(shù){5,.( )}定義為給定單位球面s的一個(gè)剖
分(S,&,...,&}(即滿足s^,us2U…U&且對(duì)任意/"有s,n^-0),
{5, }為定義在單位球面5上的函數(shù),并且對(duì)應(yīng)于每個(gè)區(qū)域S,,滿足: 在S,內(nèi)值為1,否則值為0。這樣,通過(guò)球面分段常數(shù)基函數(shù)的多次 相乘方法,原積分式可近似為
圖1為球面分段常數(shù)基函數(shù)的一維示意圖。從上到下分別展示了 環(huán)境光函數(shù)、BRDF材質(zhì)函數(shù)和可見(jiàn)性函數(shù)在球面分段常數(shù)基函數(shù)下 的表達(dá)。本發(fā)明首先根據(jù)環(huán)境光函數(shù)的信息,確定一個(gè)區(qū)域劃分,使 得在該劃分下,環(huán)境光函數(shù)的擬合誤差很小。然后,求得對(duì)應(yīng)于這個(gè) 區(qū)域劃分的一組球面分段常數(shù)基函數(shù)。然后,將各個(gè)函數(shù)投影到球面 常數(shù)基函數(shù)上,求得對(duì)應(yīng)的系數(shù)。系數(shù)是通過(guò)對(duì)于每一個(gè)區(qū)域內(nèi),求 得積分并除以面積得到。對(duì)于環(huán)境光函數(shù),該積分為預(yù)處理結(jié)果;對(duì) 于BRDF材質(zhì)函數(shù),該積分通過(guò)預(yù)積分表實(shí)時(shí)査詢得到;對(duì)于可見(jiàn)性 函數(shù)。該積分通過(guò)可見(jiàn)距離表實(shí)時(shí)査詢得到。 第二步區(qū)域分解
區(qū)域分解的目標(biāo)是使得整體的擬合誤差最小,本發(fā)明采用自底向
上的方法得到最優(yōu)的區(qū)域分解方案(過(guò)程見(jiàn)圖2)。圖2為區(qū)域劃分
算法的偽代碼。描述如下
輸入 一個(gè)環(huán)境光源,擁有m個(gè)像素點(diǎn)(m通常為6144)
輸出 一組區(qū)域W,&,...,
步驟
1. 初始設(shè)5 = ^|0^</ },其中每個(gè)區(qū)域S,.僅僅包含環(huán)境光源的第
i個(gè)像素。
2. 當(dāng)m〉k,貝U
a) 定義誤差數(shù)組mw[m];
b) 定義索引數(shù)組/mfec[附];
c) 讓i遍歷0-m
i.如果區(qū)域《沒(méi)有鄰接的區(qū)域,貝IJ
1. <formula>formula see original document page 12</formula>
2. <formula>formula see original document page 12</formula>
ii. 否則,找到使得與區(qū)域S,合并之后,誤差最小的區(qū)域Sk: 1. A: <~ arg min* {《a",',i憮e "e妙6。K'.》;
d) & —賦值為使得誤差最小的區(qū)域
e) <formula>formula see original document page 12</formula>
<formula>formula see original document page 12</formula>;
g) <formula>formula see original document page 12</formula>
3. 結(jié)束。
區(qū)域分解的目標(biāo)是使得整體的擬合誤差最小,本發(fā)明采用自底向 上的方法得到最優(yōu)的區(qū)域分解方案。初始時(shí),環(huán)境上的每個(gè)像素點(diǎn)都
作為一個(gè)區(qū)域,那么,對(duì)于6*32*32的環(huán)境光源,初始時(shí)共有6144 個(gè)區(qū)域。然后,每一步在所有區(qū)域中選擇兩個(gè)相鄰的區(qū)域合并,選取 的標(biāo)準(zhǔn)是合并之后帶來(lái)的總體擬合誤差最小。停止條件為區(qū)域的數(shù)
量等于手工預(yù)先指定的區(qū)域數(shù)量,如30。
分解的結(jié)果見(jiàn)圖3。上下分別顯示了兩個(gè)環(huán)境光源的劃分結(jié)果。 均為30個(gè)區(qū)域,區(qū)域之間用"綠線"分開(kāi)。,可以發(fā)現(xiàn),每個(gè)劃分的 結(jié)果都滿足,能量高的區(qū)域面積小,能量低的區(qū)域面積大。
使得總體誤差最小的步驟是通過(guò)自底向上逐步優(yōu)化總體誤差???體誤差為所有區(qū)域的誤差之和。其中,每個(gè)區(qū)域S,.的誤差定義為
《,》,2其中,ISl為區(qū)域S,的面積;"丄j"z(^to為在區(qū)域S內(nèi)環(huán)
境光強(qiáng)的平均值,同時(shí),也是環(huán)境光源函數(shù)的系數(shù);一為環(huán)境光強(qiáng)丄(w) 在區(qū)域S,的方差。這樣,選取的標(biāo)準(zhǔn)是,每次選取這樣的兩個(gè)相連的 區(qū)域合并,使得合并之后帶來(lái)的總體誤差最小。這樣,在優(yōu)化總體誤 差的同時(shí),環(huán)境光源函數(shù)的對(duì)應(yīng)系數(shù)纟也就計(jì)算得到。 第三步預(yù)處理 通過(guò)區(qū)域分解之后,環(huán)境光源函數(shù)的系數(shù)己經(jīng)計(jì)算得到。對(duì)于 BRDF材質(zhì)函數(shù)和可見(jiàn)性函數(shù)的系數(shù),本發(fā)明采用預(yù)積分表(見(jiàn)圖4,) 進(jìn)行BRDF材質(zhì)函數(shù)的預(yù)處理和査表,圖4為預(yù)積分表的預(yù)處理和査 表過(guò)程說(shuō)明。在圖中的每個(gè)像素點(diǎn),都預(yù)計(jì)算該點(diǎn)與左上角點(diǎn)所包圍 的矩形區(qū)域內(nèi)的積分值,并將其存儲(chǔ)下來(lái)。那么,任何一個(gè)矩形區(qū)域
R(l, r, t, b)內(nèi)的積分可以通過(guò)4次査表操作得到<formula>formula see original document page 14</formula>同時(shí)提出可見(jiàn)距離表(見(jiàn)圖5)進(jìn)行可見(jiàn)型函數(shù)的預(yù)處理和査表。 圖5為可視距離表的預(yù)處理和査表過(guò)程說(shuō)明,給定一個(gè)可視性函數(shù) v(p),可視距離V(p)定義為V(p) = d(p)氺sign(p)其中d(p)為點(diǎn)p 到0/1邊界的最近距離,sign(p)為p的可視性,如果可見(jiàn),則sign(p) =1;如果不可見(jiàn),則sign(p) = -1。這樣,對(duì)任意正方形區(qū)域R(半 徑為r,中心為q),在R內(nèi)的積分可以近似的通過(guò)一次査表得到
可見(jiàn)距離表利用可見(jiàn)性函數(shù)只能取值0/1的特性,通過(guò)査詢距離 值即可估算出積分值,比預(yù)積分表快4倍。
另外,本發(fā)明采用保面積的Lambert equal-area的參數(shù)化方法, 將定義在球面上的預(yù)積分表和可見(jiàn)距離表,參數(shù)化到正方形上,并將 其存儲(chǔ)下來(lái)。該參數(shù)化方法見(jiàn)圖6。 Lambert equal-area參數(shù)化方法 為一種保面積的球面參數(shù)化方法,他將一個(gè)平面坐標(biāo)(u, v)映射到單 位球面坐標(biāo)(x, y, z),其中(_l〈=u, v, x, y, z〈=l) 。 Lambert equal-area 的參數(shù)化定義如下<formula>formula see original document page 14</formula>
借鑒2003年Sloan關(guān)于SH的工作,我們也使用聚類(lèi)主分量分析 法(Clustered Principle Component Analysis, CPCA)對(duì)我們的預(yù)處
理數(shù)據(jù)進(jìn)行壓縮。
CPCA的主要步驟包括以下幾步
1. 根據(jù)數(shù)據(jù)之間的歐式距離,將預(yù)處理數(shù)據(jù)聚類(lèi)成若干類(lèi)
2. 在每一類(lèi)中,運(yùn)用傳統(tǒng)數(shù)據(jù)分析方法-主分量分析法 (Principle Component Analysis),求得該類(lèi)的主分量,及每 個(gè)預(yù)處理數(shù)據(jù)所對(duì)應(yīng)的主分量系數(shù);
3. 僅保存前若干項(xiàng)重要的主分量和主分量系數(shù),達(dá)到壓縮效果。 第四步實(shí)時(shí)光影計(jì)算
在實(shí)時(shí)計(jì)算每個(gè)頂點(diǎn)的光影值時(shí)首先通過(guò)査詢對(duì)應(yīng)的預(yù)積分表 和可見(jiàn)距離表,得到環(huán)境光源、BRDF材質(zhì)和可見(jiàn)性函數(shù)的對(duì)應(yīng)系數(shù); 然后,通過(guò)球面分段常數(shù)基函數(shù)的多次相乘特性將對(duì)應(yīng)系數(shù)相乘,得
到最終的光影值。具體的計(jì)算流程參見(jiàn)圖7。圖7為實(shí)時(shí)繪制步驟的
算法偽代碼。偽代碼描述如下
遍歷每個(gè)頂點(diǎn)x:
初始化頂點(diǎn)顏色^x,^;i為0;
遍歷每個(gè)環(huán)境光源區(qū)域^ (對(duì)應(yīng)的參數(shù)為(圓心ci,半徑ri>, 光源系數(shù)/》
將ci旋轉(zhuǎn)至頂點(diǎn)的局部坐標(biāo)系,得到ci'; 查找BRDF函數(shù)的預(yù)積分表,得到BRDF的對(duì)應(yīng)系數(shù)A^。,,.; 査找自可見(jiàn)性函數(shù)V的可視距離表,得到自可見(jiàn)性函數(shù)的 對(duì)應(yīng)系數(shù)、.;
求得中間量THS,I/,A,叫,&,;
遍歷每個(gè)遮擋物0 j:
査找遮擋可見(jiàn)性函數(shù)的可視距離表,得到遮擋可見(jiàn)性函 數(shù)的對(duì)應(yīng)系數(shù)v。一,;
結(jié)束遍歷 £(x,<y0)+ = T
結(jié)束遍歷
將E(;c,叫)作為顏色值賦給頂點(diǎn)X; 結(jié)束遍歷
為達(dá)到實(shí)時(shí)的繪制速度,該算法使用圖形硬件的Shader程序?qū)?現(xiàn)。另外,在動(dòng)態(tài)場(chǎng)景的繪制中,我們通過(guò)計(jì)算場(chǎng)景中每個(gè)物體的 包圍盒,使用剪枝(culling)的辦法提前去除包圍盒外的,與該光源 方向上不相交的遮擋體,見(jiàn)圖8。圖8為包圍盒外遮擋體剪枝的示意。 本發(fā)明計(jì)算動(dòng)態(tài)場(chǎng)景中每個(gè)物體的包圍盒,使用剪枝(culling)的辦 法提前去除包圍盒外的,與該光源方向上不相交的遮擋體,以提高速 度。在該圖中,我們計(jì)算光源SO對(duì)于物體00的貢獻(xiàn)時(shí),通過(guò)剪枝, 只需要考慮遮擋物02的影響,而不用考慮01, 03和04這些遮擋物。
部分繪制結(jié)果見(jiàn)圖9。第一排的圖顯示了一個(gè)機(jī)器人的場(chǎng)景,該 機(jī)器人總共由12個(gè)部件組成;第二排的圖和第三排左側(cè)的圖顯示了 一個(gè)有茶壺和茶杯的廚房場(chǎng)景;第三排右側(cè)的圖顯示了一個(gè)變形的物 體,從左邊的圓柱體變?yōu)閹Ц〉竦膱A柱體。
本發(fā)明在實(shí)時(shí)計(jì)算每個(gè)頂點(diǎn)的光影值時(shí)首先通過(guò)査詢對(duì)應(yīng)的預(yù)
積分表和可見(jiàn)距離表,得到環(huán)境光源、BRDF材質(zhì)和可見(jiàn)性函數(shù)的對(duì) 應(yīng)系數(shù);然后,通過(guò)球面分段常數(shù)基函數(shù)的多次相乘特性將對(duì)應(yīng)系數(shù) 相乘,得到最終的光影值。
權(quán)利要求
1、基于球面分段常數(shù)基函數(shù)的動(dòng)態(tài)場(chǎng)景實(shí)時(shí)繪制方法,其特征在于包括下列步驟在計(jì)算機(jī)上運(yùn)用基函數(shù)進(jìn)行繪制積分的化簡(jiǎn);區(qū)域分解;預(yù)處理;實(shí)時(shí)光影計(jì)算。
2、 根據(jù)權(quán)利要求1所述的基于球面分段常數(shù)基函數(shù)的動(dòng)態(tài)場(chǎng) 景實(shí)時(shí)繪制方法,其特征在于所述基函數(shù)的表達(dá)為分段常數(shù)函數(shù),將 球面定義域分成若干區(qū)域,每個(gè)區(qū)域內(nèi),定義一個(gè)值為常數(shù)的基函數(shù)。
3、 根據(jù)權(quán)利要求1或2所述的基于球面分段常數(shù)基函數(shù)的動(dòng) 態(tài)場(chǎng)景實(shí)時(shí)繪制方法,其特征在于使用預(yù)計(jì)算輻射傳輸和預(yù)計(jì)算陰影 場(chǎng)的框架,環(huán)境光函數(shù)、可見(jiàn)性函數(shù)和BRDF材質(zhì)函數(shù)均采用分段常 數(shù)函數(shù)的表達(dá),每一點(diǎn)的顏色值通過(guò)所述三種函數(shù)的對(duì)應(yīng)系數(shù)的多次相乘計(jì)算得到,即E",叫)a2:is"(/,uwnv"),其中,x為對(duì)應(yīng)頂點(diǎn),L為環(huán)境光函數(shù),p為BRDF材質(zhì)函數(shù),V為自可見(jiàn)性函數(shù),Vo為 遮擋可見(jiàn)性函數(shù)。
4、 根據(jù)權(quán)利要求3所述基于球面分段常數(shù)基函數(shù)的動(dòng)態(tài)場(chǎng)景 實(shí)時(shí)繪制方法,其特征在于將三種球面函數(shù)的定義域分成若干區(qū)域的 步驟使用自底向上合并區(qū)域的優(yōu)化方法,使得總體誤差最小的步驟是 通過(guò)自底向上逐步優(yōu)化總體誤差,總體誤差為所有區(qū)域的誤差之和, 其中,每個(gè)區(qū)域S,的誤差定義為《叫Sl/,W,其中,IS,I為區(qū)域S的面積;"r^U(")^為在區(qū)域S,內(nèi)環(huán)境光強(qiáng)的平均值,同時(shí),也是環(huán)境光源函數(shù)的系數(shù); 一為環(huán)境光強(qiáng)£(份)在區(qū)域5,的方差,選取的標(biāo)準(zhǔn) 是,每次選取這樣的兩個(gè)相連的區(qū)域合并,使得合并之后帶來(lái)的總體誤差最小,在優(yōu)化總體誤差的同時(shí),環(huán)境光源函數(shù)的對(duì)應(yīng)系數(shù)" 也就計(jì)算得到。
5、 根據(jù)權(quán)利要求3所述基于球面分段常數(shù)基函數(shù)的動(dòng)態(tài)場(chǎng)景實(shí) 時(shí)繪制方法,其特征在于環(huán)境光函數(shù)的對(duì)應(yīng)系數(shù)通過(guò)預(yù)處理得到,可 見(jiàn)性函數(shù)的對(duì)應(yīng)系數(shù)通過(guò)實(shí)時(shí)査詢可見(jiàn)距離表得到,BRDF材質(zhì)函數(shù) 的對(duì)應(yīng)系數(shù)通過(guò)實(shí)時(shí)查詢BRDF材質(zhì)函數(shù)的預(yù)積分表得到。
6、 根據(jù)權(quán)利要求4所述的基于球面分段常數(shù)基函數(shù)的動(dòng)態(tài)場(chǎng)景 實(shí)時(shí)繪制方法,其特征在于所述的優(yōu)化目標(biāo)為給定一定數(shù)量的區(qū)域 數(shù)量,使得環(huán)境光函數(shù)的擬合誤差最??;合并方法為初始時(shí),每個(gè) 區(qū)域即為一個(gè)像素點(diǎn);之后每次選擇使得擬合誤差最小的兩相鄰區(qū) 域,合并這兩個(gè)相鄰區(qū)域;直到區(qū)域數(shù)量等于給定數(shù)量。
7、 根據(jù)權(quán)利要求5所述的基于球面分段常數(shù)基函數(shù)的動(dòng)態(tài)場(chǎng)景 實(shí)時(shí)繪制方法,其特征在于可見(jiàn)距離表通過(guò)預(yù)計(jì)算得到并存儲(chǔ)下來(lái); 可見(jiàn)距離表定義為每個(gè)像素點(diǎn)的可見(jiàn)距離等于該像素點(diǎn)到可見(jiàn)性 0/1邊界的最短距離;可見(jiàn)距離表通過(guò)Danielsson提出的方法計(jì)算 得到。
8、 根據(jù)權(quán)利要求5基于球面分段常數(shù)基函數(shù)的動(dòng)態(tài)場(chǎng)景實(shí)時(shí)繪 制方法,的方法,其特征在于所述BRDF材質(zhì)函數(shù)的預(yù)積分表通過(guò)與 計(jì)算得到并存儲(chǔ)下來(lái);允許實(shí)時(shí)修改或編輯BRDF材質(zhì)函數(shù),并快速 更新BRDF材質(zhì)函數(shù)的預(yù)積分表。
9、 根據(jù)權(quán)利要求5所述的基于球面分段常數(shù)基函數(shù)的動(dòng)態(tài)場(chǎng)景 實(shí)時(shí)繪制方法,其特征在于可見(jiàn)距離表和BRDF材質(zhì)函數(shù)預(yù)積分表均使用Lambert equal-。rea的參數(shù)化方法;可見(jiàn)距離表數(shù)據(jù)使用了 聚類(lèi)主分量分析法進(jìn)行壓縮。
10、根據(jù)權(quán)利要求7所述的基于球面分段常數(shù)基函數(shù)的動(dòng)態(tài)場(chǎng)景 實(shí)時(shí)繪制方法,其特征在于計(jì)算動(dòng)態(tài)場(chǎng)景中每個(gè)物體的包圍盒,使用 剪枝的辦法提前去除包圍盒外的,與該光源方向上不相交的遮擋體, 以提高速度。
全文摘要
一種支持快速旋轉(zhuǎn)、快速多次相乘和支持全頻率信號(hào)的基于球面分段常數(shù)基的動(dòng)態(tài)場(chǎng)景繪制算法。技術(shù)方案是基于球面分段常數(shù)基函數(shù)的動(dòng)態(tài)場(chǎng)景實(shí)時(shí)繪制方法,其特征在于包括下列步驟運(yùn)用基函數(shù)進(jìn)行繪制積分的化簡(jiǎn);區(qū)域分解;預(yù)處理;實(shí)時(shí)光影計(jì)算。
文檔編號(hào)G06T17/00GK101383052SQ20081005627
公開(kāi)日2009年3月11日 申請(qǐng)日期2008年1月16日 優(yōu)先權(quán)日2008年1月16日
發(fā)明者昆 徐, 胡事民, 賈云濤 申請(qǐng)人:清華大學(xué)