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

基于對等運算集群的分布式渲染方法及其渲染系統(tǒng)的制作方法

文檔序號:6603529閱讀:241來源:國知局
專利名稱:基于對等運算集群的分布式渲染方法及其渲染系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及分布式的圖形渲染,尤其涉及基于對等運算集群的分布式CAD圖形系統(tǒng)渲染,提供了 CAD高質(zhì)量及復(fù)雜場景的渲染方法。發(fā)明的應(yīng)用領(lǐng)域主要在復(fù)雜建筑場景效果圖,三維影像制作等等方面應(yīng)用。
背景技術(shù)
首先介紹一下公知的光子追蹤渲染技術(shù)。光子追蹤渲染技術(shù)是近年發(fā)展起來的一種新的全局光照算法。依據(jù)光子映射對實體物體的渲染,將其擴展到對包含參與介質(zhì)的場景的渲染,為此提出了兩種渲染算法。一種是光子從光源發(fā)射,并使用光子追蹤來構(gòu)造體渲染效果圖;另一種是從視點出發(fā)向場景中發(fā)射光線,使用光線追蹤來進(jìn)行渲染,得到渲染效果圖。如V-Ray,Mental-Ray均屬于光子追蹤單機渲染引摯。V-Ray是由chaosgroup和 asgvis公司出品,在中國由曼恒公司負(fù)責(zé)推廣的一款高質(zhì)量渲染軟件。Mental Ray是德國 MentalImages公司的渲染器。下面簡要介紹一下分布式處理技術(shù)。分布式處理技術(shù)是一種把需要進(jìn)行大量計算的工程數(shù)據(jù)分割成小塊,由多臺計算機分別計算,在上傳運算結(jié)果后,將結(jié)果統(tǒng)一合并得出數(shù)據(jù)結(jié)論的技術(shù)。再有,DES是Data Encryption Mandard(數(shù)據(jù)加密標(biāo)準(zhǔn))的縮寫。它是由IBM公司研制的一種加密算法,美國國家標(biāo)準(zhǔn)局于1977年公布把它作為非機要部門使用的數(shù)據(jù)加密標(biāo)準(zhǔn)。在本發(fā)明的優(yōu)選實施方式中,將會使用此算法對渲染數(shù)據(jù)進(jìn)行加密。還有,RSA加密算法是一種非對稱加密算法。在本發(fā)明的優(yōu)選實施方式中,將會使用此算法對DES密鑰進(jìn)行信封傳遞。

