專利名稱:一種物理實時渲染三維場景的方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種計算機圖形學(xué)領(lǐng)域,尤其是涉及一種物理實時渲染三維場景的方法及系統(tǒng)。
背景技術(shù):
計算機圖形學(xué)領(lǐng)域,人們研究出了不少模擬場景光照效果的方法。曾經(jīng)流行的一種局部光照渲染的方法是,通過建立物體和場景的三維模型及設(shè)定虛擬光源,用數(shù)學(xué)模型處理光源、物體與光源的簡單幾何關(guān)系、物體表面材質(zhì),計算此光源在模型上形成的反射效果。這種局部光照渲染方法的仿真程度并不高,它的巨大局限是,對物體及光源間幾何關(guān)系化簡過渡,只計算物體及光源的關(guān)系,而忽略了場景內(nèi)各物體對光路的影響,從而略去了許多諸如陰影、折射、多次反射等效果。再者,由于光源建模的困難,這種方法多數(shù)只用來處理有限的點狀光源或平行光源。對圖片質(zhì)量要求較高的情況下,人們使用光線跟蹤的方法。這種方法通過選取一定數(shù)量的“光子”,根據(jù)幾何光學(xué)定理模擬這些光子的傳播,從而計算出最終的圖像。一種比較主流的光線跟蹤算法稱為Monte Carlo Ray Tracing。這種方法的優(yōu)點是,創(chuàng)造出來的圖像真實度極高。而缺點則為,由于選取光子數(shù)量極大,光子運動路徑計算耗時,光線跟蹤雖能達成很好的圖像效果,但運算時間長,若要實時渲染動畫場景,則需運用大量CPU同時計笪弁。全局照明(GlcAal Illumination)明技術(shù)可以生成具有真實感的圖像.模擬光在虛擬場景中的傳播行為,可以得到現(xiàn)實世界中的各種光影效果,包括光源與物體直接作用產(chǎn)生的直接光照明效果,以及由于光能在物體之間的相互反射產(chǎn)生的間接光照效果.最終產(chǎn)生的圖像決定于光源、場景中物體的幾何形狀、相互位置關(guān)系以及物體的表面材質(zhì).因此,使用全局照明(GlcAal Illumination)的渲染場景看起來更加真實化。還有一類實時全局照明(GlcAal Illumination)渲染方法,常用來處理能處理有限點光源或平行光的普通陰影效果。這類方法包括陰影圖(shadow map)和陰影體(shadow volume)。它們通過多次渲染,對每個簡單光源,計算出場景內(nèi)能被其直接照射的部分,并只對這些部分計算反射光線強度。由于這類方法的運算量較小,實時性較好,在游戲畫面實時渲染方面有較大優(yōu)勢,且目前獲得了較為廣泛的應(yīng)用。而其缺點,由于只能處理簡單光源及其產(chǎn)生的硬陰影,不能處理軟陰影及由多次反射等造成的復(fù)雜光照效果,圖像真實感遠不如光線跟蹤算法光線追蹤計算已用于創(chuàng)建三維制作設(shè)計軟件,但還不能有效地產(chǎn)生實時具有照片級真實感的高質(zhì)量三維場景。一些三維軟件如(3DMAX Maya等)允許用戶通過更改觀看方向或一些物體的顏色、材質(zhì)等渲染場景。但是,這樣渲染的場景更像是二維陰影及質(zhì)量很低而不是具有真實感的高質(zhì)量三維數(shù)字場景。以及為了實現(xiàn)足夠高的幀速經(jīng)常使用一些不正確的近似甚至是欺騙的手段。例如,用戶渲染一個低質(zhì)量場景然后產(chǎn)生最終靜態(tài)場景后,必須進行一個單獨的進程在新窗口中渲染相同的高質(zhì)量場景。新場景是不可控制的,如果用戶想看不同外觀的高質(zhì)量場景,必須返回低質(zhì)量場景進行更改,然后渲染一個新的高質(zhì)量場景。
發(fā)明內(nèi)容
本發(fā)明的目的就是為了克服上述現(xiàn)有技術(shù)存在的缺陷而提供一種物理實時渲染三維場景的方法及系統(tǒng)。本發(fā)明的目的可以通過以下技術(shù)方案來實現(xiàn)一種物理實時渲染三維場景的方法,其特征在于,該方法包括以下步驟1)加載模型到三維場景;幻使用至少一種更新應(yīng)用到三維場景;;3)更新三維場景的照明;4)物理光譜計算力)實時渲染包含實時交互顯示的
三維攝像機。所述的步驟1)具體為,高動態(tài)范圍渲染導(dǎo)入物體的三維場景。所述的高動態(tài)范圍渲染包括加載高動態(tài)范圍球形場景;閉合高動態(tài)范圍場景; 實時添加陰影至高動態(tài)范圍場景。所述的步驟2、中的更新應(yīng)用包括更新場景的背景;更新場景中攝像機鏡頭角度及位置;更新場景中的照明;更新材質(zhì)。所述的更新材質(zhì)具體為,通過漫反射、光子映射、高光和鏡面反射參數(shù)顯示場景物體的材質(zhì),以及實時更新材質(zhì)的參數(shù)。所述的步驟3)具體為,更新直接和間接照明,以及更新至少一個焦散、折射、反射和高光反射。所述的步驟5)中的實時渲染具體為,渲染一次反射形成的直接光照和兩次反射形成的間接光照實時更新。一種物理實時渲染三維場景的系統(tǒng),其特征在于,該系統(tǒng)包括輸入設(shè)備、處理模塊、顯示模塊,所述的輸入設(shè)備與處理模塊相連,所述的處理模塊與顯示模塊相連,所述的輸入模塊包括鍵盤、鼠標(biāo)、手寫板,所述的處理模塊包括數(shù)據(jù)處理模塊和軟件數(shù)據(jù)處理模塊。與現(xiàn)有技術(shù)相比,本發(fā)明的所有計算都是根據(jù)物理現(xiàn)象的數(shù)學(xué)模型為基礎(chǔ),區(qū)別目前近似、模擬手段的方式。能夠?qū)崟r物理計算顯示全局照明(GlcAal Illumination)、能夠處理軟陰影及由多次反射等造成的復(fù)雜光照效果還原真實世界中光線的傳播、折射、衍射、吸收等過程,可使陰影、光線、物體、材質(zhì)都能實時高質(zhì)量改變,且三維攝像機、場景能夠以交互的方式進行實時渲染,達到實時交互的圖像顯示,實現(xiàn)數(shù)字三維場景可通過更新直接全局照明(GlcAal Illumination)和間接照明以及其它因素如焦散、折射、反射和高光反射產(chǎn)生的3D模型能以具有照片級真實感、高質(zhì)量、實時的方式顯示,還原更真實的圖像。
圖1為本發(fā)明中加載模型建立初始場景并實時交互場景的流程圖;圖2為本發(fā)明的流程圖;圖3為本發(fā)明的處理系統(tǒng)結(jié)構(gòu)圖。
具體實施方式
下面結(jié)合附圖和具體實施例對本發(fā)明進行詳細說明。實施例具體的實施方式包括實時光線追蹤系統(tǒng),配置用于計算折射、高光反射、陰影和間接照明如焦散和滲色。在計算機顯示和3D渲染中,色溢是物體或表面被附近表面有色光線反射而著色的現(xiàn)象。通過依據(jù)光折射和反射的斯涅爾(Snell)定律計算X1 sin X1 = X2 sin X2這里的和\是指當(dāng)前媒介以及光進入媒介的折射率,X1和\分別表示折射率和折射角度。反射通過反射方向的追蹤光線進行計算。陰影通過追蹤一條或更多光線照明場景并估計其可視性而計算出來。高光反射、焦散和間接照明通過Monte Carlo光線追蹤進行計算,這里采用了一條投射的示例光線來估計下面反射積分值L(x,{right arrow over (w)}) = f fr (x,{right arrow over(w)},{right arrow over (w)}' )({right arrow over(η)}, {right arrow over(w)}' ) dw'這里的 L (χ, {right arrow over (w)})是指 χ 方向的福射率{right arrow over (w)}, fr (x, {right arrow over (w)}, {right arrow over (w)}')是雙向反身寸分布函數(shù),表示χ方向{right arrow over (w)}‘ 反身寸在方向{right arrow over (w)}的入身寸光線數(shù)量,而{right arrow over (η)}是指χ方向的正常表面。一、隨著用戶的操作實時更新三維場景,并實時高質(zhì)量反饋用戶對物體的更改。1.圖1的流程圖說明了加載場景和實時更新高質(zhì)量顯示三維場景的整個過程。如圖1 從“加載模型到默認場景”開始,處理器將3D模型加載至默認場景。加載可能包括加載默認材質(zhì)、默認照明和默認攝像機角度。三維場景可以用默認設(shè)置進行渲染。接下來“配置模型和場景”,用戶可以配置和更改場景的各個參數(shù),并可實時查看場景模型更新。例如, 用戶可以更改場景如設(shè)定材質(zhì)、加載照明環(huán)境、加載背景反射球或調(diào)節(jié)攝像機。如上所述, 渲染如全局照明(GlcAal Illumination)可以進行實時的更新。一旦用戶完成配置更改, 三維場景渲染可以進行實時更新。例如,處理器可能采用光線追蹤計算并實時更新三維攝像機場景,而無需用戶在低質(zhì)量環(huán)境中進行更改并再次點擊高質(zhì)量渲染按鈕。2. “實時真實感渲染交互場景和模型“,用戶可以調(diào)節(jié)或更改材質(zhì)或者與模型和場景進行互動。用戶選擇新材質(zhì)時,物體會做出響應(yīng),自動顯示選擇的新材質(zhì)。此外,選擇新材質(zhì)后,物體顯示選擇的新材質(zhì)且物體的新照明和光線追蹤信息會被計算和顯示出來。所選擇材質(zhì)的屬性可以從一個材質(zhì)元素復(fù)制到另一個,用戶還可以調(diào)節(jié)照明環(huán)境。二、用戶可以實時、高質(zhì)量交互渲染三維場景的照明,形成實時交互式三維攝像機。1.攝像機被鎖定的情況下,用戶不能調(diào)節(jié)攝像機視圖,用戶可以通過直接或間接連接至微處理器的輸入設(shè)備選擇攝像機或觀看位置。例如用戶可以通過“點擊”場景中的某個按鈕,在三維顯示空間中放大、縮小、旋轉(zhuǎn)或移動攝像機位置??梢酝ㄟ^點擊鼠標(biāo)左鍵并從左到右移動鼠標(biāo)觀看物體。當(dāng)用戶停止攝像機時,屏幕上場景的清晰度將持續(xù)增加,直至在照片上難以辨別。2.模型和場景交互還包括實時調(diào)節(jié)場景照明背景。可以動態(tài)和實時選擇環(huán)境照明背景。處理器自動更新物體顏色或者用戶正在調(diào)節(jié)的色環(huán)部分。提供的背景球型文件可以像在背面板中一樣在背景中瀏覽。背景圖像永遠不變,就像背景圖像一樣。在一個具體的離線高分辨率瀏覽器實施方式中,提供的用戶界面允許地面以水的折射率進行反射,以便在地面上顯示物體的反射圖像。3.模型和場景互動還包括加載照明和更改場景。調(diào)節(jié)照明環(huán)境可能包括調(diào)節(jié)HDR 背景,根據(jù)時間以及經(jīng)緯度更改光線,更改平行光的位置或更改分辨率。目前,由于場景變化是實時的,用戶不必點擊按鈕來創(chuàng)建高質(zhì)量圖像。傳統(tǒng)的方法需要一種預(yù)處理。而在目前實施方式中,照明、陰影和反射是隨著用戶與場景的互動實時更新的??梢詾橛脩籼峁┝艘粋€用戶界面,允許在移動緩慢但質(zhì)量很高的高質(zhì)量反走樣模式與允許快速互動且攝像機停止時質(zhì)量增加的低質(zhì)量模式之間切換。三.顯示模塊由多種模塊組成,這些模塊共同被稱為實時顯示模塊。為了使普通的技術(shù)人員也能夠觀看,顯示模塊中的每個模塊可能包含多種子函數(shù)、步驟、定義和宏。每個模塊都以典型方式單獨編譯并鏈接至一個可執(zhí)行程序。因此,下面每個模塊的說明可方便用于描述顯示模塊的功能性。這樣每個模塊進行的過程可能任意再分配給其它一個模塊,結(jié)合在一個模塊上,或在可分享動態(tài)鏈接庫中可用。每個模塊都可以在硬件中執(zhí)行。1.顯示模塊配置用以運行于處理器上。處理器可以是任意傳統(tǒng)的通用單或多芯片 /核微處理器如Intel家族處理器、MIPS處理器、Power PC處理器或ALPHA處理器。此外, 處理器也可以是任意傳統(tǒng)的專用微處理器如數(shù)字信號處理器。2.顯示模塊顯示了背景中虛擬物體的互動三維場景圖像。顯示模塊配置用以運行于通用計算機如個人電腦或者包含一個與永久和非永久內(nèi)存或存儲通信的處理器、一個或更多用戶輸入設(shè)備和一個顯示屏的工作站。用戶可以在三維顯示空間中觀看虛擬物體渲染。用戶可通過顯示模塊在實時環(huán)境下與模型互動?;訄鼍翱赡苁枪饩€追蹤/光子映射和所選物體或者所選三維顯示空間環(huán)境下物體的全局照明(Global Illumination)渲染。 用戶輸入或更改顯示物體時,場景和物體能夠?qū)崟r更新顯示,整個三維場景可以通過基于 Macromedia Flash的控件或作為獨立應(yīng)用或結(jié)合許多編輯工具在網(wǎng)絡(luò)瀏覽器中運行。四、進一步舉例說明了實時模型互動以及實時互動渲染三維場景的過程。三維場景作為輸入進行接收,并可對三維場景的參數(shù)調(diào)整而進行實時渲染。如圖 21、“讀取文件”,用戶可以讀取數(shù)據(jù)文件并“導(dǎo)入模型”到當(dāng)前場景中如描述模型和場景的數(shù)據(jù)文件。如圖22、然后將3D數(shù)字模型導(dǎo)入至實時光線追蹤環(huán)境中。如圖2。3、加載HDR(高動態(tài)范圍)環(huán)境場景。這里使用的“HDR”表示每個通道多于16位 (密度或顏色取決于具體場景的色彩空間)的場景或場景渲染。例如360度球形HDR場景用作3D場景的整個實時燈源,而場景中沒有燈光。通過數(shù)學(xué)計算,HDR場景可用作將陰影實時地投射到物體本身。例如可以關(guān)閉燈源而僅使用HDR進行照明。地面上的陰影可以是作為光源的場景投射的。場景中物體的全局照明(GlcAal Illumination)可進行實時計算。如圖2加載HDR環(huán)境場景,通過在瀏覽窗口中使用HDR球形場景,瀏覽者看到物體的計算機圖示的照明與其位置的照明是相同的。比如球形場景可以通過shift和方向鍵以任意方向和增量進行旋轉(zhuǎn)。通過按鍵,球形HDR場景可能會被隱藏,背景顏色發(fā)生變化但仍然保留物體中場景的所有反射。亮度和灰度可在實時環(huán)境中進行交互的動態(tài)調(diào)節(jié)。顯示軟件動態(tài)的改變球形場景,從而使半球看上去低于物體,就像是地面一樣。球形HDR場景可以拉平,照明和陰影可以進行實時更新。使用拉平HDR場景會讓人感覺物體嵌入在場景中。使顯示的三維場景可以進行實時更新。4、將庫的材質(zhì)應(yīng)用于導(dǎo)入的3D模型,材質(zhì)庫中的材質(zhì)可以進行旋轉(zhuǎn)并導(dǎo)入至模型中。使用基本材質(zhì)組的材質(zhì)以與物體相同的環(huán)境表示。材質(zhì)類型和材質(zhì)屬性可通過菜單選擇改變。材質(zhì)著色器基于測量的精確材質(zhì)定義。(1)每種材質(zhì)都具有科學(xué)精確的參數(shù)并可以更改。材質(zhì)可能包括玻璃和金屬。材質(zhì)可以分配并定義給三維顯示空間中的每個物體包括那些通過CAD數(shù)據(jù)導(dǎo)入的物體。( 金屬材質(zhì)由一個基本色代表,金屬薄片顏色通過標(biāo)準(zhǔn)色彩選擇器進行旋轉(zhuǎn)。材質(zhì)與漫反射、高光和鏡面反射組件一起顯示。材質(zhì)和照明能進行互動更改,結(jié)果可進行實時更新。結(jié)合圖1和圖2,顯示的三維攝像機場景可以進行實時更新。5、“刪除部分模型化物體”,部分模型化物體可以被刪除。在“隱藏部分模型化物體”,部分模型化物體可以被隱藏。6、“調(diào)節(jié)物體場景區(qū)域的深度”,用戶可以調(diào)節(jié)物體場景區(qū)域的深度。組合“刪除部分模型化物體” “隱藏部分模型化物體” “調(diào)節(jié)物體場景區(qū)域的深度”相關(guān)的動作,圖1和圖 2結(jié)合,顯示的三維攝像機場景可以進行實時更新。用戶還可以區(qū)域渲染三維場景或點擊渲染按鈕創(chuàng)建高質(zhì)量場景,可以分配任意鍵激活“區(qū)域渲染”并將其保存至特定文件夾。區(qū)域渲染可以設(shè)置為jpg、16位tiff和32位 HDR圖像格式。整個場景的灰度和亮度或者HDR場景環(huán)境可以在屏幕截圖前單獨進行互動式更改。五、動態(tài)和實時更新顯示物體,從而獲得新的顏色或材質(zhì)、曝光類型、區(qū)域深度或環(huán)境類型。圖3說明了執(zhí)行這里所描述的方法的系統(tǒng)。具體實施方法系統(tǒng)包含一個“數(shù)據(jù)處理模塊”,可配置用于接收來自“輸入設(shè)備”的用戶命令。“數(shù)據(jù)處理模塊”可以在“顯示設(shè)備”上顯示數(shù)據(jù)。數(shù)據(jù)處理模塊”可能包含任何合適類型的計算機處理器,包括通用或?qū)S糜嬎銠C處理器模塊以及與處理器模塊進行通信的程序和數(shù)據(jù)存儲?!拜斎朐O(shè)備”模塊可能包含一個或更多合適的輸入設(shè)備如鼠標(biāo)、鍵盤或者觸摸或基于觸控筆的輸入板?!帮@示設(shè)備”可能包含一個或更多合適的顯示設(shè)備如CRT顯示屏、液晶顯示屏或其它任何可以顯示圖像數(shù)據(jù)的顯示設(shè)備。這里描述的多種說明邏輯塊、模塊、電路和計算步驟可以作為電子硬件、計算機軟件或者兩者均有。為了清楚地說明硬件和軟件的互換性,多種說明組件、塊、模型、電路和步驟以及其功能性已經(jīng)在上面做了簡要介紹。這些功能是作為硬件還是軟件取決于整個系統(tǒng)具體的應(yīng)用和設(shè)計要求。這里描述的方法或計算方法的因素可能直接體現(xiàn)在硬件中、處理器運行的軟件模塊中或者兩者均有。軟件模塊可能位于RAM內(nèi)存、閃存、ROM內(nèi)存、EPROM內(nèi)存、EEPROM內(nèi)存、 寄存器、硬盤、可移動磁盤、CD-ROM光盤或其它任何存儲媒介。一個典型的存儲媒介已經(jīng)連接至處理器,這樣處理器可以從/向存儲媒介讀取/寫入信息。同時,存儲媒介也可以和處理器同步信息。處理器和存儲媒介可能位于ASIC中,而ASIC可能位于用戶終端中。同樣, 處理器和存儲媒介也可能作為分立元件位于用戶終端中。 “軟件數(shù)據(jù)處理模塊”可以以任何編程語言進行編寫,如C、C++、BASIC、Visual Basic,Pascal,Ada,Java,HTML,XML或FORTRAN并運行于操作系統(tǒng)中。C、C++、BASIC、Visual Basic、Pascal、Ada、Java、HTML、XML和FORTRAN為工業(yè)標(biāo)準(zhǔn)編程語言,可供許多商業(yè)編程者創(chuàng)建可執(zhí)行代碼。
權(quán)利要求
1.一種物理實時渲染三維場景的方法,其特征在于,該方法包括以下步驟1)加載模型到三維場景;2)使用至少一種更新應(yīng)用到三維場景;3)更新三維場景的照明;4)物理光譜計算;5)實時渲染包含實時交互顯示的三維攝像機。
2.根據(jù)權(quán)利要求1所述的一種物理實時渲染三維場景的方法,其特征在于,所述的步驟1)具體為,高動態(tài)范圍渲染導(dǎo)入物體的三維場景。
3.根據(jù)權(quán)利要求2所述的一種物理實時渲染三維場景的方法,其特征在于,所述的高動態(tài)范圍渲染包括加載高動態(tài)范圍球形場景;閉合高動態(tài)范圍場景;實時添加陰影至高動態(tài)范圍場景。
4.根據(jù)權(quán)利要求1所述的一種物理實時渲染三維場景的方法,其特征在于,所述的步驟2)中的更新應(yīng)用包括更新場景的背景;更新場景中攝像機鏡頭角度及位置;更新場景中的照明;更新材質(zhì)。
5.根據(jù)權(quán)利要求4所述的一種物理實時渲染三維場景的方法,其特征在于,所述的更新材質(zhì)具體為,通過漫反射、光子映射、高光和鏡面反射參數(shù)顯示場景物體的材質(zhì),以及實時更新材質(zhì)的參數(shù)。
6.根據(jù)權(quán)利要求1所述的一種物理實時渲染三維場景的方法,其特征在于,所述的步驟3)具體為,更新直接和間接照明,以及更新至少一個焦散、折射、反射和高光反射。
7.根據(jù)權(quán)利要求1所述的一種物理實時渲染三維場景的方法,其特征在于,所述的步驟5)中的實時渲染具體為,渲染一次反射形成的直接光照和兩次反射形成的間接光照實時更新。
8.—種物理實時渲染三維場景的系統(tǒng),其特征在于,該系統(tǒng)包括輸入設(shè)備、處理模塊、 顯示模塊,所述的輸入設(shè)備與處理模塊相連,所述的處理模塊與顯示模塊相連,所述的輸入模塊包括鍵盤、鼠標(biāo)、手寫板,所述的處理模塊包括數(shù)據(jù)處理模塊和軟件數(shù)據(jù)處理模塊。
全文摘要
本發(fā)明涉及一種物理實時渲染三維場景的方法,該方法包括以下步驟1)加載模型到三維場景;2)使用至少一種更新應(yīng)用到三維場景;3)更新三維場景的照明;4)物理光譜計算;5)實時渲染包含實時交互顯示的三維攝像機;該系統(tǒng)包括輸入設(shè)備、處理模塊、顯示模塊。與現(xiàn)有技術(shù)相比,本發(fā)明具有可使陰影、光線、物體、材質(zhì)都能實時高質(zhì)量改變,且三維攝像機、場景能夠以交互的方式進行實時渲染,達到實時交互的圖像顯示,實現(xiàn)數(shù)字三維場景可通過更新直接全局照明和間接照明以及其它因素如焦散、折射、反射和高光反射產(chǎn)生的3D模型從而以具有照片級真實感、高質(zhì)量、實時的方式顯示,還原更真實的圖像等優(yōu)點。
文檔編號G06T15/50GK102467752SQ20101053369
公開日2012年5月23日 申請日期2010年11月5日 優(yōu)先權(quán)日2010年11月5日
發(fā)明者張玉, 袁樺, 賴齊 申請人:上海威塔數(shù)字科技有限公司