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

眾包視頻渲染系統(tǒng)的制作方法

文檔序號:6496206閱讀:703來源:國知局
眾包視頻渲染系統(tǒng)的制作方法
【專利摘要】在一個實施例中,本發(fā)明的方法包括:通過向每個客戶端傳輸視口狀態(tài)數(shù)據(jù)對象和唯一的空間位置而向具有性能好的圖形處理單元的相連客戶端節(jié)點分配渲染任務(wù);在每個客戶端從其唯一空間位置的起點開始執(zhí)行路徑追蹤;以及將客戶端的渲染輸出傳輸回服務(wù)器。服務(wù)器將由特定客戶端接收的各渲染輸出生成合成的渲染輸出,然后將合成結(jié)果傳輸?shù)剿邢噙B的客戶端進行顯示。因此,當(dāng)客戶端節(jié)點的數(shù)量增加時,場景被渲染得更快并且質(zhì)量更高。在特定的實施例中,渲染輸出為表示場景的漫射照明的光照貼圖,而且每個客戶端可以從其自己的視口渲染場景的鏡面反射高光。
【專利說明】眾包視頻渲染系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明總的涉及分布式眾包圖形渲染的應(yīng)用,更具體地說是涉及這樣一種服務(wù)器,其利用一個或多個相連的客戶端上的圖形處理單元執(zhí)行漫射光渲染,從一個或多個相連的客戶端接收渲染場景,由接收的場景生成合成場景,并且將合成場景傳輸給所有相連的客戶端。
【背景技術(shù)】
[0002]客戶-服務(wù)器架構(gòu)一般來說是分布式計算架構(gòu),該架構(gòu)在服務(wù)器(可以被認為是“服務(wù)供應(yīng)商”)和客戶端(可以被認為是“服務(wù)需求者”或者“服務(wù)消費者”)之間分配任務(wù)或者工作負荷。服務(wù)器和客戶端常常經(jīng)由計算機網(wǎng)絡(luò)而連接,并且各類數(shù)據(jù)可在各個服務(wù)器和各個客戶端之間通過計算機網(wǎng)絡(luò)雙向傳輸。傳統(tǒng)上,服務(wù)器通常比客戶端具有更多的資源和更好的性能。服務(wù)器可與一個或多個客戶端共享它的資源,諸如為客戶端執(zhí)行特定的任務(wù)(即,為客戶端提供服務(wù))。由于服務(wù)器通常比客戶端具有更多的資源,因此服務(wù)器可以比客戶端所能做到的快得多地完成任務(wù),特別是占用資源的任務(wù)。
[0003]在服務(wù)器和客戶端之間所交換的數(shù)據(jù)可使用任何適當(dāng)?shù)臄?shù)據(jù)格式來表示,并使用任何適當(dāng)?shù)耐ㄐ艆f(xié)議來傳輸。例如,當(dāng)在服務(wù)器上為客戶端執(zhí)行應(yīng)用時,應(yīng)用的輸出可使用結(jié)構(gòu)式文件來表示,諸如超文本標記語言(HTML)文件或者可擴展標記語言(XML)文件等。服務(wù)器可通過在服務(wù)器和客戶端之間的超文本傳輸協(xié)議(HTTP)連接將包括表示應(yīng)用輸出的數(shù)據(jù)的HTML或者XML文件傳輸?shù)娇蛻舳?。?dāng)接收到HTML或者XML文件時,客戶端可以使用該文件,并利用該HTML或者XML文件在諸如在該客戶端上運行的網(wǎng)頁瀏覽器中本地渲染應(yīng)用的輸出。

【發(fā)明內(nèi)容】

[0004]本發(fā)明總的涉及一種眾包圖形渲染系統(tǒng),其在一個或多個相連的客戶端之間分配渲染任務(wù),所述客戶端將渲染輸出傳輸回服務(wù)器,該服務(wù)器將客戶端輸出合成為一個單獨的、用于向所有相連的客戶端傳輸和顯不的渲染輸出。
[0005]在服務(wù)器端圖形渲染的情況下,單臺服務(wù)器可以包括一系列圖形處理單元(GPU),以用于渲染圖形對象并且將輸出傳輸?shù)娇蛻舳?。然而,在處理器周期方面,渲染?fù)雜的3D環(huán)境代價巨大,并且必須增加額外的GPU或者服務(wù)器以向所連接的客戶端充分地提供渲染后的幀或場景。因此,傳統(tǒng)的服務(wù)器端圖形渲染面臨著重大的可擴展性問題。為了滿足數(shù)量不斷增長的客戶端的需求,增加服務(wù)器或者GPU對于供應(yīng)商來說可能是過于昂貴的;相反,當(dāng)需求降至處理能力以下時,對服務(wù)器或GPU等基礎(chǔ)設(shè)施的過度投資將導(dǎo)致利用不充分。
[0006]此外,具有能夠快速執(zhí)行較為復(fù)雜的3D渲染的能力的GPU的大眾化設(shè)備的數(shù)量近年來增長迅猛。例如,在21世紀初,具備能夠在一分鐘之內(nèi)執(zhí)行3D場景的路徑追蹤的GPU的個人電腦的數(shù)量可能局限于為數(shù)不多的電腦,而目前超過四千萬臺個人電腦擁有附帶這種性能的GPU。因此,希望為這些客戶端GPU融資以謀求將圖形渲染任務(wù)從服務(wù)器轉(zhuǎn)移到客戶端,從而實施眾包的給定幀或環(huán)境的渲染。
[0007]在一個實施例中,計算機系統(tǒng)托管多個應(yīng)用程序?qū)嵗?,每個應(yīng)用程序?qū)嵗龑?yīng)于一個遠程的客戶端應(yīng)用程序。該計算機系統(tǒng)保持與托管應(yīng)用程序?qū)嵗拿總€遠程客戶端應(yīng)用的網(wǎng)絡(luò)連接。在特定的實施例中,應(yīng)用程序?qū)嵗秊槿缦滤龅能浖鍢?。在特定的實施例中,計算機系統(tǒng)將用于具有足夠強大的GPU的計算機的渲染資源傳輸給客戶端應(yīng)用,以有助于進行渲染。在特定的實施例中,如下所述,計算機系統(tǒng)以視口狀態(tài)數(shù)據(jù)對象(VSDO)的形式傳輸渲染資源。在特定的實施例中,計算機系統(tǒng)也向每個參與眾包渲染處理的客戶端傳輸或者分配一個唯一的空間位置。在特定的實施例中,客戶端設(shè)備利用接收的渲染資源和唯一的視點來渲染幀或者環(huán)境。在特定的實施例中,客戶端設(shè)備執(zhí)行路徑追蹤以渲染一個場景或者環(huán)境的漫射照明。在完成其被分配的渲染任務(wù)之后,每個參與的客戶端設(shè)備將其渲染輸出傳輸回計算機系統(tǒng)。在特定的實施例中,渲染輸出為來自特定視點的幀。在特定的實施例中,渲染輸出為用于環(huán)境的漫射照明的光照貼圖。在特定的實施例中,渲染輸出為改進的VSD0。當(dāng)接收到渲染輸出時,計算機系統(tǒng)生成一個合成的渲染輸出,用于回傳給所有相連的客戶端,甚至是那些沒有參與眾包渲染處理的客戶端。
[0008]在特定的實施例中,每個相連的客戶端從完全相同的視點觀察場景,并且計算機系統(tǒng)將合成的幀從特定視點傳輸給每個相連的客戶端以用于顯示。在特定的實施例中,每個相連的客戶端從不同的視域觀察場景,并且計算機系統(tǒng)為各客戶端傳輸合成的渲染資源,以在其自己的渲染引擎上使用。在特定的實施例中,渲染資源為光照貼圖或者VSD0,而該VSDO包含表示環(huán)境的漫射照明的光照貼圖數(shù)據(jù)。因此,客戶端可以在保持高品質(zhì)的光能傳遞照明的同時,使用渲染資源從不同的視點渲染場景。在特定的實施例中,客戶端與接收到的包含用于環(huán)境的眾包漫射照明的渲染資源相結(jié)合地在本地渲染快速變化的鏡面反射照明。因此,隨著具備高性能GPU的客戶端節(jié)點數(shù)量的增加,任何特定的場景都可以更快地或者以更高的圖形質(zhì)量被渲染出來。
[0009]在一個實施例中,公開了一種用于生成合成渲染的方法。該方法包括通過處理器將如下所述的信息傳輸給一個或者多個客戶端,即,所述信息包括:公共渲染資源;不同于其他被傳輸?shù)目臻g位置的唯一的空間位置;以及一個或多個利用公共渲染資源及其唯一的空間位置,或者利用公共渲染資源和被傳輸?shù)揭粋€或多個客戶端中的每一個的相應(yīng)的唯一空間位置生成渲染的指令。在一個實施例中,每個唯一的空間位置隨機生成。
[0010]在一個實施例中,生成渲染的指令包括從唯一的空間位置在渲染資源上執(zhí)行路徑追蹤的指令,其中,渲染的是用于包含渲染資源在內(nèi)的部分或者整個環(huán)境的光照貼圖。在一個實施例中,渲染的是一個幀,而且一個或多個指令進一步包括用來渲染該幀的一個公共視點。在一個實施例中,渲染資源為視口狀態(tài)數(shù)據(jù)對象(VSD0),并且渲染的是由根據(jù)路徑追蹤的結(jié)果計算出的漫射照明數(shù)據(jù)來增強的渲染資源的集合。
[0011]該方法還包括:通過處理器從一個或多個客戶端中的每一個接收渲染;以及通過處理器由接收到的渲染生成合成的渲染。由此生成的合成渲染被處理器傳輸?shù)揭粋€或多個客戶端。在一個實施例中,通過處理器生成合成的渲染的過程包括:通過處理器添加接收到的光照貼圖以生成由包含渲染資源在內(nèi)的部分或者整個環(huán)境構(gòu)成的復(fù)合光照貼圖。在一個實施例中,通過處理器生成合成的渲染的過程還包括:添加接收到的幀以生成合成的幀。
[0012]本發(fā)明公開了一種接收合成渲染的方法。該方法包括:通過處理器從服務(wù)器接收渲染資源、唯一的空間位置以及一個或多個利用接收到的渲染資源和唯一的空間位置生成渲染的指令。所述方法還包括:通過處理器根據(jù)一個或多個指令生成渲染;通過處理器將生成的渲染傳輸給服務(wù)器;以及通過處理器從服務(wù)器接收合成的渲染。在一個實施例中,所述方法進一步包括:通過處理器從獨立于服務(wù)器的視點渲染鏡面反射照明;通過處理器將渲染的鏡面反射照明與接收的合成渲染相結(jié)合;以及通過處理器將結(jié)合的渲染的鏡面反射照明和接收的合成渲染輸出給顯示器。
[0013]在一個實施例中,公開了一種用于生成合成渲染的系統(tǒng)。該系統(tǒng)包括:圖形處理單元、處理器以及用于有形地存儲由處理器在其上執(zhí)行的程序邏輯的存儲介質(zhì)。在一個實施例中,所述程序邏輯包括:公共渲染資源傳輸邏輯,其由處理器執(zhí)行,以將公共渲染資源傳輸?shù)揭粋€或多個客戶端;空間位置傳輸邏輯,其由處理器執(zhí)行,用于將不同于其他傳輸?shù)目臻g位置的唯一的空間位置傳輸?shù)揭粋€或多個客戶端中的每一個;以及指令傳輸邏輯,其由處理器執(zhí)行,以將一個或多個指令傳輸?shù)揭粋€或多個客戶端中的每一個,從而利用公共渲染資源及其唯一的空間位置生成渲染。在一個實施例中,程序邏輯進一步包括:由處理器執(zhí)行的接收邏輯,其用于從一個或多個客戶端中的每一個接收渲染;由處理器執(zhí)行的合成渲染生成邏輯,其用于根據(jù)接收到的渲染生成合成的渲染;以及由處理器執(zhí)行的合成渲染傳輸邏輯,其用于將合成的渲染傳輸給一個或多個客戶端。
[0014]在一個實施例中,公開了一種用于接收合成的渲染的系統(tǒng)。該系統(tǒng)包括:圖形處理單元、處理器以及用于有形地存儲由處理器在其上運行的程序邏輯的存儲介質(zhì)。在一個實施例中,所述程序邏輯包括:由處理器執(zhí)行的接收邏輯,其用于從服務(wù)器接收渲染資源、唯一的空間位置以及一個或多個有關(guān)利用接收到的渲染資源和唯一的空間位置生成渲染的指令。所述程序邏輯進一步包括:由處理器執(zhí)行的渲染生成邏輯,其用于根據(jù)所述的一個或多個指令生成渲染;由處理器執(zhí)行的傳輸邏輯,其用于將生成的渲染傳輸給服務(wù)器;以及由處理器執(zhí)行的合成渲染接收邏輯,其用于從服務(wù)器接收合成的渲染。在一個實施例中,所述系統(tǒng)還包括:由處理器執(zhí)行的照明渲染邏輯,其用于從獨立于服務(wù)器的視點渲染鏡面反射照明。所述系統(tǒng)還包括:由處理器執(zhí)行的合并邏輯,其用于使渲染的鏡面反射照明和接收的合成渲染組合;以及由處理器執(zhí)行的輸出邏輯,其用于將合并的渲染鏡面反射照明和接收的合成渲染輸出到顯不器。
[0015]在一個實施例中,生成渲染的指令傳輸邏輯還包括從唯一的空間位置在渲染資源上執(zhí)行路徑追蹤的指令,其中,所述渲染是用于包含渲染資源在內(nèi)的部分或者整個環(huán)境的光照貼圖。在一個實施例中,合成渲染生成邏輯還包括添加邏輯,其可添加接收到的光照貼圖以生成包含渲染資源在內(nèi)的部分或者整個環(huán)境的合成光照貼圖。在一個實施例中,合成渲染生成邏輯進一步包括由處理器運行的添加邏輯,其添加接收到的幀以生成合成的幀。
[0016]通過參考以下的詳細說明和附圖,本領(lǐng)域的技術(shù)人員將會明了其特征能夠結(jié)合的上述和其他實施例。
【專利附圖】