發(fā)明內(nèi)容
本發(fā)明將單機渲染使用成熟的光子追蹤技術(shù)進(jìn)行渲染,借鑒了分布式計算技術(shù), 發(fā)明了對等運算集群的分布式渲染引摯,簡稱RenderK。本發(fā)明的目的是,根據(jù)現(xiàn)有的分布式運算技術(shù)以及光子追蹤渲染技術(shù),解決復(fù)雜場景下渲染速度慢的問題,從而在復(fù)雜場景情況下也能高效地得到影片級果。按照本發(fā)明的一個方面,提供了一種分布式渲染方法,所述渲染方法包括以下步驟(1)組建渲染運算集群;和( 利用所組建的渲染運算集群進(jìn)行分布式渲染。其中,所述組建渲染運算集群包括如下步驟(Ι-a)渲染終端啟動渲染端口服務(wù),用于接受客戶端發(fā)過來的渲染任務(wù);(l-b)渲染終端查尋自身的硬件信息;(1-c)渲染終端將自身的硬件信息對本網(wǎng)段內(nèi)所有終端進(jìn)行廣播;(Ι-d)接收到所述硬件信息的終端,向所述渲染終端回應(yīng)該終端的硬件信息,同時將接收到的所述渲染終端的硬件信息加入到集群終端列表中;和(Ι-e)當(dāng)所述渲染終端接收到所述終端的硬件信息時,將所述終端的硬件信息加入到集群終端列表中;所述利用所組建的渲染運算集群進(jìn)行分布式渲染包括如下步驟(2-a)根終端接受渲染任務(wù)并對渲染任務(wù)進(jìn)行分解,該根終端即為所述渲染終端;(2-b)根終端向下層的中繼終端發(fā)送渲染任務(wù),中繼終端接收上層終端的請求并將上層終端的渲染任務(wù)再派發(fā)給更下層的葉子終端,如果渲染目標(biāo)區(qū)大于2X2像素,則接收到渲染任務(wù)的根終端/中繼終端繼續(xù)對渲染任務(wù)進(jìn)行分解并且向下層的中繼終端/葉子終端發(fā)送任務(wù)請求;如果渲染目標(biāo)區(qū)小于或等于2X2像素,則接收到渲染任務(wù)的葉子終端執(zhí)行渲染并將渲染結(jié)果返回給發(fā)出任務(wù)請求的上層的中繼終端;(2-c)接收到渲染結(jié)果的中繼終端將所接收到的所有渲染結(jié)果進(jìn)行合并并且將合并結(jié)果返回給根終端,直到根終端接收到最終的合并結(jié)果;和(2-d)根終端將接收到最終的合并結(jié)果和派發(fā)的渲染任務(wù)進(jìn)行合并,得到最終結(jié)果。優(yōu)選地,所述根終端對渲染任務(wù)進(jìn)行分解包括基于渲染目標(biāo)的分辨率,按四叉樹將渲染任務(wù)分解為四個渲染目標(biāo)區(qū),每個渲染目標(biāo)區(qū)組成一個渲染任務(wù)。優(yōu)選地,所述渲染目標(biāo)區(qū)分解為左上區(qū),右上區(qū),右下區(qū),左下區(qū)的四個子區(qū)域。優(yōu)選地,所述中繼終端為至少一個中繼終端。優(yōu)選地,所述渲染方法此外還包括渲染任務(wù)取消、和渲染任務(wù)重復(fù)請求的步驟。 注意,此處的渲染任務(wù)取消步驟和渲染任務(wù)重復(fù)請求步驟實際上可以發(fā)生在接收到渲染任務(wù)之后的任何時刻。優(yōu)選地,所述渲染任務(wù)取消步驟包括當(dāng)接收到任務(wù)的終端接收到來自發(fā)出任務(wù)的終端的任務(wù)取消指令后,所述接收到任務(wù)的終端要將渲染任務(wù)取消,同時,所述接收到任務(wù)的終端通知其下層終端取消任務(wù);當(dāng)同一個渲染任務(wù)派發(fā)給多個終端處理后,只要有一個終端返回結(jié)果,則接收到返回結(jié)果的終端就通知其它處理相同任務(wù)的終端取消渲染任務(wù)。優(yōu)選地,所述渲染任務(wù)重復(fù)請求步驟為將同一個渲染任務(wù)發(fā)送給多個不同的下級終端,如此重復(fù)請求。優(yōu)選地,所述渲染方法此外還包括對渲染任務(wù)所包括的渲染數(shù)據(jù)進(jìn)行加密的步驟;和對所接收到的加密的渲染數(shù)據(jù)進(jìn)行解密的步驟。注意,加密的步驟實際上可以發(fā)生在發(fā)出任何數(shù)據(jù)之前,解密的步驟實際上可以發(fā)生在接收到任何數(shù)據(jù)之后并且處理該數(shù)據(jù)之前。優(yōu)選地,所述渲染數(shù)據(jù)包括結(jié)構(gòu)大小、DES密鑰明文、RSA公鑰、渲染描述、渲染場景、和渲染結(jié)果。優(yōu)選地,所述渲染描述包括渲染區(qū)塊位置和渲染請求地址;所述渲染場景包括視點數(shù)據(jù)、光源數(shù)據(jù)、材質(zhì)數(shù)據(jù)、模型數(shù)據(jù)、和渲染參數(shù);所述渲染結(jié)果包括真彩色位圖和黑白位圖。優(yōu)選地,在步驟2_a之前還包括步驟將子區(qū)域看成一個大的光束,判斷此光束與渲染環(huán)境中的面是否有相交性,如果未與渲染環(huán)境中的任何面相交,則表明這個區(qū)域無渲染物體,不必繼續(xù)進(jìn)行派發(fā)任務(wù)。直接將此區(qū)域渲染結(jié)果黑色返回即可。
按照本發(fā)明的另一個方面,還提供了一種分布式渲染系統(tǒng),包括根終端,中繼終端,和葉子終端。其中,所述根終端用于接受渲染任務(wù)并對渲染任務(wù)進(jìn)行分解和下發(fā)渲染任務(wù)請求,并且用于接收中繼終端和/或葉子終端返回的渲染結(jié)果和派發(fā)的渲染任務(wù)進(jìn)行合并, 得到最終結(jié)果。所述中繼終端用于接收根終端或其它中繼終端下發(fā)的渲染任務(wù)請求,并且在所接收到的渲染任務(wù)請求中的渲染目標(biāo)區(qū)大于2X2像素的情況下將所接收到渲染任務(wù)請求繼續(xù)分解并下發(fā),并且用于接收葉子終端和/或其它中繼終端返回渲染結(jié)果并將接收到的所有渲染結(jié)果進(jìn)行合并,以及將合并結(jié)果返回給發(fā)出任務(wù)請求的根終端或中繼終端。所述葉子終端用于接收根終端或中繼終端下發(fā)的渲染任務(wù)請求并且在渲染目標(biāo)區(qū)小于或等于2X2像素的情況下執(zhí)行渲染并將渲染結(jié)果返回給發(fā)出任務(wù)請求的中繼終端或根終端。優(yōu)選地,所述根終端對渲染任務(wù)進(jìn)行分解包括基于渲染目標(biāo)的分辨率,按四叉樹將渲染任務(wù)分解為四個渲染目標(biāo)區(qū),每個渲染目標(biāo)區(qū)組成一個渲染任務(wù)。優(yōu)選地,所述渲染目標(biāo)區(qū)分解為左上區(qū),右上區(qū),右下區(qū),左下區(qū)的四個子區(qū)域。按照本發(fā)明,可以與現(xiàn)有的光子追蹤渲染引摯掛接,可以利用市場上成熟渲染引摯,充分利用其它資源,加快開發(fā)進(jìn)度。本發(fā)明的分布式渲染方法渲染質(zhì)量好,處理能力強,對大型復(fù)雜場景渲染表現(xiàn)突出。對于復(fù)雜的建筑群,高質(zhì)量的3D影片都有比較好的應(yīng)用。與其它渲染技術(shù)相比,本發(fā)明由于使用了例如目標(biāo)位圖四叉樹分解,采用光束模擬追蹤方法,在真實展現(xiàn)場景的紋理、 反射、折射、陰影等等情況下,將需要花費的幾小時的渲染任務(wù),降低到幾分鐘內(nèi)完成。


通過參考附圖閱讀本發(fā)明的說明書,可以更好的理解本發(fā)明。而且本發(fā)明的特點和優(yōu)點也會更加顯而易見。圖1示出了渲染運算集群的一部分;圖2示出了渲染運算集群內(nèi)的各個終端之間根據(jù)上下級之間的信息傳遞形成的樹狀結(jié)構(gòu);圖3示出了在廣域網(wǎng)(WAN)中組建渲染運算集群;圖4示出了承擔(dān)渲染任務(wù)的終端的層級結(jié)構(gòu);圖5示出了分布式渲染的過程;圖6示出了渲染區(qū)域的分解;圖7示出了渲染數(shù)據(jù)的結(jié)構(gòu);圖8示出了渲染區(qū)塊的位置;圖9示出了渲染場景;圖10示出了渲染結(jié)果;和圖11示出了廣播地址設(shè)置數(shù)據(jù)。
具體實施例方式
6
首先參照附圖介紹本發(fā)明的分布式渲染方法。本發(fā)明的分布式渲染方法包括以下步驟組建渲染運算集群的步驟和利用所組建的渲染運算集群進(jìn)行分布式渲染的步驟。下面將分別加以詳細(xì)介紹。組建渲染運算集群的步驟渲染的運算集群是由一個或多個電腦組成的復(fù)雜運算計算機網(wǎng)絡(luò),如圖1所示。 圖1僅僅示出了渲染運算集群的一部分。其中,終端S是任務(wù)起始終端,它可以將任務(wù)分發(fā)給多個終端R、Rl... R5。同時,渲染運算集群內(nèi)的各個終端之間根據(jù)上下級之間的信息傳遞形成樹狀結(jié)構(gòu),如圖2所示。雖然圖2中未示出,但是終端B2、B3、B4也分別有多個下級終端,且圖2中所示的終端Cl、C2、C3、C4同樣分別有可能有多個下級終端,這取決于渲染任務(wù)的工作量。渲染任務(wù)從起始終端(例如終端A)開發(fā)傳遞,不斷做四叉樹分解,直到最終處理渲染任務(wù)的終端(本文中稱為葉子終端)。此外,也可以使用一臺終端進(jìn)行分時計算 (計算機自身模擬多個終端)。本發(fā)明使用對等網(wǎng)絡(luò)集群,系統(tǒng)中每一個終端均可擔(dān)當(dāng)相同角色。每個終端均可是服務(wù)器或客戶端。運行時服務(wù)器還是客戶端跟據(jù)實際通信的邏輯進(jìn)行區(qū)分。每個任務(wù)派發(fā)的發(fā)起方是客戶端,接收方是服務(wù)端。每個終端均可啟動渲染任務(wù),同時也接受渲染任務(wù)。如圖3所示,在廣域網(wǎng)(WAN)中組建渲染運算集群時,要在廣域網(wǎng)(WAN)上布署一個WAN轉(zhuǎn)發(fā)終端,此終端就是一個普通終端,唯一不同的是,它可以訪問不同網(wǎng)段上的終端,即路由到不同的小集群中的終端。當(dāng)使用大型計算機作為渲染終端時,就構(gòu)成了大型計算服務(wù)器??梢约刑幚泶罅啃阅茌^低終端的渲染任務(wù)。下面,以本發(fā)明CAD系統(tǒng)應(yīng)用為例,介紹組建渲染運算集群的步驟。在機器啟動時,渲染終端啟動作為服務(wù)后臺運行。渲染終端啟動后,就要組建運算集群。如圖1所示, 組建渲染運算集群的步驟包括以下步驟步驟a)渲染終端S啟動渲染端口服務(wù),用于接受客戶端發(fā)過來的渲染任務(wù)。步驟b)渲染終端S查尋自身的硬件信息。步驟c)渲染終端S將自身的硬件信息根據(jù)廣播地址設(shè)置對本網(wǎng)段內(nèi)或指定的機器進(jìn)行廣播,組建運算集群。如圖11所示,廣播地址設(shè)置數(shù)據(jù)如下,包括跳過機器IP列表和附加路由機器IP 列表。跳過機器IP列表用于在廣播時,不對列表中指定的機器進(jìn)行廣播硬件信息。附加路由機器IP列表用于連接網(wǎng)段外的機器組建集群。如圖3中,需要向WAN 網(wǎng)絡(luò)運算集群連接時,將WAN轉(zhuǎn)發(fā)終端IP加入附加路由列表中。步驟d)接收到的終端R,向渲染終端S回應(yīng)終端R的硬件信息,同時將接收的終端 S硬件信息加入到集群終端列表中。步驟e)當(dāng)終端S接收到終端R硬件信息時,將渲染終端R的硬件信息加入到集群終端列表中。利用所組建的渲染運算集群進(jìn)行分布式渲染的步驟本發(fā)明中所述渲染終端是邏輯概念,是安裝有分布式渲染引摯的計算機終端執(zhí)行或分布渲染任務(wù)時對的稱謂。渲染終端是本發(fā)明的軟件系統(tǒng)部分,用于控制、調(diào)配各計算機、分時處理渲染任務(wù)。分布式渲染包括以下幾個方面分布式級聯(lián)運算,分布式渲染過程,分布式渲染數(shù)據(jù)的組織與傳遞。渲染過程中使用的單機渲染引摯是現(xiàn)有的渲染引擎,此處不作詳細(xì)介紹。1、分布式級聯(lián)運算本發(fā)明采用全級聯(lián)方式運算,即在集群中任何一臺計算機可以生成渲染任務(wù),然后將渲染任務(wù)派發(fā)到其它計算機。如圖4所示,根據(jù)在渲染任務(wù)中擔(dān)當(dāng)?shù)慕巧?,可以將終端分成三類根終端,中繼終端,葉子終端。根終端接收原始渲染任務(wù)的終端。此處講的根終端是根據(jù)渲染任務(wù)中角色劃分的,而終端S是根據(jù)組網(wǎng)時發(fā)起組網(wǎng)請求劃分的。中繼終端用于接收上層終端的請求,將上層終端的渲染派發(fā)給下層終端,再將下層終端的渲染結(jié)果返回給上層終端。葉子終端是指當(dāng)渲染區(qū)小于2X 2像素時,該終端將不再派發(fā)任務(wù),而是將在當(dāng)前任務(wù)中調(diào)用單機渲染引摯對每個像素進(jìn)行渲染。2、分布式渲染過程如圖5所示,分布式渲染包括以下步驟根終端對任務(wù)進(jìn)行分解;根終端向下層的終端發(fā)送任務(wù)請求;如果渲染目標(biāo)區(qū)大于2X2像素,則接收到該任務(wù)的終端繼續(xù)對任務(wù)進(jìn)行分解并且向下層的終端發(fā)送任務(wù)請求,如果渲染目標(biāo)區(qū)小于或等于2X2像素,則接收到該任務(wù)的終端執(zhí)行渲染并將渲染結(jié)果返回給發(fā)出任務(wù)請求的終端;接收到渲染結(jié)果的終端將所接收到的所有渲染結(jié)果進(jìn)行合并并且將合并結(jié)果返回給上層終端;接收到合并結(jié)果的終端繼續(xù)將所接收到的所有合并結(jié)果繼續(xù)合并并且將合并結(jié)果返回給上層終端,直到根終端接收到最終的合并結(jié)果。下面,將參照圖5詳細(xì)介紹上述步驟。1)根終端對任務(wù)進(jìn)行分解在根終端中,進(jìn)行待渲染數(shù)據(jù)的分離過程。這一分離過程基于渲染目標(biāo)的分辨率, 按四叉樹進(jìn)行分解渲染任務(wù)。如圖6所示,將每個渲染區(qū)分解為四個子區(qū)域(左上,右上, 右下,左下),然后將這四個子區(qū)域作為渲染任務(wù),分別發(fā)送給四個下層渲染終端,下層渲染終端繼續(xù)將接收到的渲染任務(wù)分成四塊子區(qū)域,再將這四個子區(qū)域分別分發(fā)到更下層的渲染終端。直到最終的渲染終端接收到小于或等于2X2像素的渲染任務(wù),則該終端承擔(dān)葉子終端的任務(wù),對小于或等于2X2像素的渲染任務(wù)進(jìn)行渲染。這里,圖6中所示的每個待渲染區(qū)塊都組成一個渲染任務(wù)。特別地,將子區(qū)域看成一個大的光束,判斷此光束與渲染環(huán)境中的面是否有相交性,如果未與渲染環(huán)境中的任何面相交,則表明這個區(qū)域無渲染物體,不必繼續(xù)進(jìn)行派發(fā)任務(wù),直接將此區(qū)域渲染結(jié)果黑色返回即可,這樣可以減少重復(fù)運行。2)根終端向下層終端發(fā)送任務(wù)請求根終端將渲染任務(wù)發(fā)送給下層終端。3)下層終端繼續(xù)對渲染任務(wù)進(jìn)行分解當(dāng)下層終端(中繼終端)接收到一個渲染任務(wù)后,還將繼續(xù)對此任務(wù)進(jìn)行分解,并且將分解后的子任務(wù)派給這個終端所在的集群中的其它終端。中繼終端任務(wù)分解與根終端任務(wù)分解一樣,使用四叉樹分解。當(dāng)中繼終端接收到的渲染任務(wù)的渲染目標(biāo)區(qū)大小大于 2X2像素時,中繼終端就繼續(xù)對渲染任務(wù)繼續(xù)分解,并且將分解后的渲染任務(wù)繼續(xù)向下層終端派發(fā)。如果中繼終端接收到的渲染任務(wù)的渲染目標(biāo)區(qū)大小小于或等于2X2像素,則此中繼終端就作為葉子終端處理渲染任務(wù)。4)中繼終端向下層終端發(fā)送任務(wù)請求中繼終端將分解后的渲染任務(wù)繼續(xù)向下層終端派發(fā)。5)葉子終端執(zhí)行渲染任務(wù)當(dāng)終端接收到小于或等于2X2像素的渲染任務(wù)后,任務(wù)無法分解,則需要執(zhí)行單個像素的渲染。該終端作為葉子終端執(zhí)行渲染行為。渲染任務(wù)的執(zhí)行使用現(xiàn)有的單機渲染弓丨摯完成,對此不做詳細(xì)介紹,本系統(tǒng)可以與其它單機渲染弓I摯直接掛接。本發(fā)明由于采用的是基于目標(biāo)的渲染分區(qū)方案,因此只能使用從視點的光子渲染引摯作為單機渲染引摯。執(zhí)行完渲染后得到一個真彩色位圖及一個黑白位圖,該黑白位圖標(biāo)識出哪些像素得到過渲染。6)葉子終端返回渲染結(jié)果當(dāng)葉子終端執(zhí)行完成渲染任務(wù)后,將渲染結(jié)果返回給上層中繼終端。7)中繼終端合并渲染結(jié)果接收到渲染結(jié)果的中繼終端將所接收到的各下級終端返回的結(jié)果合并,即將渲染結(jié)果的彩色位圖按照黑白位圖進(jìn)行合并。合并方法是根據(jù)黑白位圖黑色像素對應(yīng)的位置, 找到對應(yīng)彩色位圖中相同位置的像素,將此像素的顏色設(shè)置給目標(biāo)彩色位圖。8)中繼終端繼續(xù)向上級終端返回經(jīng)過合并的渲染結(jié)果中繼終端將經(jīng)過合并的渲染結(jié)果繼續(xù)向上級終端傳遞,接收到這些經(jīng)過合并的渲染結(jié)果的上級終端繼續(xù)對所接收到的渲染結(jié)果進(jìn)行合并,并且繼續(xù)將經(jīng)過合并的渲染結(jié)果傳遞給更上層的終端,以此類推,直到將經(jīng)過合并的渲染結(jié)果傳遞給根終端。9)根終端合并渲染結(jié)果根終端將接收到的所有渲染結(jié)果進(jìn)行合并,得到最終的真彩色位圖。合并方法是 根據(jù)黑白位圖黑色像素對應(yīng)的位置,找到對應(yīng)彩色位圖中相同位置的像素,將此像素的顏色設(shè)置給目標(biāo)彩色位圖。除了上述的步驟以外,還包括渲染任務(wù)取消的步驟和渲染任務(wù)重復(fù)請求的步驟。渲染任務(wù)取消渲染任務(wù)取消分為下述兩種情況當(dāng)接收到任務(wù)的終端接收到來自發(fā)出任務(wù)的終端的任務(wù)取消指令后,所述接收到任務(wù)的終端要將渲染任務(wù)取消。同時, 所述接收到任務(wù)的終端通知其下層終端取消任務(wù);當(dāng)同一個渲染任務(wù)派發(fā)給多個終端處理后,只要有一個終端返回結(jié)果,則接收到返回結(jié)果的終端就通知其它處理相同任務(wù)的終端取消渲染任務(wù)。渲染任務(wù)重復(fù)請求由于網(wǎng)絡(luò)通信及各機器運算速度不一樣,部分機器會在很短的時間內(nèi)完成渲染任務(wù),而有的機器卻要等很久,這樣渲染完成時間是由最慢的機器決定的,本發(fā)明將發(fā)給渲染回復(fù)慢的機器的任務(wù)再次發(fā)給其它空閑的機器,即一個渲染任務(wù)重復(fù)發(fā)送到了不同的終端上,這就導(dǎo)致了渲染任務(wù)的重復(fù)請求,此時只有一個終端完成渲染任務(wù)即可。當(dāng)下層終端返回渲染結(jié)果后,當(dāng)前終端同時發(fā)送取消任務(wù)指令給其它接受相同任務(wù)的終端。3、分布式渲染數(shù)據(jù)的組織與傳遞在終端間傳遞的渲染任務(wù)包括渲染數(shù)據(jù)。如圖7所示,渲染數(shù)據(jù)包括結(jié)構(gòu)大小, DES密鑰明文,RSA公鑰,渲染描述、渲染場景及渲染結(jié)果。下面分別對渲染數(shù)據(jù)的各部分加以介紹。1)結(jié)構(gòu)大小標(biāo)識渲染數(shù)據(jù)的長度,目的是為了數(shù)據(jù)傳輸時,不同版本間兼容。如果接收到的數(shù)據(jù)長度與當(dāng)前終端的數(shù)據(jù)結(jié)構(gòu)長度不一致,表明是不一樣的版本,或是其它軟件傳過來的數(shù)據(jù),應(yīng)不予以處理。2) DES密鑰明文對渲染數(shù)據(jù)加密的DES密鑰明文。3) RSA 公鑰RSA公鑰用于接收數(shù)據(jù)時對DES密鑰明文進(jìn)行解密。4)渲染描述包括渲染區(qū)塊位置和渲染請求地址。如圖8所示,渲染區(qū)塊位置包括渲染區(qū)塊起始坐標(biāo)點(左上)和渲染區(qū)塊結(jié)束坐標(biāo)點(右下)。圖8中陰影部分為渲染區(qū)塊。渲染請求地址指的是發(fā)出渲染任務(wù)的終端的IP。5)渲染場景渲染場景指的是需要渲染的數(shù)據(jù),如圖9所示,包括視點數(shù)據(jù),光源數(shù)據(jù),材質(zhì)數(shù)據(jù),模型數(shù)據(jù),渲染參數(shù)。其中,視點數(shù)據(jù)指的是相機位置參數(shù),視點目標(biāo)參數(shù)等等。光源數(shù)據(jù)指的是渲染時的光源信息。材質(zhì)數(shù)據(jù)指的是渲染時材質(zhì)的數(shù)據(jù)。模型數(shù)據(jù)指的是待渲染的三維模型數(shù)據(jù)。6)渲染結(jié)果如圖10所示,渲染結(jié)果由兩個相同大小的位圖組成,一個是真彩色的位圖,一個是黑白位圖。真彩色位圖是渲染的結(jié)果,黑白位圖用于標(biāo)識哪些像素進(jìn)行了渲染。兩個位圖尺寸相同,黑白位圖上的像素與真彩色位置的像素一一對應(yīng)。黑白位圖中顏色為1的像素,表明此像素已被渲染了,顏色為0的像素表明沒有被渲染。當(dāng)渲染完成后,黑白位圖全部變成了 1。渲染數(shù)據(jù)的傳遞在傳遞渲染任務(wù)時,數(shù)據(jù)的傳遞可以采用加密和不加密兩種方式。當(dāng)使用加密時, 數(shù)據(jù)使用成熟的數(shù)據(jù)加密標(biāo)準(zhǔn)(DEQ加密,然后使用RSA算法,傳遞密鑰。發(fā)送數(shù)據(jù)終端處理步驟如下1)隨機生成56位DES密鑰,稱之為DES_KEY。2)使用DES_KEY采用DES標(biāo)準(zhǔn)對渲染數(shù)據(jù)進(jìn)行加密。3)使用RSA私鑰對DES_KEY加密,得到DES密鑰明文。4)將DES密鑰明文及RSA公鑰傳遞給接收數(shù)據(jù)的終端。
接收數(shù)據(jù)終端處理步驟如下使用傳遞過來的公鑰對DES密鑰明文解密,得到密文DES_KEY。對傳遞過來的渲染數(shù)據(jù)使用DES算法解密。下面,以本發(fā)明CAD系統(tǒng)應(yīng)用為例,進(jìn)一步詳細(xì)介紹分布式渲染的步驟。-生成分布式渲染數(shù)據(jù)i.渲染場景,從CAD實體模型中生成;ii.按四叉樹分解渲染任務(wù);iii.組合渲染任務(wù)信息,形成渲染數(shù)據(jù)。-發(fā)送渲染任務(wù)給下一級終端i.對渲染數(shù)據(jù)進(jìn)行加密。ii.傳遞加密數(shù)據(jù)給下一級終端。iii.下一級終端對數(shù)據(jù)進(jìn)行解密,得到原始渲染數(shù)據(jù)。-渲染任務(wù)派發(fā)接收到的終端判斷是否需要繼續(xù)分解任務(wù),如果需要繼續(xù)分解任務(wù),將任務(wù)往再下一級終端派發(fā)。直到渲染目標(biāo)區(qū)大小小于2X2像素。-單機渲染最終的葉子終端使用光子追蹤技術(shù)對每一像素進(jìn)行渲染。這里使用本發(fā)明自身開發(fā)的G-Ray渲染引摯作為單機渲染引摯。也可以使用V_Ray,Mental-Ray等等商業(yè)化的渲染引摯。-結(jié)果返回將渲染結(jié)果向上一級終端返回,直到根終端。通過本發(fā)明的方法可以與現(xiàn)有的光子追蹤渲染引摯掛接,可以利用市場上成熟渲染引摯,充分利用其它資源,加快開發(fā)進(jìn)度。本發(fā)明的分布式渲染方法渲染質(zhì)量好,處理能力強,對大型復(fù)雜場景渲染表現(xiàn)突出。對于復(fù)雜的建筑群,高質(zhì)量的3D影片都有比較好的應(yīng)用。需要聲明的是,上述發(fā)明內(nèi)容及具體實施方式
意在證明本發(fā)明所提供技術(shù)方案的實際應(yīng)用,不應(yīng)解釋為對本發(fā)明保護(hù)范圍的限定。本領(lǐng)域技術(shù)人員在本發(fā)明的精神和原理內(nèi),當(dāng)可作各種修改、等同替換、或改進(jìn)。本發(fā)明的保護(hù)范圍以所附權(quán)利要求書為準(zhǔn)。
權(quán)利要求
1.一種分布式渲染方法,所述渲染方法包括以下步驟(1)組建渲染運算集群,和(2)利用所組建的渲染運算集群進(jìn)行分布式渲染; 其中,所述組建渲染運算集群包括如下步驟(Ι-a)渲染終端啟動渲染端口服務(wù),用于接受客戶端發(fā)過來的渲染任務(wù); (Ι-b)渲染終端查尋自身的硬件信息;(1-c)渲染終端將自身的硬件信息對本網(wǎng)段內(nèi)所有終端進(jìn)行廣播; (Ι-d)接收到所述硬件信息的終端,向所述渲染終端回應(yīng)該終端的硬件信息,同時將接收到的所述渲染終端的硬件信息加入到集群終端列表中;和(Ι-e)當(dāng)所述渲染終端接收到所述終端的硬件信息時,將所述終端的硬件信息加入到集群終端列表中;所述利用所組建的渲染運算集群進(jìn)行分布式渲染包括如下步驟 (2-a)根終端接受渲染任務(wù)并對渲染任務(wù)進(jìn)行分解,該根終端即為所述渲染終端; (2-b)根終端向下層的中繼終端發(fā)送渲染任務(wù),中繼終端接收上層終端的請求并將上層終端的渲染任務(wù)再派發(fā)給更下層的葉子終端,如果渲染目標(biāo)區(qū)大于2X2像素,則接收到渲染任務(wù)的根終端/中繼終端繼續(xù)對渲染任務(wù)進(jìn)行分解并且向下層的中繼終端/葉子終端發(fā)送任務(wù)請求;如果渲染目標(biāo)區(qū)小于或等于2X2像素,則接收到渲染任務(wù)的葉子終端執(zhí)行渲染并將渲染結(jié)果返回給發(fā)出任務(wù)請求的上層的中繼終端;(2-c)接收到渲染結(jié)果的中繼終端將所接收到的所有渲染結(jié)果進(jìn)行合并并且將合并結(jié)果返回給根終端,直到根終端接收到最終的合并結(jié)果;和(2-d)根終端將接收到最終的合并結(jié)果和派發(fā)的渲染任務(wù)進(jìn)行合并,得到最終結(jié)果。
2.按照權(quán)利要求1所述的渲染方法,其中,所述根終端對渲染任務(wù)進(jìn)行分解包括基于渲染目標(biāo)的分辨率,按四叉樹將渲染任務(wù)分解為四個渲染目標(biāo)區(qū),每個渲染目標(biāo)區(qū)組成一個渲染任務(wù)。
3.按照權(quán)利要求2所述的渲染方法,其中,所述渲染目標(biāo)區(qū)分解為左上區(qū),右上區(qū),右下區(qū),左下區(qū)的四個子區(qū)域。
4.按照權(quán)利要求1所述的渲染方法,其中,所述中繼終端為至少一個中繼終端。
5.按照權(quán)利要求1所述的渲染方法,此外還包括渲染任務(wù)取消、和渲染任務(wù)重復(fù)請求的步驟。
6.按照權(quán)利要求5所述的渲染方法,其中,所述渲染任務(wù)取消步驟包括當(dāng)接收到任務(wù)的終端接收到來自發(fā)出任務(wù)的終端的任務(wù)取消指令后,所述接收到任務(wù)的終端要將渲染任務(wù)取消,同時,所述接收到任務(wù)的終端通知其下層終端取消任務(wù);和當(dāng)同一個渲染任務(wù)派發(fā)給多個終端處理后,只要有一個終端返回結(jié)果,則接收到返回結(jié)果的終端就通知其它處理相同任務(wù)的終端取消渲染任務(wù)。
7.按照權(quán)利要求5所述的渲染方法,其中,所述渲染任務(wù)重復(fù)請求步驟為將同一個渲染任務(wù)發(fā)送給多個不同的下級終端,如此重復(fù)請求。
8.按照權(quán)利要求5所述的渲染方法,此外還包括對渲染任務(wù)所包括的渲染數(shù)據(jù)進(jìn)行加密的步驟;和對所接收到的加密的渲染數(shù)據(jù)進(jìn)行解密的步驟。
9.按照權(quán)利要求8所述的渲染方法,其中,所述渲染數(shù)據(jù)包括結(jié)構(gòu)大小、DES密鑰明文、RSA公鑰、渲染描述、渲染場景、和渲染結(jié)果。
10.按照權(quán)利要求9所述的渲染方法,其中,所述渲染描述包括渲染區(qū)塊位置和渲染請求地址;所述渲染場景包括視點數(shù)據(jù)、光源數(shù)據(jù)、材質(zhì)數(shù)據(jù)、模型數(shù)據(jù)、和渲染參數(shù);所述渲染結(jié)果包括真彩色位圖和黑白位圖。
11.按照權(quán)利要求1所述的渲染方法,其中,在步驟2-a之前還包括步驟將子區(qū)域看成一個大的光束,判斷此光束與渲染環(huán)境中的面是否有相交性,如果未與渲染環(huán)境中的任何面相交,則表明這個區(qū)域無渲染物體,不必繼續(xù)進(jìn)行派發(fā)任務(wù)。直接將此區(qū)域渲染結(jié)果黑色返回即可。
12.—種分布式渲染系統(tǒng),包括根終端,中繼終端,和葉子終端;其中,所述根終端用于接受渲染任務(wù)并對渲染任務(wù)進(jìn)行分解和下發(fā)渲染任務(wù)請求,并且用于接收中繼終端和/或葉子終端返回的渲染結(jié)果和派發(fā)的渲染任務(wù)進(jìn)行合并,得到最終結(jié)果;所述中繼終端用于接收根終端或其它中繼終端下發(fā)的渲染任務(wù)請求,并且在所接收到的渲染任務(wù)請求中的渲染目標(biāo)區(qū)大于2X2像素的情況下將所接收到渲染任務(wù)請求繼續(xù)分解并下發(fā),并且用于接收葉子終端和/或其它中繼終端返回渲染結(jié)果并將接收到的所有渲染結(jié)果進(jìn)行合并,以及將合并結(jié)果返回給發(fā)出任務(wù)請求的根終端或中繼終端;所述葉子終端用于接收根終端或中繼終端下發(fā)的渲染任務(wù)請求并且在渲染目標(biāo)區(qū)小于或等于2X2像素的情況下執(zhí)行渲染并將渲染結(jié)果返回給發(fā)出任務(wù)請求的中繼終端或根終端。
13.按照權(quán)利要求12所述的渲染系統(tǒng),其中,所述根終端對渲染任務(wù)進(jìn)行分解包括基于渲染目標(biāo)的分辨率,按四叉樹將渲染任務(wù)分解為四個渲染目標(biāo)區(qū),每個渲染目標(biāo)區(qū)組成一個渲染任務(wù)。
14.按照權(quán)利要求13所述的渲染系統(tǒng),其中,所述渲染目標(biāo)區(qū)分解為左上區(qū),右上區(qū), 右下區(qū),左下區(qū)的四個子區(qū)域。
全文摘要
本發(fā)明提供了一種分布式渲染方法及其渲染系統(tǒng),所述渲染方法包括以下步驟(1)組建渲染運算集群;和(2)利用所組建的渲染運算集群進(jìn)行分布式渲染。所述渲染系統(tǒng),包括根終端、中繼終端和葉子終端。按照本發(fā)明可以與現(xiàn)有的光子追蹤渲染引摯掛接,可以利用市場上成熟渲染引摯,充分利用其它資源,加快開發(fā)進(jìn)度。本發(fā)明的分布式渲染方法渲染質(zhì)量好,處理能力強,對大型復(fù)雜場景渲染表現(xiàn)突出。對于復(fù)雜的建筑群,高質(zhì)量的3D影片都有比較好的應(yīng)用。
文檔編號G06T15/00GK102270354SQ201010190960
公開日2011年12月7日 申請日期2010年6月3日 優(yōu)先權(quán)日2010年6月3日
發(fā)明者李明錦, 李長春, 梁江, 汪光勝, 陸翔 申請人:蘇州浩辰軟件股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
西平县| 望江县| 萍乡市| 中西区| 濉溪县| 清水县| 沁水县| 洪泽县| 会理县| 呼玛县| 清水河县| 大埔区| 景泰县| 克什克腾旗| 连南| 华宁县| 大渡口区| 台中县| 湄潭县| 卢龙县| 鄂托克旗| 清远市| 耿马| 扎赉特旗| 韶关市| 梁河县| 久治县| 五指山市| 巴林左旗| 应用必备| 呼伦贝尔市| 辽阳县| 准格尔旗| 北海市| 平湖市| 云安县| 乌鲁木齐市| 崇义县| 赤峰市| 镇坪县| 青海省|