【附圖說明】
[0017]圖1示出了實現(xiàn)眾包圖形渲染系統(tǒng)的一個示例性客戶機-服務(wù)器系統(tǒng)。
[0018]圖2示出了一種從固定的視點將幀的渲染分配給多個客戶端的方法。
[0019]圖3示出了用于給定場景的示例性的為接收的客戶端幀。[0020]圖3A示出了通過添加圖3所示接收的客戶端幀而生成的合成幀。
[0021]圖4示出了將環(huán)境的渲染分配給多個客戶端的方法。
[0022]圖5示出了示例性的用于圖4中的客戶端的顯示輸出。
[0023]圖6示出了示例性的網(wǎng)絡(luò)環(huán)境。
[0024]圖7示出了示例性的計算機系統(tǒng)。
【具體實施方式】
[0025]現(xiàn)在參考如附圖中所示的一些實施例來詳細描述本發(fā)明。為了更加透徹地理解本發(fā)明,在以下的描述中闡述了許多具體細節(jié)。但是,本領(lǐng)域技術(shù)人員可以明確的是,在缺少部分或全部這些具體細節(jié)的情況下也可以實現(xiàn)本發(fā)明。在其他情況下,為了不會使本發(fā)明存在不必要的不清楚之處,沒有具體描述公知的處理步驟和/或結(jié)構(gòu)。另外,盡管結(jié)合特定的實施例對本發(fā)明進行描述,但應(yīng)該理解的是,該描述并不旨在將本發(fā)明限制于所描述的實施例。相反,該描述旨在覆蓋可包括在由所附權(quán)利要求書限定的本發(fā)明的精神和范圍內(nèi)的替換、改進和等同方案。
[0026]可包括多個裝置、組件、模塊及類似物的系統(tǒng)將具有不同方面或者各種特征。需要明白和認知的是,各種系統(tǒng)可以包括額外的設(shè)備、組件、模塊等和/或可以不包括結(jié)合附圖所討論的所有的設(shè)備、組件、模塊等。也可以使用這些方案的結(jié)合。
[0027]客戶機-服務(wù)器架構(gòu)使服務(wù)器能夠與一個或多個客戶端共享其資源。這樣的架構(gòu)具有很多優(yōu)點。例如,由于與客戶端相比服務(wù)器通常具有更多的資源(例如,處理器或者內(nèi)存)和更強大的性能,服務(wù)器能夠比客戶端所能更快地完成任務(wù)。當(dāng)任務(wù)為資源密集型或者當(dāng)客戶端的資源有限時,上述的性能差異將特別顯著。同時,當(dāng)服務(wù)器代表客戶端或者為客戶端執(zhí)行任務(wù)時,客戶端的資源可被釋放以執(zhí)行其他的任務(wù),諸如那些需要在客戶端本地上執(zhí)行的任務(wù)(例如,與客戶端的用戶的交互)。
[0028]一種可適合于在服務(wù)器上執(zhí)行的任務(wù)類型可以是對由服務(wù)器托管的應(yīng)用進行渲染以作為視頻輸出傳輸給客戶端。在計算機繪圖方面,渲染可以被認為是通常通過計算機程序由模型生成圖像的過程。所述模型通常是對三維(3D)對象的描述并且能以嚴格定義的語言或者數(shù)據(jù)結(jié)構(gòu)來表示。模型可以包含幾何形狀、視點、紋理、照明、底紋、動作以及其他適當(dāng)?shù)男畔㈩愋?。由模型渲染而成的圖像可以是由像素集合形成的數(shù)字圖像或者光柵圖形圖像。本說明書將渲染的概念擴大到生成表示任何應(yīng)用的任何輸出的圖像??梢曰诎ǘS(2D )數(shù)據(jù)以及3D數(shù)據(jù)的任意數(shù)據(jù)執(zhí)行渲染。除了基于3D模型生成圖像之外,特定的實施例可以渲染表示如下所述應(yīng)用的輸出的圖像,即,所述應(yīng)用諸如(例如并且不限于)網(wǎng)頁瀏覽應(yīng)用,、文字處理應(yīng)用,電子表格應(yīng)用,多媒體應(yīng)用,科學(xué)和醫(yī)學(xué)應(yīng)用,以及游戲應(yīng)用。
[0029]然而,如上所述,單純的服務(wù)器端圖形渲染架構(gòu)由于額外的服務(wù)器和GPU的成本而規(guī)模較小。另外,為滿足高峰需求而適當(dāng)增添了服務(wù)器/GPU基礎(chǔ)設(shè)施的系統(tǒng)經(jīng)常在非高峰時段存在嚴重利用不足的情況,這導(dǎo)致了浪費或者服務(wù)器或GPU資源閑置。
[0030]在本領(lǐng)域中眾所周知,可利用點對點(P2P)架構(gòu)在對等體之間分配任務(wù)。由于更多的節(jié)點進入到網(wǎng)絡(luò)中,對等網(wǎng)絡(luò)具有增加系統(tǒng)總?cè)萘亢唾Y源的優(yōu)勢。例如,在BitTorrent網(wǎng)絡(luò)中,共享或者“播種”文件的節(jié)點越多,文件傳輸?shù)秸埱笪募钠渌?jié)點的速度就越快。對等網(wǎng)絡(luò)廣泛用于文件共享和流內(nèi)容分發(fā)應(yīng)用,但是由于其分散性本質(zhì),使得它們具有長的等待時間,這通常使它們不適合于諸如圖形渲染的實時操作。本文提供了一種集中的基于服務(wù)器的服務(wù)器模型,其可將圖形渲染任務(wù)下放到客戶端節(jié)點,由此在圖形渲染方面獲得了 P2P架構(gòu)的許多優(yōu)點。
[0031]此外,多GPU渲染的現(xiàn)有方法都規(guī)模較小。傳統(tǒng)上,多GPU系統(tǒng)采用分幀渲染模式(SFR)或交替幀渲染模式(AFR)這兩種方法中的一種。在SFR中,每個GPU渲染每個幀的一部分。然而,處理的分配往往是不均勻的,比如在幀的一部分包含復(fù)雜的幾何形狀而另一部分包含相對簡單的幾何形狀的情況下。盡管許多分配算法可以考慮各部分的圖形復(fù)雜性,但是隨著GPU數(shù)量的增加,分配算法變得越來越復(fù)雜,并且處理器本身也變得越密集。AFR涉及以輪轉(zhuǎn)方式將完整的幀的渲染分發(fā)給各個GPU。然而,由于下一幀在這一幀的前一幀之前渲染而增加了延遲,使得這種技術(shù)規(guī)模較小。此外,由于GPU的數(shù)量接近幀率的有效百分率,所以對于下一個GPU來說在邏輯上不可能提前知道下一幀的樣子。
[0032]本發(fā)明的一個實施例通過采用路徑追蹤來渲染給定3D環(huán)境的漫射照明而解決了多GPU的可擴展性問題。路徑追蹤是這樣一種渲染技術(shù),其試圖通過從虛擬攝像機追蹤經(jīng)過在物體上的數(shù)次反射或者穿過物體的多條光線,盡可能接近地模擬出光線的物理特性。由路徑追蹤所提供的圖像質(zhì)量通常優(yōu)異于利用傳統(tǒng)的渲染方法以非常大的計算需求為代價而產(chǎn)生的圖像的質(zhì)量。路徑追蹤自然地模擬很多需要被特別添加到其他方法(光線追蹤或者掃描線渲染)中的效果,例如軟陰影,景深,動作模糊處理,焦散效果,環(huán)境光遮擋和間接照明。由于其精確性和無偏特性,在測試其他渲染算法的質(zhì)量時,路徑追蹤被用于生成參考圖像。然而,由于具有無數(shù)假設(shè)的照明路徑,在渲染場景或者幀會聚到一個“完美發(fā)光”的圖像上之前,必須對數(shù)量相當(dāng)大的采樣進行計算。通過分配路徑追蹤采樣的生成,本發(fā)明的實施例公開了一種分布式圖形渲染系統(tǒng),其提供了無限的可擴展性以及P2P架構(gòu)的優(yōu)點;即,參與眾包渲染處理的節(jié)點越多,渲染速度和輸出質(zhì)量就越高,并且不會有與傳統(tǒng)的與服務(wù)器端圖形渲染相關(guān)聯(lián)的高成本。
[0033]圖1示出了一個示例性的網(wǎng)絡(luò)環(huán)境,本發(fā)明的特定實施方式可以在該網(wǎng)絡(luò)環(huán)境中運行。如圖1所示,本發(fā)明的特定實施方式可以在包括視頻傳輸系統(tǒng)(VTS) 20的網(wǎng)絡(luò)環(huán)境中運行,所述VTS20被可操作地連接到可以包括因特網(wǎng)的網(wǎng)絡(luò)云60上。網(wǎng)絡(luò)云60通常表示一個或多個互聯(lián)的網(wǎng)絡(luò),本文所述的系統(tǒng)和主機能夠通過該網(wǎng)絡(luò)通信。網(wǎng)絡(luò)云60可以包括封包式廣域網(wǎng)(例如因特網(wǎng))、私有網(wǎng)絡(luò)、無線網(wǎng)絡(luò)、衛(wèi)星網(wǎng)絡(luò)、蜂窩網(wǎng)絡(luò)、尋呼網(wǎng)絡(luò),等等。網(wǎng)絡(luò)云60中的一些網(wǎng)絡(luò)可以是電路交換網(wǎng)絡(luò)。包括網(wǎng)絡(luò)60在內(nèi)的計算機網(wǎng)絡(luò)環(huán)境可以是封包式通信環(huán)境,使用TCP/IP協(xié)議(例如)和/或其他合適的協(xié)議,并具有多個互連的數(shù)字分組傳輸站或路由節(jié)點。通過網(wǎng)絡(luò)服務(wù)提供商或任何其它合適的途徑將客戶端節(jié)點82和84可操作地連接到網(wǎng)絡(luò)環(huán)境上。客戶端節(jié)點82和84可以包括個人電腦或手機,以及其他類型的移動設(shè)備,例如手提電腦,個人數(shù)字助理(PDA),等等。客戶端節(jié)點82包括能夠執(zhí)行渲染給定幀或者場景所需的一些或者全部渲染任務(wù)的GPU??蛻舳斯?jié)點84可以包括低功率設(shè)備,例如PDA、移動電話、平板電腦、便攜式游戲系統(tǒng)或類似設(shè)備;可以具有瘦客戶端,并且缺乏足夠的參與眾包渲染系統(tǒng)所需的圖形處理能力。
[0034]視頻傳輸系統(tǒng)20是一個網(wǎng)絡(luò)可尋址系統(tǒng),其托管一個或多個虛擬世界、一個或多個視頻或電影,或者可以被渲染以用于顯示在客戶端節(jié)點82和84上的任何3D環(huán)境。視頻傳輸系統(tǒng)20可以包括網(wǎng)站和服務(wù)器功能,在這方面,用戶可以通過計算機網(wǎng)絡(luò)請求并獲取指定的網(wǎng)頁、視頻和其他內(nèi)容。
[0035]在特定的實施方式中,視頻傳輸系統(tǒng)20包括一個或多個物理服務(wù)器22和一個或多個數(shù)據(jù)存儲器24。所述的一個或多個物理服務(wù)器22經(jīng)由路由器26可操作地連接到計算機網(wǎng)絡(luò)60。一個或多個物理服務(wù)器22托管允許用戶瀏覽可用內(nèi)容的功能,例如從客戶端節(jié)點82和84接收請求,以及將響應(yīng)數(shù)據(jù)傳輸給客戶端節(jié)點82和84。從路由器26到網(wǎng)絡(luò)云60的連接應(yīng)具有足夠的帶寬,可同時支持從多個客戶端節(jié)點82和84接收渲染輸出,以及將合成的渲染輸出傳輸?shù)娇蛻舳斯?jié)點82和84。視頻傳輸系統(tǒng)20同時充當(dāng)接收器和播放器,并且路由器26的管道應(yīng)當(dāng)足夠?qū)挻蠡蚓哂懈叩膸?,以支持這種功能。在一種實施方式中,由一個或多個物理服務(wù)器所托管的功能可以包括web或HTTP服務(wù)器、RTSP服務(wù)
m坐坐
[0036]如上所述,物理服務(wù)器22托管有關(guān)支持和運行視頻傳輸系統(tǒng)20的功能。在一種實施方式中,數(shù)據(jù)存儲器24可以存儲諸如數(shù)字內(nèi)容數(shù)據(jù)對象、用戶信息和其他媒體資源的視頻內(nèi)容。在特定的實施方式中,內(nèi)容數(shù)據(jù)對象或內(nèi)容對象是由通常被存儲或嵌入在數(shù)據(jù)文件或記錄中的數(shù)字信息構(gòu)成的獨立項目。內(nèi)容對象可以采取許多形式,包括:文本(例如,ASCI1、SGML、HTML)、圖像(例如,jpeg、tif和gif )、圖形(基于矢量或位圖)、音頻、視頻(例如,mpeg)、或其它多媒體,以及它們的組合。內(nèi)容對象數(shù)據(jù)也可以包括可執(zhí)行的代碼對象,對象或資源的定義等。在結(jié)構(gòu)上,內(nèi)容數(shù)據(jù)存儲器24暗含包括許多數(shù)據(jù)存儲和管理系統(tǒng)。在特定的實施方式中,內(nèi)容數(shù)據(jù)存儲器24可通過包括諸如數(shù)據(jù)庫服務(wù)器、海量存儲介質(zhì)、媒體庫系統(tǒng)的組件或類似物的任何合適的物理系統(tǒng)來實現(xiàn)。
[0037]在特定的實施例中,眾包渲染系統(tǒng)是通過軟件程序來實現(xiàn)的。在特定的實施例中,軟件程序(以下稱之為“軟件插樁”或簡稱為“插樁”)可以安裝在客戶端節(jié)點82和84上并在其上運行。在特定的實施例中,所述插樁可以在網(wǎng)絡(luò)節(jié)點82、84和視頻傳輸系統(tǒng)20之間建立網(wǎng)絡(luò)連接,并且通過網(wǎng)絡(luò)連接將計算機軟件程序從視頻傳輸系統(tǒng)20下載到客戶端節(jié)點82和84。在特定的實施例中,從視頻傳輸系統(tǒng)20下載到客戶端節(jié)點82/84的一款軟件的可執(zhí)行代碼可以嵌入在通過網(wǎng)絡(luò)連接從VTS20向客戶端節(jié)點82/84發(fā)送的數(shù)據(jù)流中。當(dāng)接收到數(shù)據(jù)流時,所述插樁可以提取該款軟件的可執(zhí)行代碼,并且將其直接加載到客戶端82/84的隨機存取存儲器(RAM)中,以便在客戶端上執(zhí)行。這款軟件不會被保存或安裝到客戶端的任何永久性存儲器(例如,硬盤驅(qū)動器)上。一旦該款軟件完成其在客戶端82/84上的運行,其中裝載該款軟件的可執(zhí)行代碼的RAM空間就被釋放出來,而且該款軟件不再存在于客戶端82/84上的任何位置。在特定的實施例中,插樁程序在能夠加入眾包圖形渲染系統(tǒng)的客戶端節(jié)點82上安裝渲染引擎或應(yīng)用,并且在缺乏參與眾包渲染的必要處理能力的客戶端節(jié)點84上僅安裝瀏覽器應(yīng)用。
[0038]在特定的實施例中,插樁可以是保存或安裝在客戶端82/84上的可獨立應(yīng)用的軟件程序或安裝在客戶端82/84上的網(wǎng)頁瀏覽器中的插件式程序或外掛軟件。所述插樁可以利用任何合適的現(xiàn)有方法保存或安裝在客戶端82/84上,以用于將計算機軟件程序分配給各個計算機系統(tǒng)(例如CD、DVD、網(wǎng)絡(luò)下載等)。在特定的實施例中,所述插樁可以是一款瘦身軟件(即,規(guī)模較小),由此其不會占用太多客戶端節(jié)點82/84的存儲容量。如果所述插樁是一個可獨立應(yīng)用的軟件程序,則其可以獨自運行,或者如果它是插件式程序或外掛程序,則其可通過網(wǎng)頁瀏覽器來運行。[0039]通過使用插樁在客戶端82/84上下載并啟動計算機軟件程序,只有插樁本身需要被永久保存或安裝在客戶端82/84上。其他款的軟件可以被下載到客戶端82/84上并在客戶端82/84上啟動,而無須將其保存或安裝在客戶端82/84上,這可以減少對客戶端82/84的存儲容量的使用。此外,由于一款軟件是在執(zhí)行之前才被下載到客戶端節(jié)點82/84之一上,所以每次該款軟件被下載和啟動時,特定的實施例有利于提供最新(或任何所需的)的軟件版本。
[0040]關(guān)于軟件插樁的詳細介紹,請參閱共同持有的美國發(fā)明專利申請,美國專利申請N0.12/624,133,其發(fā)明名稱為“基于流的軟件應(yīng)用傳遞和啟動系統(tǒng),申請日為2009年11月23日,該文件在此被全部引入作為參考。
[0041]雖然圖1描述了一種集中式客戶機-服務(wù)器架構(gòu),但是本發(fā)明也考慮了任何用于在多個客戶端節(jié)點之間進行通信的網(wǎng)絡(luò)拓撲方式。在特定的實施例中,客戶端節(jié)點可被設(shè)置為一個對等網(wǎng)絡(luò),其中,一個特定的節(jié)點被指定為中央節(jié)點并且基本上執(zhí)行與VTS20相同的功能。在特定的實施例中,可以采用一種環(huán)形拓撲結(jié)構(gòu),并且可以將一個特定的對等體指定為運行與VTS20基本相同的功能的環(huán)形引導(dǎo)。本發(fā)明考慮了任何合適的用于將圖形處理分配給對等節(jié)點的網(wǎng)絡(luò)拓撲結(jié)構(gòu),包括但不限于總線、星形、網(wǎng)狀和樹狀網(wǎng)絡(luò)拓撲結(jié)構(gòu)。
[0042]圖2顯示出了每個客戶端從相同的視點對單個幀進行眾包渲染的方法的一個例子。例如,可以采用圖2所示的方法,其中,相連的客戶端節(jié)點82和84均在觀看同一部電影或視頻,比如像玩具總動員3這樣的計算機生成的電影。由VTS20所執(zhí)行的動作在圖2的左手邊示出,參與節(jié)點82的動作在右上半邊中示出,并且所有客戶端節(jié)點82和84的動作在右下半邊中示出。
[0043]在步驟201中,VTS20訪問渲染一個幀所需的渲染資源。在特定的實施例中,渲染資源可以被存儲在數(shù)據(jù)存儲器24中并隨后從其中取出。在特定的實施例中,渲染資源可以由VTS20動態(tài)地生成。在特定的實施例中,渲染資源可以是給定的環(huán)境、場景或幀中的真實的3D線框模型。但是,這種方法是帶寬密集型的,并且沒有利用3D對象的壓縮。在特定的對象中,渲染資源為來自攝像機視點的立方體貼圖。在特定的實施例中,渲染資源包括被稱為VSDO的分層立方體貼圖,其可以用像素或片段著色器渲染成用于給定幀的像素值。
[0044]立方體貼圖基本上是拼接成一個立方體的六個紋理貼圖。每個紋理貼圖包括紋素,其為場景相對于公共參考點的像素信息??梢酝ㄟ^使用立方體的面作為窗口矩形而從公共參考點渲染場景的方式來生成在立方體表面上的紋理貼圖。每一紋素可包含材料特性(折射率,顏色等)、與參考點的距離和表面法線向量??梢岳蒙疃葎冸x來獲得表示一個場景的一組分層紋理貼圖??梢韵拗苿冸x經(jīng)過的數(shù)量,以控制層的數(shù)目。VSDO可以以即時或存儲的方式在渲染設(shè)備上初始生成,以用于后續(xù)的響應(yīng)對視頻的請求而進行的傳輸。渲染設(shè)備能夠利用立方體貼圖和多個經(jīng)過深度剝離或一些其它合適處理的渲染目標在GPU上有效地生成VSDO。
[0045]分層紋素陣列(由場景的深度排序的層組成)的每個紋素在紋素的深度剝離層內(nèi)存儲了有關(guān)在參考點和最遠對象點之間的所有對象點的信息。為了對應(yīng)于分層立方體貼圖地生成場景的渲染表現(xiàn),圖形處理單元可以從公共原點追蹤光線,以確定原點和場景中的對象之間的距離,利用片段著色器單元來計算從原點可見的點的輻亮度。渲染處理通常涉及光柵化場景幾何形狀和找出光線通過像素的第一命中點。關(guān)于VSDO和VSDO渲染的詳細介紹,請參見共同持有的美國發(fā)明專利申請,美國專利申請N0.12/484,462,其發(fā)明名稱為“用于視頻壓縮的渲染資源的再利用”,申請日為2009年6月15日,該文在此被全部引入以作為參考。
[0046]在步驟202中,VTS20將渲染資源(在這個例子中,為場景或環(huán)境的VSD0)傳輸給任何具有能夠參與眾包渲染處理的GPU的客戶端節(jié)點82。在特定的實施例中,只有給定場景的第一幀需要將被傳輸給客戶端的VSD0,并且隨后的幀僅需要描述攝像機或各個對象如何變化的繪制指令。在特定的實施例中,一個特定場景的靜態(tài)元素可以作為一個VSDO被傳輸,而場景的動態(tài)元素作為單獨的VSDO被傳輸。因此,即使在切換活躍的場景中,也只需要更新或傳輸動態(tài)的VSD0。本發(fā)明預(yù)料到壓縮視頻數(shù)據(jù)或者通過對先前發(fā)送的VSDO再利用來節(jié)省帶寬的任何合適的方式。
[0047]VTS20也將唯一的空間位置傳輸給每個參與眾包渲染處理的客戶端節(jié)點82。唯一的空間位置代表用于路徑追蹤的虛擬眼睛或鏡頭的位置;每個客戶端節(jié)點82追蹤一個從其唯一的空間位置往回的假想光線,直到它碰到光源(可能永遠不會)。在特定的實施例中,被分配給每個客戶端節(jié)點82的唯一的空間位置是由VTS20隨機分配的。在特定的實施例中,唯一的位置并不基于試圖識別具有高命中光源概率的光線的路徑追蹤算法。在特定的實施例中,路徑追蹤算法稍微修正先前追蹤成功的路徑。在特定的實施例中,選擇唯一空間位置的路徑追蹤算法是蒙特卡羅、Kajiya或Metropolis-Hastings (如在Metropolis光傳輸中所描述的)算法。本發(fā)明考慮了任何合適的路徑追蹤算法或?qū)⑽ㄒ坏目臻g位置分配到參與眾包渲染處理的客戶端節(jié)點的方法。
[0048]在步驟203中,客戶端節(jié)點82從唯一的空間位置在接收到的渲染資源上執(zhí)行路徑追蹤。如前所述,渲染資源可以是一個或多個VSD0,針對先前發(fā)送的VSDO的變換指令或繪制指令,或者這兩者的任意組合。在特定的實施例中,客戶端節(jié)點82執(zhí)行雙向路徑追蹤。本發(fā)明預(yù)料到獲得路徑追蹤樣品的任何合適的方式。作為該路徑追蹤操作的結(jié)果,客戶端設(shè)備82生成粗略估計幀的漫射照明的樣本幀。即使對場景照明的估計較差并且具有很強的噪聲,客戶端節(jié)點82也能夠相對較快地生成這些樣本幀。
[0049]在步驟204中,參與眾包渲染處理的每個客戶端節(jié)點82將其渲染的幀傳輸回VTS20。在特定的實施例中,照明數(shù)據(jù)可以被添加到VSDO中,并且客戶端節(jié)點82可以傳輸回被照明數(shù)據(jù)增強的VSD0。在特定的實施例中,只有光照貼圖,或包括映射到VSDO上的照明信息的紋理被傳輸回VTS20。本發(fā)明預(yù)料到帶寬優(yōu)化或視頻壓縮的任何合適的方式。
[0050]在步驟205中,VTS20根據(jù)接收到的幀生成合成幀。由于光的相加性,VTS20可以通過將所有接收到的幀加到一起并且除以接收到的幀的數(shù)目的方式而快速地生成合成幀。在特定的實施例中,VTS20采用大的浮點緩沖器來存儲累加的結(jié)果。在特定的實施例中,VTS20由接收到的光照貼圖生成一個合成的光照貼圖,并且將合成的貼圖映射到VSDO上。本發(fā)明預(yù)料到生成合成幀的任何合適的方式。所述合成幀應(yīng)當(dāng)根據(jù)場景的復(fù)雜性和樣本的數(shù)目匯聚成完美的輻射度照明。例如,生成8個獨立樣本的8個客戶端節(jié)點可以產(chǎn)生相當(dāng)不錯的幀的表示,64個將產(chǎn)生超低噪聲的合成幀,而1000個樣本可以產(chǎn)生具有完美的漫射照明的幀。
[0051]在步驟206中,VTS20將合成幀傳輸?shù)接^看視頻流的每個客戶端節(jié)點(包括參與節(jié)點82和未參與節(jié)點84),并且在步驟207中,各個客戶端節(jié)點82/84將接收到的合成幀顯示在其顯示器上。在步驟208,處理結(jié)束,VTS傳輸渲染資源、變換和繪制指令,或這兩者的結(jié)合,用于視頻序列中的下一幀。
[0052]圖3顯示出由客戶端節(jié)點82接收到的渲染幀的一個例子。每一幀301-320表示來自單個客戶端節(jié)點82的輸出,其通過從針對給定場景的唯一的空間位置執(zhí)行路徑追蹤而獲得。幀301-320的清晰度不等;例如,幀301和302描繪非常少的有關(guān)場景中的對象的細節(jié),而幀320為觀看者提供了一個相當(dāng)好的、但有噪音的場景表現(xiàn)。圖3A示出了通過添加幀301-320而生成的合成幀321的一個例子。雖然還是有些噪音,但是合成幀提供了場景的清晰畫面,并含有高度精確的漫射照明,包括柔和反射、陰影、投影膠片和焦散。圖3和圖3A描繪了光的相加性以及可通過組合由路徑追蹤生成的20幀而獲得的畫面質(zhì)量的表現(xiàn)。因此,本發(fā)明類似于對等文件共享;比如在BitTorrent中“播種”;參與的客戶端節(jié)點82的數(shù)目越大,渲染速度就越快,而且傳遞到請求輸出的所有節(jié)點的渲染輸出的質(zhì)量也越高。例如,在特定的實施例中,當(dāng)場景的將被合成的樣本的所需數(shù)目超過了參與節(jié)點的數(shù)目時,中央服務(wù)器或參與節(jié)點必須執(zhí)行多個渲染,由此增加了總的渲染時間。隨著越來越多的擁有兼容GPU的客戶端節(jié)點“播種”場景,渲染速度得到提高。
[0053]圖4用于說明根據(jù)本發(fā)明的一個實施例的一種將環(huán)境渲染分配給多個客戶端的示例性方法。在特定的實施例中,VTS20的多個用戶可利用交互程序,其中,每個客戶端節(jié)點82/84的顯示并不被鎖定到一個特定的攝像機視點。例如,多個用戶可以使用諸如Maya或3D Studio Max這樣的計算機輔助設(shè)計(CAD)程序從各種不同的角度獨立觀察一個特定的環(huán)境。另一個例子是,一些客戶端節(jié)點可以與在同一環(huán)境中互動的多個用戶玩視頻游戲。例如,在魔獸世界中,多個用戶可以通過處理能力不同的設(shè)備全部處在一個特定的房間。
[0054]圖5示出了這種情形的一個例子。在圖5中,3D環(huán)境500包括數(shù)個光源503和反射池504。當(dāng)渲染時,反射池504可以同時包含漫射照明和鏡面反射照明。兩個用戶控制的人物501和502處在環(huán)境500中。每個用戶都有一個特定的攝像機視野和視口 501a和502a。鏡面反射照明,包括來自于光源503的在環(huán)境500中的反射,需要同時得知光線的路徑和每個用戶的視口 501a和502a。因此,特別是在快速、實時的應(yīng)用諸如動作游戲或第一人稱射擊游戲中,漫射照明與鏡面反射照明相比是移動比較緩慢和靜止的。對這個例子來說,用戶501正在使用一種能夠參與眾包渲染處理的設(shè)備(客戶端節(jié)點82),諸如具有強大GPU的個人電腦或者聯(lián)網(wǎng)的游戲機,而用戶502正在使用一種缺乏執(zhí)行渲染、甚至其本身的鏡面反射照明的圖形處理能力的瘦客戶端設(shè)備,諸如移動電話或平板電腦。
[0055]回到圖4,在步驟401中,VTS20生成或訪問特定環(huán)境500的VSDO。VTS20可響應(yīng)于來自在客戶端節(jié)點82和84上運行的軟件插樁的請求而生成VSD0。例如,當(dāng)客戶端節(jié)點82/84的用戶啟動游戲應(yīng)用程序或發(fā)送命令到VTS,表明他們的玩家正移動到一個特定的環(huán)境或沿一個特定的方向察看時,VTS20在用戶的人物周圍的環(huán)境中為目標動態(tài)地生成VSDO0
[0056]在步驟402中,VTS20將VSDO和唯一的空間位置傳輸給每個參與的客戶端節(jié)點82。在特定的實施例中,僅當(dāng)客戶端的用戶進入新的環(huán)境時,VTS20才會傳輸VSD0。此外,在步驟402中,VTS20將唯一位置指示器傳輸給參與的客戶端節(jié)點82。這種唯一位置指示器獨立于客戶端節(jié)點82所代表的用戶的視口 501a,但卻是一個很隨機的點,從該點開始用于漫射照明的計算的路徑追蹤。在特定的實施例中,分配給每個客戶端節(jié)點82的唯一的空間位置是由VTS20隨機分配的。在特定的實施例中,唯一位置并不基于試圖識別具有高光源命中概率的光線的路徑追蹤算法。在特定的實施例中,路徑追蹤算法稍微修正先前追蹤成功的路徑。在特定的實施例中,選擇唯一的空間位置的路徑追蹤算法是蒙特卡羅算法、Kajiya算法或Metropolis-Hastings (如在Metropolis光傳輸中描述的)算法。本發(fā)明可適用任何合適的路徑追蹤算法或?qū)⑽ㄒ坏目臻g位置分配給參與眾包渲染處理的客戶端節(jié)點的方法。
[0057]在步驟403中,客戶端節(jié)點82執(zhí)行路徑追蹤以生成用于環(huán)境500的光照貼圖。光照貼圖僅僅是包含可以被映射或換膚(skin)到VSDO上的環(huán)境照明的或漫射照明數(shù)據(jù)的紋理。當(dāng)光照貼圖被映射到VSDO并且該VSDO通過渲染引擎被渲染時,場景或環(huán)境向用戶準確地顯現(xiàn)出發(fā)亮。在特定的實施例中,光照貼圖僅僅是VSDO的一個附加層。在特定的實施例中,光照貼圖可以與VSDO分開發(fā)送。在特定的實施例中,光照貼圖可以使用2D壓縮算法(諸如JPG或離散余弦轉(zhuǎn)換(DCT))進行壓縮。
[0058]在步驟404中,每個參與的客戶端節(jié)點82將其光照貼圖傳輸給VTS20。在特定的實施例中,每個客戶端節(jié)點82傳輸回一個增強VSD0。在特定的實施例中,每個客戶端節(jié)點82在傳輸之前壓縮其生成的光照貼圖。本發(fā)明考慮了將渲染后的漫射照明信息反饋給VTS20的任何合適的方式。
[0059]在步驟405中,VTS20基于接收到的來自客戶端節(jié)點82的光照貼圖生成合成的光照貼圖。光的相加特性正如其對各個幀所做的那樣同樣適用于光照貼圖。在特定的實施例中,VTS20通過將所有接收到的光照貼圖的累加結(jié)果存儲在一個大的浮點緩沖器上,并且用該結(jié)果除以接收到的光照貼圖的數(shù)目,來生成合成的光照貼圖。在特定的實施例中,在已經(jīng)達到接收的光照貼圖的時間或數(shù)量的閾值之后,VTS自動地生成合成的光照貼圖。由于在超過一定閾值之后每個客戶端節(jié)點的光照貼圖僅在一定程度上提高漫射照明的質(zhì)量,因此VTS20可以選擇在不等待因延遲而遲到的客戶端光照貼圖的情況下生成合成的光照貼圖。在特定的實施例中,為了每次刷新都能獲得最高質(zhì)量的光照貼圖,VTS20在生成合成的光照貼圖之前會一直等待,直到接收到每一個客戶端節(jié)點的光照貼圖。由于漫射照明與視點無關(guān)并且不隨環(huán)境而快速變化(假設(shè)光源不動),平移改變其視點的用戶不太可能注意到刷新環(huán)境的漫射照明時的延遲,而渲染直接關(guān)系到用戶視點的鏡面反射照明時的延遲則是引人注意的。
[0060]在步驟406中,VTS20將合成的光照貼圖傳輸回參與的客戶端節(jié)點82。在特定的實施例中,VTS20傳輸回一個或多個由包含合成光照貼圖的層所增強的環(huán)境500的VSD0。在特定的實施例中,VTS20僅傳輸合成光照貼圖。在特定的實施例中,合成光照貼圖可以使用2D壓縮技術(shù)進行壓縮。在特定的實施例中,VTS20只傳輸發(fā)送至客戶端節(jié)點82的同一VSDO的上一光照貼圖和合成光照貼圖之間的變化。本發(fā)明考慮了在將漫射照明數(shù)據(jù)傳輸給客戶端節(jié)點82時可節(jié)約帶寬的任何合適的方法。
[0061]在步驟407中,參與的客戶節(jié)點82基于它們自己的視點(如視點501a)渲染環(huán)境的鏡面反射照明。由于參與的客戶端節(jié)點82具備足夠強大的GPU從而可執(zhí)行用于漫射照明的路徑追蹤,因此它們應(yīng)該足夠強大到能夠渲染鏡面反射照明。同時,隨著在步驟407中生成鏡面反射照明,每個客戶端節(jié)點82的用戶視口(如501a)被渲染在客戶端節(jié)點82的顯示器上。[0062]在特定的實施例中,由于用戶502利用的是未參與的客戶端節(jié)點84,其缺乏足夠強大的、可執(zhí)行路徑追蹤的GPU,VTS20假定客戶端設(shè)備84缺乏執(zhí)行依賴于其自身視點的鏡面反射照明的處理能力。因此,VTS20在服務(wù)器端為客戶端節(jié)點84渲染整個視口(如視口502a)。
[0063]在步驟409中,VTS20基于環(huán)境的VSD0、合成光照貼圖和從每個相連的客戶端節(jié)點84接收到的攝像機信息渲染瘦客戶端節(jié)點84的視口。在特定的實施例中,VTS20利用一個命中函數(shù)來校正VSDO的原點和每個客戶端84的參考點(攝像機視口)的差異。
[0064]在步驟410中,VTS20將每個瘦客戶端84的經(jīng)渲染的視口幀傳輸?shù)狡涓髯缘目蛻舳?。在特定的實施例中,幀可以通過2D壓縮技術(shù)進行壓縮。在步驟411中,客戶端設(shè)備84將其接收到的幀顯示在其各自的顯示器上。
[0065]因此,本發(fā)明的特定實施方式提供了一種可全面擴展的、具有類似P2P質(zhì)量的分布式渲染架構(gòu),其中,最終的渲染圖像的質(zhì)量與參與分布式渲染系統(tǒng)的客戶端節(jié)點的數(shù)目直接相關(guān)。
[0066]可以在網(wǎng)絡(luò)環(huán)境中實現(xiàn)特定的實施方式。圖6示出了一個示例性的網(wǎng)絡(luò)環(huán)境600。網(wǎng)絡(luò)環(huán)境600包括將一個或多個服務(wù)器620與一個或多個客戶端630彼此連接的網(wǎng)絡(luò)610。在特定的實施例中,網(wǎng)絡(luò)610可以是企業(yè)內(nèi)部互聯(lián)網(wǎng)、外聯(lián)網(wǎng)、虛擬專用網(wǎng)絡(luò)(VPN)、局域網(wǎng)(LAN)、無線LAN (WLAN)、廣域網(wǎng)(WAN)、城域網(wǎng)(MAN)、通信網(wǎng)絡(luò)、衛(wèi)星網(wǎng)絡(luò)、國際互聯(lián)網(wǎng)絡(luò)的一部分、或者另一個網(wǎng)絡(luò)610或者兩個或多個上述網(wǎng)絡(luò)610的組合。本發(fā)明適用任何適當(dāng)?shù)木W(wǎng)絡(luò)610。
[0067]一個或多個鏈路650將服務(wù)器620或者客戶端630連接到網(wǎng)絡(luò)610。在特定的實施例中,一個或多個鏈路650的每一個都包括一個或多個有線的、無線的、或者光鏈路650。在特定的實施例中,一個或多個鏈路650的每一個都包括企業(yè)內(nèi)部互聯(lián)網(wǎng)、外聯(lián)網(wǎng)、VPN、LAN、WLAN、WAN、MAN、通信網(wǎng)絡(luò)、衛(wèi)星網(wǎng)絡(luò)、國際互聯(lián)網(wǎng)絡(luò)的一部分,或者另一個鏈路650或者兩個或多個上述鏈路650的組合。本發(fā)明考慮了將服務(wù)器620和客戶端630連接到網(wǎng)絡(luò)610的任何適當(dāng)?shù)逆溌?50。
[0068]在特定的實施例中,每個服務(wù)器620可以是單一式服務(wù)器或者可以是跨多個計算機或多個資料處理中心的分布式服務(wù)器。服務(wù)器620可以具有各種類型,諸如,舉例并不限于,網(wǎng)絡(luò)服務(wù)器、新聞服務(wù)器、郵件服務(wù)器、消息服務(wù)器、廣告服務(wù)器、文件服務(wù)器、應(yīng)用服務(wù)器、交換服務(wù)器、數(shù)據(jù)庫服務(wù)器或者代理服務(wù)器。在特定的實施例中,每個服務(wù)器620可包括硬件、軟件或者嵌入式邏輯元件或者兩個或多個上述元件的組合,以用于執(zhí)行由服務(wù)器620實施或者支持的適當(dāng)功能。例如,網(wǎng)絡(luò)服務(wù)器通常能夠托管包含網(wǎng)頁或者網(wǎng)頁的特定元素的網(wǎng)站。更具體地,網(wǎng)絡(luò)服務(wù)器可托管HTML文件或者其他文件類型,或者可根據(jù)需要動態(tài)地創(chuàng)建或者構(gòu)造文件,并且響應(yīng)來自客戶端630的HTTP或者其他請求將它們傳送給客戶端630。郵件服務(wù)器通常能夠為各種各樣的客戶端630提供電子郵件業(yè)務(wù)。數(shù)據(jù)庫服務(wù)器通常能夠提供用于管理存儲在一個或者多個數(shù)據(jù)存儲器中的數(shù)據(jù)的接口。
[0069]在特定的實施例中,每個客戶端630可以是電子設(shè)備,包括硬件、軟件或者嵌入式邏輯元件或者兩個或多個上述元件的組合,并能夠執(zhí)行由客戶端630實施或者支持的適當(dāng)功能。舉例而言但不限于,客戶端630可以是臺式計算機系統(tǒng)、筆記本計算機系統(tǒng)、上網(wǎng)本計算機系統(tǒng)、手持電子設(shè)備或者移動電話??蛻舳?30可使在客戶端630的網(wǎng)絡(luò)用戶能訪問網(wǎng)絡(luò) 610??蛻舳?630 可以具有諸如 Microsoft Internet Explorer 或者Mozilla Firefox的網(wǎng)頁瀏覽器,并可以具有一個或多個諸如Google Toolbar工具欄或者Yahoo Toolbar工具欄的附加軟件、插件或者其他擴展件??蛻舳?30可使其用戶能夠與其他客戶端630上的其他用戶通信。本發(fā)明適用任何適當(dāng)?shù)目蛻舳?30。
[0070]在特定的實施例中,一個或多個數(shù)據(jù)存儲器640可經(jīng)由一個或多個鏈路650與一個或多個服務(wù)器620交互鏈接。在特定的實施例中,數(shù)據(jù)存儲器640可被用于存儲各種類型的信息。在特定的實施例中,可根據(jù)具體的數(shù)據(jù)結(jié)構(gòu)來組織存儲在數(shù)據(jù)存儲器640中的信息。特定的實施例可提供使得服務(wù)器620或者客戶端630能夠管理(例如,檢索、改變、增加或者刪除)保存在數(shù)據(jù)存儲器640中的信息的接口。
[0071]在特定的實施例中,每個服務(wù)器620可并行地為一個或多個客戶端630服務(wù)并對其支持的客戶端630運行渲染。服務(wù)器620可通過對視頻流中渲染過的圖像進行編碼,以每個渲染過的圖像作為一個特定幀的方式,為其支持的特定客戶端630傳輸渲染過的圖像,并且將該視頻流傳輸給客戶端630??蛻舳?30在接收視頻流時,可解碼該視頻流以提取圖像幀用于顯示。
[0072]可通過硬件、軟件或者硬件和軟件的結(jié)合來實施特定的實施例。舉例而言但并不限于,一個或多個計算機系統(tǒng)可執(zhí)行特定的邏輯或軟件以運行本文所描述和闡明的一個或多個處理過程中的一個或多個步驟。一個或多個計算機系統(tǒng)可以是單一式或分布式的,在適當(dāng)情況下,跨多個計算機系統(tǒng)或者多個資料處理中心。本發(fā)明適用任何適當(dāng)?shù)挠嬎銠C系統(tǒng)。在特定的實施例中,運行本文中所描述和闡明的一個或多個處理過程的一個或多個步驟不必局限于一個或多個特定的地理位置并且不必具有時間限制。舉例而言但并不限于,一個或多個計算機系統(tǒng)能以“實時”、“脫機”、“批處理方式”執(zhí)行它們的功能,另外,在適當(dāng)情況下,也可以前述的“實時”、“脫機”、“批處理方式”的合適的組合執(zhí)行。在適當(dāng)情況下,一個或多個計算機系統(tǒng)可在不同的時間、在不同的場所、使用不同的處理執(zhí)行它們的一個或多個功能。在此,對邏輯的引用可包含軟件,并且在適當(dāng)情況下,反之亦然。對軟件的引用可包含一個或多個計算機程序,并且在適當(dāng)情況下,反之亦然。對軟件的引用可包含數(shù)據(jù)、指令或者它們兩者,并且在適當(dāng)情況下,反之亦然。類似地,對數(shù)據(jù)的引用可包含指令,并且在適當(dāng)情況下,反之亦然。
[0073]一個或多個計算機可讀存儲介質(zhì)可以存儲或以其他方式包含實現(xiàn)特定的實施例的軟件。在適當(dāng)情況下,計算機可讀介質(zhì)可以是能夠攜帶、通信、容納、持有、保持、傳播、保留、存儲、傳輸、輸送,或以其他方式包含軟件的任何介質(zhì)。在適當(dāng)情況下,計算機可讀介質(zhì)可以是生物的、化學(xué)的、電子的、電磁的、紅外的、磁性的、光學(xué)的、量子的或者其他適當(dāng)?shù)慕橘|(zhì),或者兩個或多個上述介質(zhì)的組合。計算機可讀介質(zhì)可包括一個或多個納米級元件或者以其他方式包含納米級設(shè)計或制造。示例性的計算機可讀存儲介質(zhì)包括但是不限于:壓縮光盤(CD)、現(xiàn)場可編程門陣列(FPGA)、軟盤、軟式光盤、硬盤、全息存儲設(shè)備、集成電路(IC)(諸如專用集成電路(ASIC ))、磁帶、高速緩沖存儲器、可編程邏輯器件(PLD )、隨機存取存儲器(RAM)設(shè)備、只讀存儲器(ROM)設(shè)備、半導(dǎo)體存儲器設(shè)備,和其他適當(dāng)?shù)挠嬎銠C可讀存儲介質(zhì)。
[0074]在適當(dāng)情況下,實現(xiàn)特定的實施例的軟件能以任何適當(dāng)?shù)木幊陶Z言(其可以是程序性的或者面向?qū)ο蟮?或者編程語言的組合來進行編寫。在適當(dāng)情況下,任何適當(dāng)類型的計算機系統(tǒng)(諸如單處理器或者多處理器計算機系統(tǒng))或者多個系統(tǒng)可執(zhí)行實施特定的實施例的軟件。在適當(dāng)情況下,通用計算機系統(tǒng)可執(zhí)行實施特定的實施例的軟件。
[0075]例如,圖7說明了適用于實施特定實施例的一個或多個部分的一個示例性的計算機系統(tǒng)700。雖然本發(fā)明描述和闡明了特定配置下的具有特定元件的特定計算機系統(tǒng)700,但本發(fā)明適用任何合適配置下的具有任何合適元件的任何合適的計算機系統(tǒng)。此外,計算機系統(tǒng)700可具有任何適當(dāng)?shù)奈锢硇问?,例如一個或多個集成電路(1C)、一個或多個印刷電路板(PCB)、一個或多個手持或者其他設(shè)備(諸如移動電話或PDA)、一個或多個個人計算機、或者一個或多個超級計算機。
[0076]系統(tǒng)總線710將計算機系統(tǒng)700的各子系統(tǒng)彼此連接起來。在此,對總線的引用包括提供常見功能的一個或多個數(shù)字信號線。本發(fā)明適用任何適當(dāng)?shù)南到y(tǒng)總線710,包括具有任何適當(dāng)?shù)目偩€架構(gòu)的任何適當(dāng)?shù)目偩€結(jié)構(gòu)(諸如一個或多個存儲器總線、一個或多個外圍總線、一個或多個本地總線、或者上述總線的組合)。示例性的總線架構(gòu)包括但不限于,工業(yè)標準結(jié)構(gòu)(ISA)總線、增強ISA (EISA)總線、微通道架構(gòu)(MCA)總線、視頻電子標準協(xié)會局部(VLB)總線、外圍元件互連(PCI)總線、PCI快速總線(PC1-X)以及圖形加速端口(AGP)總線。
[0077]計算機系統(tǒng)700包括一個或多個處理器720 (或者中央處理單元(CPU))。處理器720可包含緩存722,以用于暫時本地存儲指令、數(shù)據(jù)、或者計算機地址。處理器720與含有內(nèi)存730的一個或多個存儲設(shè)備相連。內(nèi)存730可包括隨機存取存儲器(RAM) 732和只讀存儲器(R0M)734。數(shù)據(jù)和指令可在處理器720與RAM732之間雙向傳輸。數(shù)據(jù)和指令可從R0M734單向傳輸?shù)教幚砥?20。RAM732和R0M734可包括任何適當(dāng)?shù)挠嬎銠C可讀存儲介質(zhì)。
[0078]計算機系統(tǒng)700包括與處理器720雙向連接的固定的儲存器740。固定的儲存器740可經(jīng)由儲存控制單元752連接到處理器720。固定的儲存器740可提供額外的數(shù)據(jù)存儲容量并可包括任何適當(dāng)?shù)挠嬎銠C可讀存儲介質(zhì)。固定的儲存器740可存儲操作系統(tǒng)(OS)742、一個或多個可執(zhí)行文件744、一個或多個應(yīng)用或者程序746、數(shù)據(jù)748,等等。固定的儲存器740典型地為比主存儲器慢的輔助存儲介質(zhì)(諸如硬盤)。在適當(dāng)?shù)那闆r下,可把由固定的儲存器740存儲的信息作為虛擬內(nèi)存并入內(nèi)存730。
[0079]處理器720可與多種接口連接,諸如,例如,圖形控制754、視頻接口 758、輸入接口760、輸出接口 762、以及存儲器接口 764,這些接口又可以分別連接到適當(dāng)?shù)脑O(shè)備上。示例性的輸入或輸出設(shè)備包括但是不限于,視頻顯示器、軌跡球、鼠標、鍵盤、麥克風(fēng)、觸敏顯示器、傳感器讀卡器、磁帶或者紙帶讀取器、平板電腦、手寫筆、語音或者手寫識別器、生物特征讀取器或者計算機系統(tǒng)。網(wǎng)絡(luò)接口 756可將處理器720連接到另一個計算機系統(tǒng)或者網(wǎng)絡(luò)780。通過網(wǎng)絡(luò)接口 756,處理器720可在執(zhí)行特定實施例的步驟的過程中從網(wǎng)絡(luò)780接收信息或者發(fā)送信息給網(wǎng)絡(luò)780。特定的實施例可在處理器720上單獨地運行。特定的實施例可在處理器720上和在共同操作的一個或多個遠程處理器上運行。
[0080]在網(wǎng)絡(luò)環(huán)境中,在計算機系統(tǒng)700被連接到網(wǎng)絡(luò)780的情況下,計算機系統(tǒng)700可與連接到網(wǎng)絡(luò)780的其他設(shè)備進行通信。計算機系統(tǒng)700可經(jīng)由網(wǎng)絡(luò)接口 756與網(wǎng)絡(luò)780通信。例如,計算機系統(tǒng)700可以在網(wǎng)絡(luò)接口 756上接收來自網(wǎng)絡(luò)780的呈現(xiàn)為一個或多個輸入包形式的信息(諸如來自另一個設(shè)備的請求或者響應(yīng)),并且內(nèi)存730可以存儲輸入包用于后續(xù)處理。計算機系統(tǒng)700可以將來自網(wǎng)絡(luò)接口 756的呈現(xiàn)為一個或多個輸出包形式的信息(諸如到另一個設(shè)備的請求或者響應(yīng))發(fā)送給網(wǎng)絡(luò)780,所述信息在發(fā)送之前可由內(nèi)存730存儲。根據(jù)特定需求,處理器720可訪問內(nèi)存730中的輸入或者輸出包以對其進行處理。
[0081]計算機系統(tǒng)700可具有一個或多個輸入設(shè)備766 (其可包括按鍵、鍵盤、鼠標、手寫筆等)、一個或多個輸出設(shè)備768 (其可包括一個或多個顯不器、一個或多個揚聲器、一個或多個打印機等)、一個或多個存儲設(shè)備770、以及一個或多個存儲介質(zhì)772。輸入設(shè)備766可在計算機系統(tǒng)700外部或者內(nèi)部。輸出設(shè)備768可在計算機系統(tǒng)700外部或者內(nèi)部。存儲設(shè)備770可在計算機系統(tǒng)700外部或者內(nèi)部。存儲介質(zhì)772可在計算機系統(tǒng)700外部或者內(nèi)部。
[0082]特定的實施例中包括一個或多個計算機存儲產(chǎn)品,其包括一個或多個計算機可讀存儲介質(zhì),一個或多個計算機可讀存儲介質(zhì)包含用于執(zhí)行本文所描述或者闡明的一個或多個過程中的一個或多個步驟的軟件。在特定的實施例中,介質(zhì)的一個或多個部分、軟件或者它們兩者可被特別地設(shè)計和制造以執(zhí)行本文所描述或者闡明的一個或多個處理過程中的一個或多個步驟。此外或者作為一種選擇方案,在特定的實施例中,介質(zhì)的一個或多個部分、軟件或者它們兩者在沒有針對本文所描述或者闡明的過程進行具體設(shè)計或者制造的情況下可以是通用的。示例性的計算機可讀存儲介質(zhì)包括但是不限于,CD (諸如CD-ROM)、FPGA、軟盤、軟式光盤、硬盤、全息存儲設(shè)備、IC(諸如ASIC)、磁帶、高速緩沖存儲器、PLD、RAM設(shè)備、ROM設(shè)備、半導(dǎo)體存儲器設(shè)備、及其他適當(dāng)?shù)挠嬎銠C可讀存儲介質(zhì)。在特定的實施例中,軟件可以是編譯器可生成的機器代碼或者是包含高級編碼的一個或多個文件,所述高級編碼可以由計算機通過使用譯碼器來執(zhí)行。
[0083]舉例而言但并不限于此,內(nèi)存730可包括一個或多個包含軟件的計算機可讀存儲介質(zhì),并且計算機系統(tǒng)700可提供本文所描述或者闡明的特定功能作為處理器720執(zhí)行所述軟件的結(jié)果。內(nèi)存730可存儲所述軟件,并且處理器720可執(zhí)行所述軟件。內(nèi)存730可從包含軟件的大容量存儲設(shè)備730中的計算機可讀存儲介質(zhì)讀取軟件,或者經(jīng)由網(wǎng)絡(luò)接口756從一個或多個其它的源讀取軟件。當(dāng)執(zhí)行軟件時,處理器720可運行本文所描述或者闡明的一個或多個處理過程中的一個或多個步驟,根據(jù)特定需求,其可以包括定義一個或多個存儲在內(nèi)存730中的數(shù)據(jù)結(jié)構(gòu),以及在軟件的一個或多個部分的指引下修改一個或多個數(shù)據(jù)結(jié)構(gòu)。此外或者作為一種選擇方案,由于硬連接的或在電路中所包含的邏輯,計算機系統(tǒng)700可提供本文所描述或者闡明的特定功能,所述計算機系統(tǒng)可代替軟件或者和軟件一起操作以執(zhí)行本文所描述或者闡明的一個或多個過程的一個或多個步驟。根據(jù)特定的需求,本發(fā)明可包括任何合適的硬件和軟件的組合。
[0084]在特定的實施例中,計算機系統(tǒng)700可包括一個或多個圖形處理單元(GPU) 724。在特定的實施例中,GPU724可包含一個或多個針對圖形渲染中常用的數(shù)學(xué)運算的集成電路和/或處理核。在一些實施例中,GPU724可使用專門的圖形單元指令集,而在其他的實施方式中,GPU可使用類似CPU的(例如,改進的x86)指令集。圖形處理單元724可實施許多基本圖形操作,諸如位塊傳送、紋理映射、像素著色、幀緩沖,等等。在特定的實施例中,GPU724可以是圖形加速器,通用GPU (GPGPU),或者任何其他適當(dāng)?shù)奶幚韱卧?br> [0085]在特定的實施例中,GPU724可被包含在圖形卡或顯示卡中,該圖形卡或顯示卡通過卡槽安裝在硬件系統(tǒng)架構(gòu)上。在其他實施方式中,GPU724可被集成到計算機系統(tǒng)架構(gòu)的主板上。適當(dāng)?shù)膱D形處理單??砂ɑ贏MD公司(Advanced Micro Devices)(r)AMD R7XX的 GPU 設(shè)備(Radeon (r)HD4XXX)、基于 AMD R8XX 的 GPU 設(shè)備(Radeon (r)HD7XXX)、基于英特爾公司(r) Larabee的GPU設(shè)備(未發(fā)布)、nVidia公司(r) 8系列GPU、nVidia (r) 9系列 GPU,nVidia (r)100 系列 GPU,nVidia (r)200 系列 GPU、以及任何其他的 DXll-capableGPU。
[0086]雖然本發(fā)明描述或者闡明以特定順序發(fā)生的特定操作,但是本發(fā)明適用以任何適當(dāng)?shù)捻樞虬l(fā)生的任何適當(dāng)?shù)牟僮?。此外,本發(fā)明適用以任何適當(dāng)?shù)捻樞虮恢貜?fù)一次或者多次的任何適當(dāng)?shù)牟僮鳌km然本發(fā)明描述或者闡明按順序發(fā)生的特定操作,但在合適的情況下,本發(fā)明適用基本上同時發(fā)生的任何適當(dāng)?shù)牟僮?。在合適的情況下,本文所描述或者闡明的任何適當(dāng)?shù)牟僮骰蛘卟僮黜樞蚩杀恢袛?、中止,或由另一個過程(諸如操作系統(tǒng)或者內(nèi)核)控制。動作能夠在操作系統(tǒng)環(huán)境下進行或者作為占用系統(tǒng)過程的全部或者主要部分的獨立應(yīng)用程序進行。
[0087]本發(fā)明涵蓋本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解的對本文示例性實施例所做的所有變更、替換、變化、更改和修改。同樣,在合適的情況下,所附權(quán)利要求涵蓋本領(lǐng)域技術(shù)人員可以理解的對本文示例性實施例所做的所有變更、替換、變化、更改和修改。
【權(quán)利要求】
1.一種方法,包括: 通過處理器將公共渲染資源傳輸?shù)揭粋€或多個客戶端; 通過所述處理器向所述一個或多個客戶端的每一個傳輸不同于其他傳輸?shù)目臻g位置的唯一的空間位置; 通過所述處理器向所述一個或多個客戶端的每一個傳輸一個或多個指令,以使用所述公共渲染資源及其唯一的空間位置生成渲染; 通過所述處理器從所述一個或多個客戶端的每一個接收渲染; 通過所述處理器由接收到的渲染生成合成渲染;以及 通過所述處理器將所述合成渲染傳輸給所述一個或多個客戶端。
2.如權(quán)利要求1所述的方法,其特征在于,每個唯一的空間位置是隨機生成的。
3.如權(quán)利要求1所述的方法,其特征在于,生成渲染的指令包括從唯一的空間位置在渲染資源上執(zhí)行路徑追蹤的指令。
4.如權(quán)利要求1所述的方法,其特征在于,所述渲染資源為視口狀態(tài)數(shù)據(jù)對象(VSDO)。
5.如權(quán)利要求3所述的方法,其特征在于,所述渲染為包含渲染資源在內(nèi)的部分或整個環(huán)境的光照貼圖。
6.如權(quán)利要求5所述的方法,通過所述處理器生成合成渲染包括:通過所述處理器添加接收到的光照貼圖以生成包含渲染資源在內(nèi)的部分或整個環(huán)境的合成光照貼圖。
7.如權(quán)利要求3所述的方法,其特征在于,所述渲染資源為視口狀態(tài)數(shù)據(jù)對象(VSDO),而且所述渲染為被作為路徑追蹤的結(jié)果而`計算出的漫射照明數(shù)據(jù)所增強的一組渲染資源。
8.如權(quán)利要求3所述的方法,其特征在于,所述渲染為幀,并且所述一個或多個指令還包括渲染該幀的公共視點。
9.如權(quán)利要求8所述的方法,通過所述處理器生成合成渲染包括添加接收到的幀以生成合成幀。
10.一種方法,包括: 通過處理器從服務(wù)器接收渲染資源和唯一的空間位置; 通過所述處理器從服務(wù)器接收一個或多個指令,以利用接收到的所述渲染資源和所述唯一的空間位置生成渲染; 按照所述一個或多個指令通過所述處理器生成所述渲染; 通過所述處理器將生成的渲染傳輸給所述服務(wù)器;以及 通過所述處理器從所述服務(wù)器接收合成渲染。
11.如權(quán)利要求10所述的方法,還包括: 通過所述處理器從與服務(wù)器無關(guān)的視點渲染鏡面反射照明; 通過所述處理器將渲染的鏡面反射照明與接收到的合成渲染進行結(jié)合;以及通過所述處理器將結(jié)合在一起的經(jīng)渲染的鏡面反射照明和接收的合成渲染輸出到顯示器。
12.—種系統(tǒng),包括: 圖形處理單元; 處理器;以及 用于在其上有形地存儲由所述處理器執(zhí)行的程序邏輯的存儲介質(zhì),所述程序邏輯包括: 公共渲染資源傳輸邏輯,其由所述處理器執(zhí)行,用于將公共渲染資源傳輸給一個或多個客戶端; 空間位置傳輸邏輯,其由所述處理器執(zhí)行,用于將不同于其它傳輸?shù)目臻g位置的唯一的空間位置傳輸給所述一個或多個客戶端的每一個; 指令傳輸邏輯,其由所述處理器執(zhí)行,用于將一個或多個指令傳輸給所述一個或多個客戶端的每一個,所述一個或多個指令利用公共渲染資源及其唯一的空間位置生成渲染; 接收邏輯,其由所述處理器執(zhí)行,用于從所述一個或多個客戶端的每一個接收渲染; 合成渲染生成邏輯,其由所述處理器執(zhí)行,以從接收到的渲染生成合成渲染;以及 合成渲染傳輸邏輯,其由所述處理器執(zhí)行,用于將所述合成渲染傳輸給所述一個或多個客戶端。
13.如權(quán)利要求12所述的系統(tǒng),其特征在于,每個唯一的空間位置是隨機生成的。
14.如權(quán)利要求12所述的系統(tǒng),其特征在于,所述的生成渲染的指令傳輸邏輯還包括從所述唯一的空間位置在所述渲染資源上執(zhí)行路徑追蹤的指令。
15.如權(quán)利要求12所述的系統(tǒng),其特征在于,所述渲染資源為視口狀態(tài)數(shù)據(jù)對象(VSDO)。
16.如權(quán)利要求14所述的系統(tǒng),其特征在于,所述渲染為包含所述渲染資源在內(nèi)的部分或整個環(huán)境的光照貼圖。
17.如權(quán)利要求16所述`的系統(tǒng),所述合成渲染生成邏輯還包括添加邏輯,用于添加接收到的光照貼圖以生成包含所述渲染資源在內(nèi)的部分或整個環(huán)境的合成光照貼圖。
18.如權(quán)利要求14所述的系統(tǒng),其特征在于,所述渲染資源為VSDO,而且所述渲染為被作為路徑追蹤的結(jié)果而計算出的漫射照明數(shù)據(jù)所增強的一組渲染資源。
19.如權(quán)利要求12所述的系統(tǒng),其特征在于,所述渲染為幀,并且所述一個或多個指令還包括渲染該幀的公共視點。
20.如權(quán)利要求12所述的系統(tǒng),所述合成渲染生成邏輯還包括由所述處理器執(zhí)行的添加邏輯,其用于添加接收到的幀以生成合成幀。
【文檔編號】G06F17/00GK103874991SQ201280039280
【公開日】2014年6月18日 申請日期:2012年8月9日 優(yōu)先權(quán)日:2011年8月11日
【發(fā)明者】朱利安·M·烏爾巴赫 申請人:Otoy公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
个旧市| 房产| 南丰县| 开原市| 齐齐哈尔市| 苏尼特右旗| 那曲县| 汶上县| 乌拉特前旗| 岚皋县| 西丰县| 乌兰察布市| 漠河县| 红原县| 临颍县| 同江市| 玛纳斯县| 镇宁| 定安县| 克山县| 岐山县| 台安县| 遵义市| 屏边| 左权县| 蓬安县| 呼和浩特市| 德兴市| 乌兰察布市| 泰顺县| 潍坊市| 江都市| 天镇县| 本溪市| 和政县| 南岸区| 大港区| 大荔县| 平利县| 措美县| 恭城|