專利名稱:鏡頭呈現(xiàn)方法和裝置的制作方法
對(duì)相關(guān)申請(qǐng)的交叉參考本發(fā)明涉及、并且出于各種目的并作為參考而并入以下于______提交的、代理人標(biāo)簽號(hào)為021751-000100US的待批專利申請(qǐng)《分鏡頭遮蔽方法和裝置》。
版權(quán)通知本專利文檔的揭示說(shuō)明的一個(gè)部分包含受版權(quán)保護(hù)的材料。版權(quán)所有者不反對(duì)任何人該專利文檔或該專利揭示說(shuō)明按照出現(xiàn)在專利和商標(biāo)局專利文件或記錄中的形式,進(jìn)行傳真復(fù)制,但保留所有版權(quán)權(quán)利。
背景技術(shù):
本發(fā)明涉及計(jì)算機(jī)動(dòng)畫制作。更具體地說(shuō),本發(fā)明涉及用于有效率地呈現(xiàn)有關(guān)的圖像幀的技術(shù)和裝置。
多少年來(lái),影片制造者經(jīng)常嘗試講述涉及虛假的創(chuàng)造物、遙遠(yuǎn)的地方和幻想的事物的故事。為了做到這一點(diǎn),他們常常依靠使虛假物“充滿生命”的動(dòng)畫制作技術(shù)。動(dòng)畫制作中的主要路徑中的兩條路徑傳統(tǒng)上一直包括基于繪圖的動(dòng)畫制作技術(shù)和實(shí)體動(dòng)畫制作技術(shù)。
基于繪圖的動(dòng)畫制作技術(shù)在二十世紀(jì)由諸如沃爾特·迪斯尼(Walt Disney)等影片制造者改進(jìn),并被用于諸如“白雪公主和七個(gè)小矮人”(“Snow Whiteand the Seven Dwarves”)和“Fantasia”(1940)等影片中。該動(dòng)畫制作技術(shù)通常要求藝術(shù)家將動(dòng)畫圖像手工繪制(或上色)到透明介質(zhì)或透明賽璐珞片上。在上色之后,每個(gè)透明賽璐珞片隨后將會(huì)被捕捉或被記錄到膠卷上,作為影片中的一個(gè)或多個(gè)幀。
基于實(shí)體的動(dòng)畫制作技術(shù)通常要求構(gòu)造小型布景、道具和人物。電影攝制者將會(huì)構(gòu)造布景,添加道具,并將小型人物擺好姿勢(shì)。在動(dòng)畫片繪制者滿意如何傳訊每件事物之后,將會(huì)用那個(gè)特殊的布置來(lái)拍攝一個(gè)或多個(gè)膠片幀。諸如Willis O’Brien等影片制造者為影片“King Kong”(1932)開(kāi)發(fā)實(shí)體動(dòng)畫制作技術(shù)。隨后,諸如Ray Harryhausen等動(dòng)畫片繪制者為包括“The Mighty JoeYoung”(1948)和“Clash Of The Titans”(1981)的影片改進(jìn)這些技術(shù)。
隨著計(jì)算機(jī)在二十世紀(jì)后期具有普遍的可用性,動(dòng)畫片繪制者開(kāi)始依靠計(jì)算機(jī)來(lái)輔助動(dòng)畫制作過(guò)程。這包括例如,通過(guò)為圖像上色、生成在中間的圖像(“漸變動(dòng)畫”)、等等,來(lái)使用計(jì)算機(jī)促進(jìn)基于繪圖的動(dòng)畫制作。這也包括使用計(jì)算機(jī)來(lái)增廣實(shí)體動(dòng)畫制作技術(shù)。例如,實(shí)體模型可以由計(jì)算機(jī)存儲(chǔ)器中的虛擬模型來(lái)表示,并可以被操縱。
計(jì)算機(jī)輔助動(dòng)畫制作(CAA)行業(yè)中具有開(kāi)拓精神的公司之一是PixarIncorporated。Pixar既開(kāi)發(fā)了特別為CAA設(shè)計(jì)的計(jì)算平臺(tái),又開(kāi)發(fā)了現(xiàn)在稱作“RenderMan”的動(dòng)畫制作軟件。RenderMan在動(dòng)畫制作行業(yè)中被接收得特別好,并利用兩個(gè)Academy Awards來(lái)加以識(shí)別。
本發(fā)明的指定發(fā)明者聯(lián)合開(kāi)發(fā)了原始RenderMan軟件。在此期間,他提出了影響該軟件的操作的若干工程假設(shè)。一項(xiàng)假設(shè)是被存儲(chǔ)在存儲(chǔ)器中的場(chǎng)景的幾何說(shuō)明相對(duì)較小。該幾何場(chǎng)景說(shuō)明通常包括位置、對(duì)象、對(duì)象放置等的幾何說(shuō)明。指定的發(fā)明者也假設(shè)輸出圖像幀的分辨率很大,并且無(wú)法被經(jīng)濟(jì)地存儲(chǔ)在計(jì)算機(jī)程序存儲(chǔ)器中。
按照這些假設(shè),到呈現(xiàn)幀的時(shí)候,幾何場(chǎng)景數(shù)據(jù)將首先從磁盤存儲(chǔ)器移至程序存儲(chǔ)器。然后,該幀將被再分成一系列較小的幀部分、稱謂桶、以及出現(xiàn)在桶中的任何對(duì)象的各個(gè)部分,隨后將會(huì)被呈現(xiàn)。然后,為該幀內(nèi)剩余的桶重復(fù)這個(gè)過(guò)程,直到呈現(xiàn)該幀為止。這樣,在開(kāi)始下一個(gè)幀之前,該過(guò)程將在一個(gè)幀內(nèi)呈現(xiàn)所有對(duì)象。在某些方面,RenderMan的動(dòng)畫制作過(guò)程類似于上述傳統(tǒng)的動(dòng)畫制作技術(shù),體現(xiàn)在每次將呈現(xiàn)一個(gè)幀。雖然并行處理技術(shù)可用并被實(shí)施,但是,將仍然按不同于其他幀的方式來(lái)單獨(dú)地、個(gè)別地呈現(xiàn)每個(gè)幀。
按照上述內(nèi)容,本發(fā)明的發(fā)明者已認(rèn)識(shí)到需要在動(dòng)畫制作軟件領(lǐng)域內(nèi)進(jìn)一步增強(qiáng),以促進(jìn)制作動(dòng)畫影片的過(guò)程。
發(fā)明概述本發(fā)明涉及計(jì)算機(jī)動(dòng)畫制作領(lǐng)域。更具體地說(shuō),本發(fā)明涉及用于有效率地呈現(xiàn)有關(guān)的圖像幀的技術(shù)和裝置。
本發(fā)明表示計(jì)算機(jī)輔助動(dòng)畫制作領(lǐng)域內(nèi)的呈現(xiàn)中的范例變化。發(fā)明者已認(rèn)識(shí)到通過(guò)使用不同的工程假設(shè)集,他們可以大大減少呈現(xiàn)時(shí)間。其中的一項(xiàng)假設(shè)是對(duì)于存儲(chǔ)在計(jì)算機(jī)程序存儲(chǔ)器中而言,場(chǎng)景說(shuō)明大且費(fèi)用昂貴;另一項(xiàng)假設(shè)是圖像分辨率“小”,并且,圖像(幀)可以被容易地存儲(chǔ)在計(jì)算機(jī)程序存儲(chǔ)器中。舉例來(lái)講,典型的場(chǎng)景說(shuō)明可能是大約300千兆字節(jié),圖像可能是大約300兆字節(jié)。
通過(guò)做出這些假設(shè),發(fā)明者已認(rèn)識(shí)到他們現(xiàn)在可以在一系列有關(guān)的圖像(“分鏡頭”)中有效率地呈現(xiàn)對(duì)象,以減少總呈現(xiàn)時(shí)間。每個(gè)圖像在這里也被稱作“幀”或“圖像幀”。為了實(shí)現(xiàn)這個(gè)新穎的概念,可使幾何場(chǎng)景數(shù)據(jù)從硬盤流傳送到呈現(xiàn)引擎——每次一個(gè)對(duì)象。然后,該呈現(xiàn)引擎為其中出現(xiàn)該對(duì)象的分鏡頭中的所有圖像幀呈現(xiàn)每個(gè)對(duì)象。
例如,首先從磁盤驅(qū)動(dòng)器中檢索對(duì)象,并且,呈現(xiàn)引擎為該對(duì)象確定多邊形切割模式。接下來(lái),呈現(xiàn)引擎為對(duì)象執(zhí)行該多邊形切割模式上的位移映射。然后,呈現(xiàn)引擎對(duì)對(duì)象執(zhí)行某些時(shí)不變遮蔽計(jì)算——即對(duì)于分鏡頭中的各個(gè)幀的對(duì)象而言是共同的遮蔽計(jì)算。這些前述的計(jì)算在這里被稱為“分鏡頭特定”、“分鏡頭不變式”或“時(shí)不變”呈現(xiàn)。例如,關(guān)于包括80個(gè)幀的分鏡頭,呈現(xiàn)引擎為所有80個(gè)幀的對(duì)象執(zhí)行遮蔽計(jì)算一次,而不是為80個(gè)不同的幀內(nèi)的對(duì)象執(zhí)行分鏡頭不變遮蔽計(jì)算80次。在本例的另一個(gè)實(shí)例中,呈現(xiàn)引擎執(zhí)行遮蔽計(jì)算少于80次。
接下來(lái),呈現(xiàn)引擎計(jì)算“圖像特定”或“幀特定”呈現(xiàn)(例如,時(shí)變遮蔽計(jì)算)。關(guān)于每個(gè)幀,分鏡頭特定呈現(xiàn)結(jié)果和幀特定呈現(xiàn)結(jié)果隨后被組合起來(lái),以形成最后的圖像幀??梢源谢蜻M(jìn)發(fā)地執(zhí)行這些遮蔽操作。
根據(jù)本發(fā)明的一個(gè)方面,描述一種用于計(jì)算機(jī)系統(tǒng)的方法。一項(xiàng)技術(shù)包括接收要被呈現(xiàn)在第一圖像和第二圖像中的對(duì)象的幾何說(shuō)明,并且,為關(guān)于該第一圖像和關(guān)于該第二圖像的對(duì)象執(zhí)行多項(xiàng)呈現(xiàn)操作。在各種方法中,這多項(xiàng)呈現(xiàn)操作包括第一多項(xiàng)呈現(xiàn)操作和至少一項(xiàng)第二呈現(xiàn)操作——其中,關(guān)于第一圖像的對(duì)象的第一呈現(xiàn)操作和關(guān)于第二圖像的對(duì)象的第二呈現(xiàn)操作實(shí)質(zhì)上是類似的。為第一圖像執(zhí)行一次這第一多項(xiàng)呈現(xiàn)操作,并為第二圖像執(zhí)行一次這第一多項(xiàng)呈現(xiàn)操作。另外,為第一圖像和第二圖像都執(zhí)行一次該第二呈現(xiàn)操作。
根據(jù)本發(fā)明的另一個(gè)方面,描述一種用于在多個(gè)圖像中呈現(xiàn)多個(gè)對(duì)象的方法。各種技術(shù)包括從關(guān)于來(lái)自這多個(gè)圖像的每個(gè)圖像的這多個(gè)對(duì)象中呈現(xiàn)第一對(duì)象。該呈現(xiàn)包括為關(guān)于來(lái)自這多個(gè)圖像的每個(gè)圖像的該第一對(duì)象執(zhí)行的第一組呈現(xiàn)操作、以及為關(guān)于來(lái)自這多個(gè)圖像的一個(gè)以上的圖像的該第一對(duì)象執(zhí)行一次的第二組呈現(xiàn)操作。
根據(jù)本發(fā)明的再另一個(gè)方面,揭示一種用于在多個(gè)圖像中呈現(xiàn)多個(gè)對(duì)象的計(jì)算機(jī)系統(tǒng)。該計(jì)算機(jī)系統(tǒng)包括被配置成存儲(chǔ)包括N個(gè)圖像的這多個(gè)圖像的存儲(chǔ)器、以及處理器。該處理器被配置成為來(lái)自這多個(gè)對(duì)象的第一對(duì)象執(zhí)行第一組呈現(xiàn)操作N次,并為來(lái)自這多個(gè)圖像的每個(gè)圖像執(zhí)行第一組呈現(xiàn)操作一次。該處理器也被配置成對(duì)于這多個(gè)圖像為來(lái)自這多個(gè)對(duì)象的該第一對(duì)象執(zhí)行第二組呈現(xiàn)操作M次,其中,M<N。
根據(jù)本發(fā)明的一個(gè)方面,描述一種用于遮蔽包括第一圖像和第二圖像的多個(gè)圖像中的對(duì)象的方法。一項(xiàng)技術(shù)包括接收第一對(duì)象的幾何說(shuō)明,并且,響應(yīng)于第一對(duì)象的幾何說(shuō)明,為第一圖像和第二圖像執(zhí)行一次關(guān)于第一對(duì)象的第一遮蔽操作集。方法也可以包括為第一圖像中的第一對(duì)象執(zhí)行第二遮蔽操作集,并且,為第二圖像中的第一對(duì)象執(zhí)行第三遮蔽操作集。各種方法也包括組合關(guān)于第一對(duì)象的第一遮蔽操作集的結(jié)果和關(guān)于第一對(duì)象的第二遮蔽操作集的結(jié)果,以確定第一圖像中的第一對(duì)象的遮蔽值;并且,組合關(guān)于第一對(duì)象的第一遮蔽操作集的結(jié)果和關(guān)于第一對(duì)象的第三遮蔽操作集的結(jié)果,以確定第二圖像中的第一對(duì)象的遮蔽值。
根據(jù)本發(fā)明的另一個(gè)方面,描述一種用于遮蔽N數(shù)量的圖像中的多個(gè)對(duì)象的方法。一項(xiàng)技術(shù)包括一次為來(lái)自關(guān)于N數(shù)量的圖像的多個(gè)對(duì)象的對(duì)象執(zhí)行遮蔽計(jì)算。另外,響應(yīng)于關(guān)于該對(duì)象的幾何數(shù)據(jù),來(lái)執(zhí)行關(guān)于該對(duì)象的遮蔽計(jì)算的第一集合不超過(guò)M次——其中,M比N小。
根據(jù)本發(fā)明的再另一個(gè)方面,揭示一種用于遮蔽包括處理器的計(jì)算機(jī)系統(tǒng)中的多個(gè)圖像中的對(duì)象的計(jì)算機(jī)程序產(chǎn)品。該計(jì)算機(jī)程序產(chǎn)品可以包括指示該處理器為N數(shù)量的圖像執(zhí)行關(guān)于第一對(duì)象的第一遮蔽操作集M次的代碼、指示該處理器為該N數(shù)量的圖像執(zhí)行關(guān)于該第一對(duì)象的第二遮蔽操作集N次的代碼、以及指示該處理器組合關(guān)于第一對(duì)象的該第一遮蔽操作集和關(guān)于第一對(duì)象的該第二遮蔽操作集以便為N數(shù)量的圖像確定關(guān)于第一對(duì)象的遮蔽值的代碼。在各個(gè)實(shí)施例中,M<N。這些計(jì)算機(jī)代碼通常駐留在諸如易失性存儲(chǔ)器、光存儲(chǔ)器、硬盤驅(qū)動(dòng)器、網(wǎng)絡(luò)存儲(chǔ)驅(qū)動(dòng)器、或類似物等有形介質(zhì)上。
附圖簡(jiǎn)述為了更充分地理解本發(fā)明,可參考附圖??衫斫膺@些附圖將不被認(rèn)為是本發(fā)明的范圍內(nèi)的限制,通過(guò)使用附圖,來(lái)額外詳細(xì)地描述目前所描述的實(shí)施例以及目前所理解的本發(fā)明的最佳模式。在這些附圖中
圖1展示了根據(jù)本發(fā)明的一個(gè)實(shí)施例的呈現(xiàn)系統(tǒng)的框圖;圖2是展示本申請(qǐng)中所使用的術(shù)語(yǔ)的圖表;圖3A-C展示了根據(jù)本發(fā)明的實(shí)施例的流程的框圖;以及,圖4A-B展示了本發(fā)明的實(shí)施例的例子。
發(fā)明詳述圖1是根據(jù)本發(fā)明的實(shí)施例的典型的計(jì)算機(jī)呈現(xiàn)系統(tǒng)100的框圖。
在本實(shí)施例中,計(jì)算機(jī)系統(tǒng)100通常包括監(jiān)視器110、計(jì)算機(jī)120、鍵盤130、用戶輸入設(shè)備140、網(wǎng)絡(luò)接口150等。
在本實(shí)施例中,用戶輸入設(shè)備140通常被具體表現(xiàn)為計(jì)算機(jī)鼠標(biāo)、跟蹤球、跟蹤板、無(wú)線電遙控等。用戶輸入設(shè)備140通常允許用戶選擇出現(xiàn)在監(jiān)視器110上的對(duì)象、圖標(biāo)、文本等。
網(wǎng)絡(luò)接口150的實(shí)施例通常包括以太網(wǎng)卡、調(diào)制解調(diào)器(電話、衛(wèi)星、電纜、ISDN)、(異步)數(shù)字訂戶線(DSL)單元等。網(wǎng)絡(luò)接口150通常被耦合到如所示的計(jì)算機(jī)網(wǎng)絡(luò)。在其他實(shí)施例中,網(wǎng)絡(luò)接口150在物理上可以被集成在計(jì)算機(jī)120的母板上,可以是軟件程序(例如,軟DSL)或類似物。
計(jì)算機(jī)120通常包括常見(jiàn)的計(jì)算機(jī)組件(例如,處理器160)和記憶存儲(chǔ)設(shè)備(例如,隨機(jī)存取存儲(chǔ)器(RAM)170、磁盤驅(qū)動(dòng)器180、以及互連以上組件的系統(tǒng)總線190)。
在一個(gè)實(shí)施例中,計(jì)算機(jī)120是具有多個(gè)微處理器(例如,來(lái)自英特爾公司的XeonTM微處理器)的PC兼容計(jì)算機(jī)。另外,在本實(shí)施例中,計(jì)算機(jī)120通常包括基于UNIX的操作系統(tǒng)。
RAM 170和磁盤驅(qū)動(dòng)器180是用于存儲(chǔ)數(shù)據(jù)、音頻/視頻文件、計(jì)算機(jī)程序、小應(yīng)用程序解釋程序或編譯程序、虛擬機(jī)的有形介質(zhì)的例子這里所描述的本發(fā)明的實(shí)施例包括幾何場(chǎng)景數(shù)據(jù)、對(duì)象數(shù)據(jù)文件、遮蔽形成器(shader)描述符、呈現(xiàn)引擎、輸出圖像文件、紋理映射、位移映射等。其他類型的有形介質(zhì)包括軟盤、可移動(dòng)硬盤、光存儲(chǔ)介質(zhì)(例如,CD-ROMS和條形碼)、半導(dǎo)體存儲(chǔ)器(例如,快閃存儲(chǔ)器、只讀存儲(chǔ)器(ROMS)、電池支持的易失性存儲(chǔ)器、網(wǎng)絡(luò)化存儲(chǔ)設(shè)備等)。
在本實(shí)施例中,計(jì)算機(jī)系統(tǒng)100也可以包括啟用網(wǎng)絡(luò)上的通信(例如,HTTP、TCP/IP、RTP/RTSP協(xié)議等)的軟件。在本發(fā)明的選擇性實(shí)施例中,也可以使用其他通信軟件和傳輸協(xié)議(例如,IPX、UDP或類似物)。
圖1表示能夠具體表現(xiàn)本發(fā)明的計(jì)算機(jī)呈現(xiàn)系統(tǒng)。掌握該技術(shù)領(lǐng)域的普通技能的人將會(huì)容易明白許多其他的硬件和軟件配置適用于本發(fā)明。例如,預(yù)期使用其他微處理器(例如,PentiumTM或ItaniumTM微處理器;來(lái)自AdvancedMicro Devices公司的OpteronTM或AthlonXPTM微處理器;來(lái)自摩托羅拉公司的PowerPC G3TM、G4TM微處理器;等等)。另外,預(yù)期其他類型的操作系統(tǒng)(例如,諸如來(lái)自微軟公司的WindowsXP、WindowsNT或類似物的Windows操作系統(tǒng);來(lái)自Sun微系統(tǒng)公司的Solaris;來(lái)自蘋果計(jì)算機(jī)公司的LINUX、UNIX、MAC OS;等等)。
圖2是展示本申請(qǐng)中所使用的術(shù)語(yǔ)的圖表。特別是,如所展示的,為每個(gè)圖像定義虛擬照相機(jī)200。虛擬照相機(jī)200與圖像平面210相關(guān)聯(lián),圖像平面210定義該圖像將被記錄到那里的二維平面。從圖像平面210那里,定義屏幕窗口220,該屏幕窗口220定義要被呈現(xiàn)的圖像的外部邊界。像素位置230隨后被定義在屏幕窗口220內(nèi)。
在本發(fā)明的一個(gè)實(shí)施例中,屏幕窗口220具有2000個(gè)水平像素和1000個(gè)垂直像素的像素分辨率。在本發(fā)明的其他實(shí)施例中,設(shè)想了水平或垂直方向上的較高或較低像素分辨率。
圖3A-C展示了根據(jù)本發(fā)明的實(shí)施例的流程的框圖。更具體地說(shuō),該框圖揭示了一個(gè)過(guò)程——其中,實(shí)質(zhì)上同時(shí)或在時(shí)間上接近地呈現(xiàn)動(dòng)畫的單獨(dú)的幀(圖像)。
在本實(shí)施例中,實(shí)質(zhì)上同時(shí)要被呈現(xiàn)的這些單獨(dú)的幀被稱為圖像的“分鏡頭”。分鏡頭可以包括動(dòng)畫的兩個(gè)或更多幀,并且可以包括時(shí)間上相繼的幀,可以包括表示相同時(shí)間的幀(但用不同的照相機(jī)、照明等),或者可以包括在時(shí)間上分開(kāi)的幀。
在本發(fā)明的一個(gè)實(shí)施例中,在步驟300中,過(guò)程始于要被呈現(xiàn)的圖像的規(guī)定。在這個(gè)例子中,圖像規(guī)定包括一個(gè)或多個(gè)場(chǎng)景背景的規(guī)定;這些圖像中的對(duì)象和紋理的規(guī)定;要被應(yīng)用于這些圖像的照明的規(guī)定;對(duì)象放置數(shù)據(jù)的規(guī)定;關(guān)于場(chǎng)景中的對(duì)象、位移映射等的動(dòng)畫參數(shù)的規(guī)定。通常,圖像由一個(gè)或多個(gè)動(dòng)畫片繪制者使用常規(guī)三維建模技術(shù)和當(dāng)前可用的軟件來(lái)加以規(guī)定。例如,可以使用諸如Alias|Wavefront’s MayaTM軟件等軟件來(lái)規(guī)定場(chǎng)景。
在本例中,背景的規(guī)定通常包括以上所描述的對(duì)象被放入其中的位置或“布景”的幾何規(guī)定。該幾何規(guī)定可以包括幾何邊界、一幅或多幅“環(huán)境”映射圖等。這些環(huán)境映射圖可以是靜態(tài)的,或者可以隨時(shí)間的推移而改變。在本發(fā)明的例子中,布景可以表示放置對(duì)象的任何位置(例如,房間、內(nèi)部位置、外部位置等)。
動(dòng)畫片繪制者將對(duì)象放入或定位在布景中。這些對(duì)象可以是場(chǎng)景內(nèi)的無(wú)生命的對(duì)象(例如,家具、植物、車輛等)。此外,這些對(duì)象可以是在場(chǎng)景內(nèi)移動(dòng)或被移動(dòng)的對(duì)象(例如,人物、椅子、門等)。在本實(shí)施例中,對(duì)象可以從簡(jiǎn)單到復(fù)雜——一些對(duì)象用一個(gè)或多個(gè)較小的對(duì)象構(gòu)成。在一些實(shí)施例中,只可以從存儲(chǔ)器中檢索對(duì)象的一些部分,并且,在被呈現(xiàn)之前,動(dòng)態(tài)地創(chuàng)建這些對(duì)象的其余部分。僅僅作為例子,影片Monsters公司TM中的人物SulleyTM包括超過(guò)三百萬(wàn)個(gè)毛發(fā)對(duì)象,但是,只有大約一百萬(wàn)個(gè)毛發(fā)對(duì)象被存儲(chǔ)在存儲(chǔ)器中——其余的兩百萬(wàn)個(gè)毛發(fā)對(duì)象在運(yùn)行中生成。在這類情況中,動(dòng)態(tài)創(chuàng)建的對(duì)象被稱為“過(guò)程式生成的對(duì)象”。
在本實(shí)施例中,通常彼此分開(kāi)地存儲(chǔ)對(duì)象。也就是說(shuō),每個(gè)對(duì)象可以被存儲(chǔ)在其自己的文件中,并由計(jì)算機(jī)文件系統(tǒng)來(lái)檢索。在本發(fā)明的其他實(shí)施例中,關(guān)于一個(gè)以上的對(duì)象的數(shù)據(jù)可以被包括入單個(gè)文件。
圖像中的對(duì)象規(guī)定也可以包括這類對(duì)象的表面處理規(guī)定。例如,圖像中的單個(gè)對(duì)象可以與多項(xiàng)表面處理相關(guān)聯(lián)(例如,規(guī)定基礎(chǔ)紋理、塵土、磨損、突出、位移、數(shù)學(xué)方程式等的紋理映射)。在本實(shí)施例中,這些表面處理通常被存儲(chǔ)為與對(duì)象分開(kāi)的文件。在其他實(shí)施例中,對(duì)象和相關(guān)聯(lián)的表面處理可以被集成到單個(gè)文件中。
在圖像中放置或定位對(duì)象的位置通常由動(dòng)畫片繪制者來(lái)規(guī)定。關(guān)于在圖像內(nèi)不移動(dòng)的一些對(duì)象,放置位置是靜態(tài)的——即分鏡頭不變的。但是,關(guān)于在分鏡頭中移動(dòng)的對(duì)象,放置數(shù)據(jù)通常表示關(guān)于對(duì)象的原始位置和/或方位。然后,由動(dòng)畫參數(shù)來(lái)確定當(dāng)移動(dòng)對(duì)象在不同的圖像內(nèi)移動(dòng)時(shí)它的位置。
在本實(shí)施例中,每個(gè)場(chǎng)景通常包括光源和照明參數(shù)的規(guī)定。照明數(shù)據(jù)可以包括光源、光的類型(例如,漫射光、點(diǎn)光)、照明位置、照明方向等。該照明數(shù)據(jù)可以被存儲(chǔ)在單個(gè)文件或多個(gè)文件內(nèi)。
在這個(gè)例子中,關(guān)于在場(chǎng)景中移動(dòng)的對(duì)象的動(dòng)畫數(shù)據(jù)通常可以包括移動(dòng)對(duì)象最初被放置在該場(chǎng)景中的何處的規(guī)定,并且包括關(guān)于特殊對(duì)象在圖像內(nèi)的何處移動(dòng)的數(shù)據(jù)。在本實(shí)施例中,該數(shù)據(jù)可以規(guī)定空間中特殊的點(diǎn),或者可以規(guī)定確定空間中的點(diǎn)的方程式,如此等等。許多常規(guī)方法可以被用來(lái)規(guī)定動(dòng)畫數(shù)據(jù)。在這個(gè)實(shí)施例中,動(dòng)畫數(shù)據(jù)可以被存儲(chǔ)在單獨(dú)的文件中,或者可以與上述數(shù)據(jù)元素中的一個(gè)或多個(gè)數(shù)據(jù)元素相組合。
在圖3A中,所展示的下一個(gè)步驟是在步驟310中,識(shí)別將構(gòu)成圖像的“分鏡頭”的多個(gè)圖像。在一個(gè)實(shí)施例中,該分鏡頭可以包括順序幀。在其他實(shí)施例中,分鏡頭可以包括使用相同的幾何背景和對(duì)象但在不同的時(shí)間(非順序幀)的多個(gè)圖像,分鏡頭可以包括使用相同的幾何背景和對(duì)象但來(lái)自不同的照相機(jī)角度(“角度”)的多個(gè)圖像。在另一個(gè)實(shí)施例中,分鏡頭可以包括使用具有“歸為同類的”呈現(xiàn)參數(shù)的相同的幾何數(shù)據(jù)和對(duì)象的多個(gè)圖像。換言之,分鏡頭中的這些圖像可能具有幾乎實(shí)質(zhì)上相同的呈現(xiàn)參數(shù),但具有歸為同類的一個(gè)(或多個(gè))呈現(xiàn)參數(shù),這在常規(guī)攝影術(shù)(例如,+1EV、+0EV、-1EV調(diào)整)中是常見(jiàn)的。在本發(fā)明的實(shí)施例中,可歸為同類的呈現(xiàn)參數(shù)可以包括一個(gè)或多個(gè)光強(qiáng)度的變化、表面紋理構(gòu)造的變化(例如,表面粗糙度)、光位置的變化、“擋光板”光邊界的變化、紋理噪聲頻率的變化(具有頻率控制的基于過(guò)程的紋理的噪聲)、等等。在這些情況中,可以為分鏡頭執(zhí)行切割、表面隱藏、以及大部分的遮蔽操作等一次。在以下的實(shí)施例中,分鏡頭內(nèi)的圖像通常共享類似的幾何場(chǎng)景數(shù)據(jù)、對(duì)象數(shù)據(jù)等。
在這個(gè)實(shí)施例中,在步驟320中,“第一對(duì)象”被呈現(xiàn)系統(tǒng)估計(jì)為最接近關(guān)于分鏡頭中的不同圖像的圖像平面的對(duì)象。在本實(shí)施例中,呈現(xiàn)系統(tǒng)可以根據(jù)對(duì)象放置數(shù)據(jù)來(lái)估計(jì)哪個(gè)對(duì)象最接近照相機(jī)。在其他實(shí)施例中,任何對(duì)象都可以被選為“第一對(duì)象”,例如,最不復(fù)雜的對(duì)象、出現(xiàn)在分鏡頭中的最多數(shù)量的圖像中的對(duì)象、被選擇的對(duì)象(例如,主要人物)等。
在本發(fā)明的一個(gè)實(shí)施例中,隨后在步驟330中請(qǐng)求對(duì)象。在這個(gè)例子中,該請(qǐng)求可能是關(guān)于來(lái)自包括該對(duì)象和/或其他對(duì)象的本地磁盤驅(qū)動(dòng)器或網(wǎng)絡(luò)驅(qū)動(dòng)器的文件。由于該對(duì)象可以由兩個(gè)或更多子對(duì)象構(gòu)成,因此,數(shù)據(jù)文件可以包括多個(gè)子對(duì)象的規(guī)定。在本實(shí)施例中,典型的場(chǎng)景說(shuō)明很大,僅僅舉例來(lái)講,在300千兆字節(jié)或更大的數(shù)量級(jí)。相應(yīng)地,發(fā)明者已確定每次可以從場(chǎng)景說(shuō)明數(shù)據(jù)中處理一個(gè)對(duì)象。
響應(yīng)于該請(qǐng)求,在步驟340中,將對(duì)象存儲(chǔ)在程序存儲(chǔ)器中。在一個(gè)實(shí)施例中,使用流技術(shù),以便呈現(xiàn)引擎可以開(kāi)始處理對(duì)象,盡管整個(gè)數(shù)據(jù)文件還沒(méi)有被存儲(chǔ)器完全地檢索。在其他實(shí)施例中,在從存儲(chǔ)器中檢索它之后,呈現(xiàn)引擎開(kāi)始處理對(duì)象。對(duì)象通常由一個(gè)或多個(gè)幾何或建模圖元構(gòu)成。
在本發(fā)明的一個(gè)實(shí)施例中,根據(jù)對(duì)象的最初規(guī)定來(lái)動(dòng)態(tài)地確定對(duì)象。例如,對(duì)象的各個(gè)部分可以被規(guī)定并被存儲(chǔ)在網(wǎng)絡(luò)驅(qū)動(dòng)器或類似物上。接下來(lái),當(dāng)請(qǐng)求對(duì)象時(shí),可以使用被規(guī)定的對(duì)象的這各個(gè)部分來(lái)動(dòng)態(tài)地構(gòu)造對(duì)象的其余部分。
在本實(shí)施例中,在步驟350中,一旦規(guī)定對(duì)象,就將幾何圖元分解成多邊形網(wǎng)格或柵格。“將對(duì)象分解成各個(gè)小多邊形”的過(guò)程被稱為“切割”,這是該行業(yè)中可理解的??梢允褂迷S多常規(guī)技術(shù)來(lái)切割對(duì)象,例如,切割可以將對(duì)象劃分為各個(gè)三角形、四邊多邊形等。在本實(shí)施例中,這些小多邊形中的每個(gè)多邊形被設(shè)置成具有圖像平面中的像素的近似相同的尺寸,盡管在其他實(shí)施例中,尺寸可能更小或更大些。在這個(gè)例子中,小多邊形的頂點(diǎn)被識(shí)別,并且,頂點(diǎn)的坐標(biāo)位置被存儲(chǔ)在程序存儲(chǔ)器或磁盤存儲(chǔ)器中。
在本實(shí)施例中,只有當(dāng)對(duì)象是其離關(guān)于分鏡頭中的所有圖像的圖像平面最近的位置時(shí),才較佳地切割對(duì)象一次。通過(guò)這樣做,當(dāng)對(duì)象出現(xiàn)在分鏡頭中的其他圖像中時(shí),呈現(xiàn)系統(tǒng)不需要重新切割該對(duì)象。在其他實(shí)施例中,如果分鏡頭中不同的圖像之間在對(duì)象的尺寸上存在很大差異,那么,呈現(xiàn)系統(tǒng)可以確定重新切割對(duì)象可能是有利的。圖4A-B展示了這些實(shí)施例的例子。
圖4A-B展示了本發(fā)明的實(shí)施例的例子。在圖4A中,對(duì)象出現(xiàn)在一個(gè)幀內(nèi)是作為對(duì)象500,出現(xiàn)在另一個(gè)幀內(nèi)是作為對(duì)象510??梢?jiàn),對(duì)象500已使用常規(guī)算法加以切割,并且,最后得到的多邊形柵格包括56個(gè)頂點(diǎn)。在一個(gè)實(shí)施例中,關(guān)于圖像中的對(duì)象410,呈現(xiàn)系統(tǒng)可以使用相同的多邊形柵格(56個(gè)頂點(diǎn))。通過(guò)這樣做,當(dāng)呈現(xiàn)對(duì)象時(shí),呈現(xiàn)引擎不需要重新切割對(duì)象。
在另一個(gè)實(shí)施例中,呈現(xiàn)系統(tǒng)可以選擇性地重新切割先前切割過(guò)的對(duì)象。例如,在圖4B中,對(duì)象出現(xiàn)在一個(gè)幀內(nèi)是作為對(duì)象520,出現(xiàn)在另一個(gè)幀內(nèi)是作為對(duì)象530。對(duì)象520的最初切割由規(guī)定98個(gè)頂點(diǎn)的多邊形柵格來(lái)示出。然后,當(dāng)在分鏡頭內(nèi)的其他圖像中呈現(xiàn)對(duì)象時(shí),可以使用該切割。但是,在一些情況中,呈現(xiàn)引擎可以確定應(yīng)該重新切割對(duì)象。例如,如果對(duì)象看起來(lái)是作為關(guān)于分鏡頭中的大量圖像的對(duì)象530,那么,呈現(xiàn)引擎可以確定被用于對(duì)象520的切割對(duì)于大多數(shù)圖像而言是不需要的。相應(yīng)地,如對(duì)象530(26個(gè)頂點(diǎn))中所展示的,呈現(xiàn)引擎可以重新切割對(duì)象,并將該切割用于分鏡頭中不同的圖像中的對(duì)象。這類實(shí)施例將會(huì)減少對(duì)象的呈現(xiàn)時(shí)間。
返回到圖1,呈現(xiàn)引擎接下來(lái)對(duì)對(duì)象執(zhí)行位移映射操作。位移映射的概念是由本申請(qǐng)的指定發(fā)明者Robert L.Cook首先采用的。利用位移映射,可以容易地為對(duì)象表面提供微小的幾何表面細(xì)節(jié)(例如,突出、凹槽、表層、粗糙度、或甚至圖案)。
在本實(shí)施例中,呈現(xiàn)引擎實(shí)施以下進(jìn)一步描述的位移“遮蔽形成器”,以執(zhí)行該映射。在步驟360中,在操作中,呈現(xiàn)引擎從以上的切割過(guò)程中檢索頂點(diǎn)P,然后檢索偏移向量集。接下來(lái),在步驟370中,呈現(xiàn)引擎根據(jù)各自的偏移向量來(lái)偏置頂點(diǎn)P的位置。在本實(shí)施例中,該偏移向量集可能是隨機(jī)噪聲類型圖案、方程式、預(yù)定圖案、或類似物。另外,這些偏移向量可能沿對(duì)象的表面(x,y方向),與各自的頂點(diǎn)P正交(+/-z方向),或類似的情況。
在以下所描述的遮蔽過(guò)程期間,根據(jù)頂點(diǎn)P的位移后位置,為每個(gè)頂點(diǎn)P計(jì)算法向量N。在本實(shí)施例中,這些位移后向量位置可以被存儲(chǔ)在程序存儲(chǔ)器中或被存儲(chǔ)在磁盤上。
在本發(fā)明的一個(gè)實(shí)施例中,當(dāng)呈現(xiàn)分鏡頭中的所有圖像時(shí),很少數(shù)量的(有時(shí)只有一個(gè))切割方案和一個(gè)位移后頂點(diǎn)集被用于對(duì)象。本發(fā)明的發(fā)明者已發(fā)現(xiàn)當(dāng)呈現(xiàn)關(guān)于分鏡頭中的多個(gè)圖像的對(duì)象時(shí),如果從一個(gè)圖像到另一個(gè)圖像使用切割方案和位移后頂點(diǎn)的不同集合,那么,可能會(huì)在對(duì)象的表面上出現(xiàn)不合需要的效果。例如,如果切割比率對(duì)于分鏡頭中不同的圖像而言是不同的,那么,表面可能似乎是波動(dòng)或移動(dòng)的。相應(yīng)地,為了減少分鏡頭內(nèi)對(duì)象的表面中的非意向的變更,在呈現(xiàn)對(duì)象的過(guò)程中只使用一個(gè)切割比率。
在其他實(shí)施例中,可以使用位移后偏移向量的一個(gè)以上的集合來(lái)表示分鏡頭中不同的圖像中的對(duì)象。在圖4B所展示的例子中,當(dāng)對(duì)象在分鏡頭內(nèi)不同的圖像內(nèi)動(dòng)態(tài)地更改尺寸時(shí),呈現(xiàn)引擎可以為該對(duì)象使用不同的切割方案以及不同的位移后偏移頂點(diǎn)集。例如,當(dāng)對(duì)象接近于圖像平面(例如,對(duì)象520)時(shí),呈現(xiàn)引擎可以為分鏡頭中一個(gè)以上的圖像中的對(duì)象使用第一位移后偏移頂點(diǎn)集。另外,當(dāng)對(duì)象遠(yuǎn)離圖像平面(例如,對(duì)象530)時(shí),呈現(xiàn)引擎可以為分鏡頭中一個(gè)以上的圖像中的對(duì)象使用第二位移后偏移頂點(diǎn)集。
在本發(fā)明的其他實(shí)施例中,也可以實(shí)施塊形映射技術(shù)。例如,通過(guò)使用塊形映射技術(shù),可修改與每個(gè)各自的頂點(diǎn)P相關(guān)聯(lián)的法線N,以形成修改過(guò)的法線集。該修改過(guò)的法線集隨后被呈現(xiàn)引擎用來(lái)計(jì)算分鏡頭中的圖像中的對(duì)象的外觀。但是,與位移映射對(duì)比而言,頂點(diǎn)P實(shí)際上沒(méi)有被移動(dòng)或移位。在本實(shí)施例中,以上操作(步驟340-370)是時(shí)不變或分鏡頭特定呈現(xiàn)操作。換言之,這些呈現(xiàn)操作對(duì)于分鏡頭中一個(gè)以上的幀而言是相同的或?qū)嵸|(zhì)上類似的。相應(yīng)地,為了減少呈現(xiàn)時(shí)間,不為分鏡頭中的所有幀重復(fù)這些實(shí)質(zhì)上類似的呈現(xiàn)操作,例如,從存儲(chǔ)器中提取幾何數(shù)據(jù)一次,執(zhí)行頂點(diǎn)位移一次、等等。許多其他類型的時(shí)不變呈現(xiàn)操作可以被包括在其他實(shí)施例中——例如,紋理構(gòu)造操作、過(guò)程式的幾何數(shù)據(jù)生成、等等。
返回到圖3A-C中所展示的實(shí)施例,通常為分鏡頭中的每個(gè)圖像執(zhí)行以下步驟中的一些步驟。換言之,通常為分鏡頭中的每個(gè)單獨(dú)的圖像的上下文中的對(duì)象執(zhí)行以下所描述的步驟中的一些步驟——即圖像或幀特定的,而不是分鏡頭特定的。
從實(shí)施觀點(diǎn)來(lái)看,在一個(gè)實(shí)施例中,每個(gè)對(duì)象的呈現(xiàn)可能與呈現(xiàn)引擎內(nèi)的進(jìn)發(fā)處理線程相關(guān)聯(lián)。在一些實(shí)施例中,呈現(xiàn)引擎通常在多線程操作系統(tǒng)上運(yùn)行,相應(yīng)地,可以在不同的時(shí)間執(zhí)行這些處理線程。例如,可以實(shí)質(zhì)上同時(shí)執(zhí)行一些處理線程,一些處理線程可以在其他處理線程前面完成,一些處理線程可以重疊,等等。在實(shí)施例中,可以安排這些處理線程實(shí)質(zhì)上同時(shí)或順序地加以運(yùn)行。在其他實(shí)施例中,每個(gè)分鏡頭的呈現(xiàn)與一個(gè)處理線程相關(guān)聯(lián)。
呈現(xiàn)過(guò)程在圖3A-C中繼續(xù)。在這個(gè)實(shí)施例中,對(duì)象通常定位在關(guān)于每個(gè)圖像的坐標(biāo)系內(nèi)。明確地說(shuō),如果必要的話,對(duì)象可以被定標(biāo)到它將出現(xiàn)在該圖像中的尺寸,并且在正確的方位中定向(總起來(lái)說(shuō)是定位數(shù)據(jù))。在一個(gè)實(shí)施例中,為了做到這一點(diǎn),呈現(xiàn)引擎通過(guò)關(guān)于每個(gè)圖像的對(duì)象的各自的定位數(shù)據(jù)來(lái)修改關(guān)于每個(gè)圖像的位移后偏移頂點(diǎn)集。在其他實(shí)施例中,可以對(duì)對(duì)象執(zhí)行額外的操作——包括變形等。
接下來(lái),在步驟380中,執(zhí)行關(guān)于對(duì)象的命中測(cè)試過(guò)程。在這個(gè)實(shí)施例中,命中測(cè)試包括將對(duì)象中的每個(gè)頂點(diǎn)的位置與z緩沖器中的數(shù)據(jù)進(jìn)行比較。這樣,關(guān)于比該z緩沖器中的任何數(shù)據(jù)更接近于圖像平面的每個(gè)頂點(diǎn),該頂點(diǎn)被認(rèn)為是可見(jiàn)的,因而潛在地是可呈現(xiàn)的。同樣,如果對(duì)象的頂點(diǎn)具有比z緩沖器中的數(shù)據(jù)更大(離圖像平面更遠(yuǎn))的z深度,那么,隱藏那個(gè)頂點(diǎn)。這樣,發(fā)明者認(rèn)識(shí)到不需要呈現(xiàn)隱藏的頂點(diǎn),從而減少呈現(xiàn)時(shí)間。
在本實(shí)施例中,隨后用來(lái)自對(duì)象的深度信息來(lái)更新z緩沖器。然后,該z緩沖器數(shù)據(jù)可以被用于關(guān)于要被呈現(xiàn)的下一個(gè)相繼的對(duì)象的命中測(cè)試操作。
在本實(shí)施例中,額外的測(cè)試是將每個(gè)頂點(diǎn)與圖像平面中的屏幕窗口的外部尺度進(jìn)行比較。換言之,命中測(cè)試可以包括確定對(duì)象中的每個(gè)頂點(diǎn)是否具有在要被呈現(xiàn)的圖像內(nèi)的x-y值。該屏幕窗口內(nèi)的頂點(diǎn)潛在地是可呈現(xiàn)的,并且,該屏幕窗口以外的頂點(diǎn)不需要被呈現(xiàn)。在這個(gè)步驟完成之后,關(guān)于對(duì)象在那里潛在地是可見(jiàn)的每個(gè)圖像,既在該屏幕窗口內(nèi)、又是可見(jiàn)的對(duì)象的頂點(diǎn)的位置隨后被存儲(chǔ)在程序存儲(chǔ)器或磁盤存儲(chǔ)器中。
在這個(gè)實(shí)施例中,如所展示的,為分鏡頭中的每個(gè)圖像執(zhí)行這個(gè)步驟,即,命中測(cè)試對(duì)于每個(gè)圖像而言是特定的。這是因?yàn)閷?duì)象可能在不同的圖像中的不同方位中,照相機(jī)參數(shù)(例如,位置、方向、視場(chǎng))可以從一個(gè)圖像到下一個(gè)圖像變化,等等。由于呈現(xiàn)引擎通常無(wú)法依靠一個(gè)圖像到下一個(gè)圖像中的對(duì)象的命中測(cè)試結(jié)果,因此,通常為對(duì)象在其中潛在地是可見(jiàn)的每個(gè)圖像執(zhí)行這個(gè)步驟。在本發(fā)明的實(shí)施例中,這些過(guò)程可以彼此無(wú)關(guān)地獨(dú)立產(chǎn)生,它們可以是順序的、并行的、重疊的、等等。在一個(gè)實(shí)施例中,命中測(cè)試操作是圖像特定呈現(xiàn)操作。也可以執(zhí)行許多其他類型的圖像特定呈現(xiàn)操作(例如,其他可視性操作、光線跟蹤操作等)。
在其他實(shí)施例(例如,以上所描述的“歸為同類”實(shí)施例)中,分鏡頭中不同的圖像可能已將呈現(xiàn)參數(shù)歸為同類,但剩余的呈現(xiàn)操作保持實(shí)質(zhì)上相同。例如,在命中測(cè)試的情況中,如果場(chǎng)景中的對(duì)象的方位不移動(dòng)并且/或者照相機(jī)被“鎖定”,那么,命中測(cè)試不是圖像特定的,而是時(shí)不變的。相應(yīng)地,只需要為分鏡頭執(zhí)行一次命中測(cè)試操作。
在本發(fā)明的其他實(shí)施例中,某些呈現(xiàn)操作對(duì)于分鏡頭中的一些對(duì)象而言可能是圖像特定的,對(duì)于分鏡頭中的其他對(duì)象而言可能是時(shí)不變的。換言之,一些呈現(xiàn)操作對(duì)于圖像中的一個(gè)對(duì)象而言可能是圖像特定的,但對(duì)于該圖像中的另一個(gè)對(duì)象而言可能是時(shí)不變的。例如,在背景對(duì)象被鎖定的分鏡頭中,關(guān)于該分鏡頭中的圖像中的那些對(duì)象的命中測(cè)試操作可能是時(shí)不變的,并且,如果前景對(duì)象移動(dòng),則關(guān)于圖像中的那些對(duì)象的命中測(cè)試操作是時(shí)變的或圖像特定的。作為另一個(gè)例子,運(yùn)行于背景對(duì)象上的遮蔽操作在分鏡頭中可能是時(shí)不變的,而運(yùn)行于前景對(duì)象上的相同的遮蔽操作可能是時(shí)變的和圖像特定的。在其他實(shí)施例中,在分鏡頭內(nèi),關(guān)于對(duì)象的一些呈現(xiàn)操作對(duì)于分鏡頭中的第一幀集而言可能是時(shí)不變的,對(duì)于分鏡頭中的第二幀集而言可能是時(shí)變的。按照本專利申請(qǐng),掌握該技術(shù)領(lǐng)域的普通技能的人可以將這些概念應(yīng)用于這里沒(méi)有明確揭示的許多其他的實(shí)施例。
在這個(gè)實(shí)施例中,以下步驟表示對(duì)象遮蔽過(guò)程。Pixar的呈現(xiàn)技術(shù)使用“遮蔽語(yǔ)言”來(lái)描述光和表面的交互作用。更明確地說(shuō),利用RenderManTM,Pixar引入遮蔽語(yǔ)言,它描述光源的輸出以及圖像中的對(duì)象的表面如何削弱光。
在當(dāng)前的實(shí)施例中,典型的遮蔽形成器包括可能會(huì)或可能不會(huì)隨時(shí)間的推移而改變的遮蔽函數(shù)和參數(shù)。關(guān)于不會(huì)為分鏡頭中的各個(gè)圖像之間的對(duì)象而改變的函數(shù)和參數(shù),這類遮蔽函數(shù)被稱為“不變的”遮蔽函數(shù)(分鏡頭特定的)。另外,為分鏡頭中的各個(gè)圖像之間的對(duì)象而改變的遮蔽函數(shù)被稱為“可變的”遮蔽函數(shù)(圖像特定的)。
以下展示關(guān)于用塑料制成的對(duì)象的簡(jiǎn)單表面遮蔽形成器的例子surfacepaintedplastic(float Ka=1,Kd=.5,Ks=.5,roughness=.1;color specularcolor=1;string texturename=“texture”;){extern vector N,I;extern color Cs;color Ct=Cs;if(texturename!=“”)Ct*=color texture(texturename);normal Nf=faceforward(Normalize(N),I);vector V=-normalize(I);Ci=Ct*(Ka*ambient()+Kd*diffuse(Nf))+Specularcolor*Ks*specular(Nf,V,roughness);Oi=Os;Ci*=Oi;}關(guān)于這個(gè)遮蔽形成器Ka表示用戶定義的環(huán)境光參數(shù);
Kd表示用戶定義的漫射光參數(shù);Ks表示用戶定義的鏡面參數(shù);roughness表示用戶定義的表面粗糙度參數(shù);N表示來(lái)自表面位置的法向向量;I表示從觀察位置到表面位置的向量;Nf表示朝向觀察位置的N的向量分量;V表示從表面位置到觀察位置的法向向量;specularcolor表示用戶定義的鏡面顏色參數(shù);texture表示紋理映射的用戶定義的文件名;Cs表示對(duì)象的默認(rèn)表面顏色參數(shù);Ct表示乘以紋理映射”texture”的默認(rèn)表面顏色參數(shù);函數(shù)ambient()返回非定向光的光作用;函數(shù)diffuse(Nf,V)返回來(lái)自廣泛、均勻地散射的反射的近似的光作用;函數(shù)specular(Nf,V,roughness)返回來(lái)自光源的因表面的鏡面反射而產(chǎn)生的光作用;以及,Ci表示關(guān)于對(duì)象的本地照度模型。
通過(guò)使用以上的例子,這些參數(shù)中的許多參數(shù)(例如,Ka、Kd、Ks、roughness、texture、specularcolor等)通常貫穿分鏡頭而保持恒定(分鏡頭特定的)。但是,這些參數(shù)可以被定義為時(shí)間函數(shù),即,可以是時(shí)變遮蔽函數(shù)(圖像特定的)。例如,如果對(duì)象和光在分鏡頭內(nèi)相對(duì)于彼此移動(dòng),那么,這類參數(shù)可以改變。作為另一個(gè)例子,為了呈現(xiàn)在分鏡頭期間更改顏色的變色龍類型對(duì)象,參數(shù)Cs可以隨時(shí)間的推移而改變。
在大量的情況中,關(guān)于對(duì)象的其他遮蔽參數(shù)中的一些遮蔽參數(shù)是時(shí)間函數(shù)(圖像特定的)。例如,當(dāng)照相機(jī)在各個(gè)圖像幀之間移動(dòng)時(shí),向量I改變;當(dāng)在各個(gè)圖像幀之間增加、減少或重新定位光時(shí),函數(shù)ambient()、diffuse()和specular()改變。發(fā)明者已認(rèn)識(shí)到通常提早知道時(shí)變和時(shí)不變遮蔽函數(shù)。相應(yīng)地,發(fā)明者可以對(duì)呈現(xiàn)引擎識(shí)別時(shí)不變遮蔽函數(shù)和時(shí)變遮蔽函數(shù)。
在本實(shí)施例中,呈現(xiàn)引擎提早從動(dòng)畫片繪制者那里接收該遮蔽信息。在步驟390中,該信息通常識(shí)別到遮蔽計(jì)算的哪些輸入不取決于關(guān)于對(duì)象的時(shí)間(分鏡頭不變的)以及哪些計(jì)算取決于時(shí)間(圖像特定的)。
在本實(shí)施例的其他實(shí)施例中,通過(guò)分析遮蔽形成器為對(duì)象而使用的輸入,呈現(xiàn)引擎可以自動(dòng)動(dòng)態(tài)地識(shí)別或確定關(guān)于對(duì)象的哪些遮蔽計(jì)算對(duì)于分鏡頭中的幀而言是相同的。用于執(zhí)行這一點(diǎn)的方法可以包括呈現(xiàn)引擎確定哪些遮蔽操作具有對(duì)于分鏡頭中不同的幀而言是變化的輸入?yún)?shù)。
在步驟400中,呈現(xiàn)引擎接下來(lái)為對(duì)象執(zhí)行時(shí)不變遮蔽計(jì)算。例如,參考以上的遮蔽代碼,如果默認(rèn)表面顏色Cs和紋理映射不取決于時(shí)間,那么,可以為關(guān)于分鏡頭的對(duì)象計(jì)算Ct。通常,這些計(jì)算會(huì)產(chǎn)生關(guān)于對(duì)象的一個(gè)或多個(gè)中間分鏡頭遮蔽值。這些中間遮蔽值可以被存儲(chǔ)在程序存儲(chǔ)器中或被存儲(chǔ)在磁盤存儲(chǔ)器上。
接下來(lái),在步驟410中,為分鏡頭中的每個(gè)圖像中的對(duì)象計(jì)算時(shí)變遮蔽函數(shù)。例如,如果一個(gè)或多個(gè)光在一系列圖像中移動(dòng)或被打開(kāi)/關(guān)閉,或者對(duì)象或照相機(jī)在各個(gè)圖像之間移動(dòng),那么,為每個(gè)圖像執(zhí)行函數(shù)specular(Nf,V,roughness)。這些中間圖像遮蔽值也可以被存儲(chǔ)在程序存儲(chǔ)器中或被存儲(chǔ)在磁盤存儲(chǔ)器上。
在當(dāng)前的實(shí)施例中,在步驟420中,關(guān)于每個(gè)圖像,呈現(xiàn)引擎隨后為分鏡頭中的對(duì)象執(zhí)行最后的遮蔽計(jì)算。在一個(gè)實(shí)施例中,用數(shù)學(xué)方式組合關(guān)于對(duì)象的中間分鏡頭遮蔽值和中間圖像遮蔽值,從而產(chǎn)生關(guān)于對(duì)象的大多數(shù)柵格位置的最后遮蔽值。在本實(shí)施例的其他實(shí)施例中,可以一起執(zhí)行步驟410和420。例如,中間分鏡頭遮蔽值可以被用作到步驟410的輸入,以便在單一步驟中確定關(guān)于對(duì)象的最后遮蔽值。
在本發(fā)明的實(shí)施例中,步驟410和420不需要有順序。例如,在其他實(shí)施例中,步驟420可以在步驟410之后。在另外的其他實(shí)施例中,時(shí)不變遮蔽計(jì)算與時(shí)變遮蔽計(jì)算交錯(cuò)。例如,執(zhí)行一項(xiàng)時(shí)不變呈現(xiàn)操作,執(zhí)行兩項(xiàng)時(shí)變呈現(xiàn)操作,執(zhí)行另一項(xiàng)時(shí)不變呈現(xiàn)操作,執(zhí)行另一項(xiàng)時(shí)變呈現(xiàn)操作,等等。這個(gè)過(guò)程可以繼續(xù)進(jìn)行,直到執(zhí)行所有呈現(xiàn)操作為止。在另一個(gè)實(shí)施例中,在第一項(xiàng)時(shí)不變呈現(xiàn)操作之前執(zhí)行時(shí)變呈現(xiàn)操作。
在本發(fā)明的實(shí)施例中,呈現(xiàn)操作(時(shí)不變的和/或時(shí)變的)可以依賴或不依賴原先的呈現(xiàn)操作的結(jié)果。也就是說(shuō),在一個(gè)實(shí)施例中,第一項(xiàng)呈現(xiàn)操作的結(jié)果可以被相繼的呈現(xiàn)操作使用。在各個(gè)實(shí)施例中,可能會(huì)或可能不會(huì)直接在第二項(xiàng)呈現(xiàn)操作之前執(zhí)行該第一項(xiàng)呈現(xiàn)操作。
以上遮蔽過(guò)程的結(jié)果通常是從可見(jiàn)的多邊形柵格位置被映射的彩色值二維柵格。在本實(shí)施例中,在步驟430中,隨后內(nèi)插該彩色值二維柵格,以確定命中測(cè)試位置處的表面的值;隨后內(nèi)插這些值,以確定屏幕窗口中的像素。作為選擇,關(guān)于一些對(duì)象,可能需要在命中測(cè)試位置(而不是在多邊形柵格位置)執(zhí)行總幀遮蔽操作中的一些操作。這有關(guān)于呈現(xiàn)諸如運(yùn)動(dòng)模糊操作等操作——例如,對(duì)象通過(guò)聚光燈移動(dòng)。
在本發(fā)明的實(shí)施例中,可以使用從柵格到命中測(cè)試位置再到屏幕窗口的內(nèi)插的任何常規(guī)方法——例如,諸如4×4或11×11等取樣矩陣。也可以使用用于確定像素值的許多其他的方法(例如,雙線性內(nèi)插等)。額外的實(shí)施例可以利用美國(guó)專利4,897,806中所揭示的發(fā)明,它被讓與同一受讓人并出于各種目的而被包括于此。
在本實(shí)施例中,在步驟440中,隨后為其中呈現(xiàn)對(duì)象的每個(gè)圖像存儲(chǔ)表示對(duì)象的屏幕窗口中的像素值。在一個(gè)實(shí)施例中,如果對(duì)象是要被呈現(xiàn)的對(duì)象,那么,整個(gè)2000×1000像素屏幕窗口可以被存儲(chǔ)在程序存儲(chǔ)器、磁盤存儲(chǔ)器、網(wǎng)絡(luò)存儲(chǔ)存儲(chǔ)器、或類似物中。如果對(duì)象是第二或隨后的對(duì)象,那么,在這個(gè)實(shí)施例中,只更新表示這類對(duì)象的那些像素。在另一個(gè)實(shí)施例中,為了用新近呈現(xiàn)的對(duì)象更新圖像,過(guò)程可以實(shí)施以下內(nèi)容新圖像=老圖像+關(guān)于分鏡頭中的每個(gè)圖像的新對(duì)象。
然后,在步驟450中,可以為分鏡頭中隨后的對(duì)象重復(fù)上述過(guò)程,直到呈現(xiàn)分鏡頭中的所有對(duì)象為止。在步驟460中,當(dāng)所有對(duì)象都已被呈現(xiàn)時(shí),分鏡頭中最后得到的圖像隨后可以被輸出用于觀看,被轉(zhuǎn)換成模擬形式(例如,膠卷、錄像帶),被格式化用于數(shù)字媒體輸出設(shè)備,等等。
在本發(fā)明的一個(gè)實(shí)施例中,典型的分鏡頭可以表示1秒至30秒的圖像。在本例中,每秒近似地有24個(gè)圖像幀,相應(yīng)地,分鏡頭可以是從24到720個(gè)圖像幀。在其他實(shí)施例中,分鏡頭可以是從12個(gè)幀到1000個(gè)幀,可以是從2到2400個(gè)幀或更多幀,等等。
在操作中,相信通過(guò)使用本實(shí)施例的各個(gè)實(shí)施例,可以實(shí)現(xiàn)呈現(xiàn)時(shí)間的大量節(jié)省。例如,為了呈現(xiàn)典型的動(dòng)畫影片,呈現(xiàn)時(shí)間的上至90%可能歸因于遮蔽,10%可能歸因于其他呈現(xiàn)步驟(例如,隱藏、位移映射等)。在這90%中,該時(shí)間的50%可能歸因于圖像特定的遮蔽,該時(shí)間的另50%可能歸因于分鏡頭不變遮蔽。通過(guò)使用本發(fā)明的實(shí)施例,在這個(gè)例子中,事實(shí)上可以消除分鏡頭不變遮蔽時(shí)間,這樣,總呈現(xiàn)時(shí)間幾乎可以削減一半(~55%)。在其他實(shí)施例中,所實(shí)現(xiàn)的典型效率被估計(jì)從2到10倍;在另外的其他實(shí)施例中,它被估計(jì)是從10倍到1000倍,用于呈現(xiàn)幀的分鏡頭。如上所述,當(dāng)呈現(xiàn)“歸為同類”的分鏡頭時(shí),相信可以實(shí)現(xiàn)后一個(gè)范圍。在其他實(shí)施例中,可以實(shí)現(xiàn)更高或更低的效率。
在前述說(shuō)明書中,已參照其特殊的示范實(shí)施例來(lái)描述本發(fā)明。容易想象許多更改或修改。按照以上的揭示說(shuō)明,掌握該技術(shù)領(lǐng)域的普通技能的人將會(huì)認(rèn)識(shí)到任何數(shù)量的額外的呈現(xiàn)步驟都可以被引入以下所描述的呈現(xiàn)過(guò)程。按照以上的揭示說(shuō)明,將會(huì)認(rèn)識(shí)到關(guān)于對(duì)象,這類額外的呈現(xiàn)步驟可以具有圖像特定函數(shù)(時(shí)變的)和分鏡頭特定函數(shù)(時(shí)不變的)。相應(yīng)地,將會(huì)認(rèn)識(shí)到可以為全部分鏡頭而只對(duì)對(duì)象執(zhí)行一次分鏡頭特定呈現(xiàn)。另外,將會(huì)認(rèn)識(shí)到可以對(duì)關(guān)于每個(gè)圖像的對(duì)象執(zhí)行圖像特定呈現(xiàn)函數(shù)。然后,分鏡頭特定呈現(xiàn)函數(shù)將會(huì)與圖像特定呈現(xiàn)函數(shù)組合,以形成分鏡頭中的圖像。可以想象當(dāng)前與RenderMan兼容的大量遮蔽形成器可以被用于本發(fā)明的實(shí)施例中。
以上的流程圖可以作為計(jì)算機(jī)代碼來(lái)加以實(shí)施,并且可能會(huì)或可能不會(huì)被編譯成處理器可執(zhí)行代碼。這些代碼作為程序而被存儲(chǔ)在有形介質(zhì)(例如,本地磁盤驅(qū)動(dòng)器、網(wǎng)絡(luò)存儲(chǔ)驅(qū)動(dòng)器、或類似物)中。在選擇性實(shí)施例中,這些代碼可以由另一個(gè)程序動(dòng)態(tài)地生成。例如,第一程序可以被用來(lái)在運(yùn)行中生成按上述方式進(jìn)行操作的可執(zhí)行程序。
在本發(fā)明的實(shí)施例中,發(fā)明者已確定本模式的優(yōu)點(diǎn)可以被應(yīng)用于其他呈現(xiàn)技術(shù)(例如,運(yùn)動(dòng)模糊、景深、光線跟蹤、MIP映射、紋理映射、加亮、幾何數(shù)據(jù)檢索、過(guò)程式的幾何數(shù)據(jù)生成等)。
本發(fā)明的實(shí)施例可以被應(yīng)用于任何數(shù)量的呈現(xiàn)平臺(tái)并被用于各種目的。例如,實(shí)施例可以用在工程工作站上用于開(kāi)發(fā)目的,可以為藝術(shù)家和動(dòng)畫片繪制者而用在可視化系統(tǒng)上,可以為成品而用在呈現(xiàn)農(nóng)業(yè)機(jī)械中,等等。相應(yīng)地,上述概念在各種應(yīng)用中非常有價(jià)值。
在一個(gè)實(shí)施例中,可以并行地處理關(guān)于N數(shù)量的對(duì)象的分鏡頭特定操作的執(zhí)行。在本發(fā)明的另一個(gè)實(shí)施例中,這些過(guò)程中的每個(gè)過(guò)程可以被具體表現(xiàn)為單獨(dú)的、無(wú)關(guān)的執(zhí)行過(guò)程。通過(guò)使用多線程操作系統(tǒng),過(guò)程可以實(shí)質(zhì)上同時(shí)執(zhí)行,可以只是在時(shí)間上重疊,等等。在并行處理器環(huán)境中,過(guò)程實(shí)際上可以并行地加以執(zhí)行。在另一個(gè)實(shí)施例中,一些過(guò)程實(shí)際上可以在其他過(guò)程之前完成。在一個(gè)實(shí)施例中,如果有N個(gè)對(duì)象,那么,呈現(xiàn)系統(tǒng)產(chǎn)生M個(gè)過(guò)程——其中,M≤N。
在以上的揭示說(shuō)明中,示出為分鏡頭執(zhí)行一些分鏡頭特定過(guò)程一次。但是,應(yīng)該理解可以實(shí)現(xiàn)實(shí)施例,以便如果有N個(gè)圖像,則呈現(xiàn)系統(tǒng)執(zhí)行分鏡頭不變過(guò)程M次——其中,N>M≥1。
以上實(shí)施例將步驟340-370中的時(shí)不變呈現(xiàn)計(jì)算展示為在步驟380中的圖像特定呈現(xiàn)計(jì)算之前加以執(zhí)行,但是,應(yīng)該理解也可以顛倒順序。在本發(fā)明的其他實(shí)施例中,時(shí)不變呈現(xiàn)計(jì)算和圖像特定呈現(xiàn)計(jì)算可以交錯(cuò)或在中間,也就是說(shuō),當(dāng)利用多個(gè)呈現(xiàn)計(jì)算來(lái)呈現(xiàn)對(duì)象時(shí),可以在各個(gè)時(shí)不變呈現(xiàn)計(jì)算之間執(zhí)行圖像特定呈現(xiàn)計(jì)算。另外,交錯(cuò)的呈現(xiàn)操作可以在對(duì)象的逐個(gè)頂點(diǎn)的基礎(chǔ)上發(fā)生,并且/或者一次在所有頂點(diǎn)上發(fā)生。例如,呈現(xiàn)過(guò)程可以對(duì)對(duì)象的第一頂點(diǎn)執(zhí)行呈現(xiàn)操作——呈現(xiàn)操作依次按A、B、C、D和E進(jìn)行;然后,呈現(xiàn)過(guò)程可以為隨后的頂點(diǎn)重復(fù)。在一種情況下,呈現(xiàn)計(jì)算A、B、D和E可以是時(shí)不變計(jì)算,C可以是圖像特定計(jì)算;在另一種情況下,A、B、C和E可以是圖像特定呈現(xiàn)計(jì)算,D可以是時(shí)不變呈現(xiàn)計(jì)算;等等。在另一個(gè)例子中,在為對(duì)象中的所有頂點(diǎn)等執(zhí)行呈現(xiàn)操作B之前,可以為對(duì)象中的所有頂點(diǎn)執(zhí)行呈現(xiàn)操作A。在其他例子中,預(yù)期以上例子的組合。按照本揭示說(shuō)明,可設(shè)想用于交錯(cuò)時(shí)不變和圖像特定呈現(xiàn)操作的許多方法。
在閱讀附加文檔之后,掌握該技術(shù)領(lǐng)域的普通技能的人可以想象更多的實(shí)施例。在其他實(shí)施例中,可以有利地實(shí)行以上所揭示的發(fā)明的組合或子組合。為方便理解,對(duì)體系結(jié)構(gòu)的框圖和流程圖進(jìn)行分類。但是,應(yīng)該理解在本發(fā)明的選擇性實(shí)施例中,預(yù)期框的組合、新框的添加、框的重新布置等。例如,可以在分鏡頭不變遮蔽操作之前執(zhí)行圖像特定遮蔽操作。
相應(yīng)地,本說(shuō)明書和附圖將被視作起說(shuō)明的作用,而不是起限制的作用。但是,將會(huì)顯而易見(jiàn),在不脫離如該權(quán)利要求書中所陳述的本發(fā)明的更廣泛的精神和范圍的前提下,可以對(duì)其進(jìn)行各種修改和更改。
權(quán)利要求
1.一種用于遮蔽包括第一圖像和第二圖像的多個(gè)圖像中的對(duì)象的方法,其特征在于包括接收第一對(duì)象的幾何說(shuō)明;響應(yīng)于該第一對(duì)象的幾何說(shuō)明,為該第一圖像和該第二圖像執(zhí)行一次關(guān)于該第一對(duì)象的第一遮蔽操作集;為該第一圖像中的該第一對(duì)象執(zhí)行第二遮蔽操作集;為該第二圖像中的該第一對(duì)象執(zhí)行第三遮蔽操作集;組合關(guān)于該第一對(duì)象的該第一遮蔽操作集的結(jié)果和關(guān)于該第一對(duì)象的該第二遮蔽操作集的結(jié)果,以確定該第一圖像中的該第一對(duì)象的遮蔽值;以及,組合關(guān)于該第一對(duì)象的該第一遮蔽操作集的結(jié)果和關(guān)于該第一對(duì)象的該第三遮蔽操作集的結(jié)果,以確定該第二圖像中的該第一對(duì)象的遮蔽值。
2.權(quán)利要求1的方法,其特征在于其中,第一處理線程執(zhí)行“執(zhí)行該第二遮蔽操作集”的步驟;其中,第二處理線程執(zhí)行“執(zhí)行該第三遮蔽操作集”的步驟;以及,其中,該第一處理線程和該第二處理線程以從以下該組中選擇的方式而相關(guān)迸發(fā)處理線程、重疊處理線程、并行處理線程。
3.權(quán)利要求1的方法,其特征在于其中,關(guān)于該第一對(duì)象的該第一遮蔽操作集包括關(guān)于該第一圖像中的該第一對(duì)象的遮蔽操作,這些遮蔽操作等同于關(guān)于該第二圖像中的該第一對(duì)象的遮蔽操作。
4.權(quán)利要求3的方法,其特征在于其中,關(guān)于該第一對(duì)象的該第二遮蔽操作集專用于該第一圖像。
5.權(quán)利要求3的方法,其特征在于其中,響應(yīng)于環(huán)境照度值,來(lái)確定關(guān)于該第一對(duì)象的該第一遮蔽操作集。
6.權(quán)利要求5的方法,其特征在于其中,響應(yīng)于從“漫射照度、鏡面照度”的該組中選擇的照度值,來(lái)確定關(guān)于該第一對(duì)象的該第二遮蔽操作集。
7.權(quán)利要求1的方法,其特征在于進(jìn)一步包括接收“關(guān)于該第一對(duì)象的哪些遮蔽操作在該第一遮蔽操作集內(nèi)”的確定。
8.一種有形介質(zhì),其特征在于包括根據(jù)權(quán)利要求1中所描述的方法來(lái)加以遮蔽的該第一圖像和該第二圖像。
9.權(quán)利要求1的方法,其特征在于其中,執(zhí)行該第一遮蔽操作集中的至少一項(xiàng)遮蔽操作涉及以從“在前、在后、在中間、交錯(cuò)”的該組中選擇的方式來(lái)執(zhí)行該第二遮蔽操作集中的至少一項(xiàng)遮蔽操作以及執(zhí)行該第三遮蔽操作集中的至少一項(xiàng)遮蔽操作。
10.權(quán)利要求1的方法,其特征在于進(jìn)一步包括接收第二對(duì)象的幾何說(shuō)明;響應(yīng)于該第二對(duì)象的幾何說(shuō)明,為該第一圖像和該第二圖像執(zhí)行一次關(guān)于該第二對(duì)象的第一遮蔽操作集;為該第一圖像中的該第二對(duì)象執(zhí)行第二遮蔽操作集;為該第二圖像中的該第二對(duì)象執(zhí)行第三遮蔽操作集;其中,關(guān)于該第一對(duì)象的該第一遮蔽操作集中的遮蔽操作被包括在從以下該組中選擇的遮蔽操作中關(guān)于該第一圖像中的該第二對(duì)象的該第二遮蔽操作集、關(guān)于該第二圖像中的該第二對(duì)象的該三個(gè)遮蔽操作集。
11.權(quán)利要求1的方法,其特征在于其中,該第一對(duì)象包括第一頂點(diǎn)和第二頂點(diǎn);以及,其中,該第一遮蔽操作集和該第二遮蔽操作集以從以下該組中選擇的方式被應(yīng)用于該第一頂點(diǎn)和該第二頂點(diǎn)該第一頂點(diǎn)上的該第一遮蔽操作集和該第二遮蔽操作集,隨后是該第二頂點(diǎn)上的該第一遮蔽操作集和該第二遮蔽操作集;該第一頂點(diǎn)和該第二頂點(diǎn)上的該第一遮蔽操作集,隨后是該第一頂點(diǎn)和該第二頂點(diǎn)上的該第二遮蔽操作集。
12.一種用于呈現(xiàn)多個(gè)圖像中的多個(gè)對(duì)象的方法,其特征在于包括從關(guān)于來(lái)自這多個(gè)圖像的每個(gè)圖像的這多個(gè)對(duì)象中呈現(xiàn)第一對(duì)象,其中,呈現(xiàn)該第一對(duì)象包括為關(guān)于來(lái)自這多個(gè)圖像的每個(gè)圖像的該第一對(duì)象執(zhí)行的第一組呈現(xiàn)操作、以及為關(guān)于來(lái)自這多個(gè)圖像的一個(gè)以上的圖像的該第一對(duì)象執(zhí)行一次的第二組呈現(xiàn)操作。
13.權(quán)利要求12的方法,其特征在于進(jìn)一步包括在從關(guān)于來(lái)自這多個(gè)圖像的每個(gè)圖像的這多個(gè)對(duì)象中呈現(xiàn)該第一對(duì)象之后,從關(guān)于來(lái)自這多個(gè)圖像的每個(gè)圖像的這多個(gè)對(duì)象中呈現(xiàn)第二對(duì)象,其中,呈現(xiàn)該第二對(duì)象包括為關(guān)于來(lái)自這多個(gè)圖像的每個(gè)圖像的該第二對(duì)象執(zhí)行的第一組呈現(xiàn)操作、以及為關(guān)于來(lái)自這多個(gè)圖像的一個(gè)以上的圖像的該第二對(duì)象執(zhí)行一次的第二組呈現(xiàn)操作。
14.權(quán)利要求12的方法,其特征在于其中,這多個(gè)圖像包括N個(gè)圖像;其中,關(guān)于該第一對(duì)象的該第二組呈現(xiàn)操作被執(zhí)行M次;其中,1≤M<N。
15.權(quán)利要求14的方法,其特征在于其中,該第一組呈現(xiàn)操作從該組操作中加以選擇,該組操作包括可視性操作、光線跟蹤操作。
16.權(quán)利要求14的方法,其特征在于其中,該第二組呈現(xiàn)操作從該組操作中加以選擇,該組操作包括切割操作、紋理映射操作、位移操作。
17.權(quán)利要求13的方法,其特征在于其中,該第二組呈現(xiàn)操作從該組操作中加以選擇,該組操作包括幾何數(shù)據(jù)檢索、過(guò)程式幾何數(shù)據(jù)生成。
18.權(quán)利要求17的方法,其特征在于其中,該第一組呈現(xiàn)操作從該組遮蔽操作中加以選擇,該組遮蔽操作包括鏡面照度遮蔽、加亮照度遮蔽、漫射照度遮蔽、環(huán)境照度遮蔽。
19.權(quán)利要求13的方法,其特征在于該第二組呈現(xiàn)操作從該組遮蔽操作中加以選擇,該組遮蔽操作包括鏡面照度遮蔽、加亮照度遮蔽、漫射照度遮蔽、環(huán)境照度遮蔽。
20.一種介質(zhì),其特征在于存儲(chǔ)包括根據(jù)權(quán)利要求13中所描述的該方法而呈現(xiàn)的該對(duì)象的這多個(gè)圖像。
21.權(quán)利要求19的方法,其特征在于進(jìn)一步包括輸出這多個(gè)圖像。
22.權(quán)利要求12的方法,其特征在于其中,以從“在前、在后”的該組中選擇的方式來(lái)相對(duì)于來(lái)自該第一組呈現(xiàn)操作的至少一項(xiàng)呈現(xiàn)操作執(zhí)行來(lái)自該第二組呈現(xiàn)操作的至少一項(xiàng)呈現(xiàn)操作。
23.權(quán)利要求13的方法,其特征在于其中,呈現(xiàn)操作被包括在該第二組呈現(xiàn)操作和該第一組呈現(xiàn)操作中,為該第一對(duì)象執(zhí)行一次該第二組呈現(xiàn)操作,為關(guān)于來(lái)自這多個(gè)圖像的每個(gè)圖像的該第二對(duì)象執(zhí)行該第一組呈現(xiàn)操作。
24.一種用于呈現(xiàn)多個(gè)圖像中的多個(gè)對(duì)象的計(jì)算機(jī)系統(tǒng)其特征在于包括被配置成存儲(chǔ)包括N個(gè)圖像的這多個(gè)圖像的存儲(chǔ)器;以及,被耦合到該存儲(chǔ)器的處理器,其中,該處理器被配置成為來(lái)自這多個(gè)對(duì)象的第一對(duì)象執(zhí)行第一組呈現(xiàn)操作N次,為來(lái)自這多個(gè)圖像的每個(gè)圖像執(zhí)行第一組呈現(xiàn)操作一次,其中,該處理器也被配置成對(duì)于這多個(gè)圖像為來(lái)自這多個(gè)對(duì)象的該第一對(duì)象執(zhí)行第二組呈現(xiàn)操作M次,其中,M<N。
25.權(quán)利要求24的計(jì)算機(jī)系統(tǒng),其特征在于其中,該處理器也被配置成在為該第一對(duì)象執(zhí)行該第一組呈現(xiàn)操作之后,為來(lái)自這多個(gè)對(duì)象的第二對(duì)象執(zhí)行第一組呈現(xiàn)操作N次,為來(lái)自這多個(gè)圖像的每個(gè)圖像執(zhí)行第一組呈現(xiàn)操作一次。
26.權(quán)利要求24的計(jì)算機(jī)系統(tǒng),其特征在于其中,1≤M<N。
27.權(quán)利要求26的計(jì)算機(jī)系統(tǒng),其特征在于其中,從“可視化操作、光線跟蹤操作”的該組操作中選擇該第一組呈現(xiàn)操作。
28.權(quán)利要求27的計(jì)算機(jī)系統(tǒng),其特征在于其中,從“幾何切割操作、紋理映射操作、幾何位移操作”的該組操作中選擇該第二組呈現(xiàn)操作。
29.權(quán)利要求26的計(jì)算機(jī)系統(tǒng),其特征在于其中,從“該第一對(duì)象的幾何數(shù)據(jù)檢索、該第一對(duì)象的過(guò)程式幾何數(shù)據(jù)生成”的該組操作中選擇該第二組呈現(xiàn)操作。
30.權(quán)利要求26的計(jì)算機(jī)系統(tǒng),其特征在于其中,從“鏡面遮蔽、加亮遮蔽、漫射遮蔽、環(huán)境遮蔽”的該組遮蔽操作中選擇該第一組呈現(xiàn)操作。
31.權(quán)利要求26的計(jì)算機(jī)系統(tǒng),其特征在于其中,從“鏡面遮蔽、加亮遮蔽、漫射遮蔽、環(huán)境遮蔽”的該組遮蔽操作中選擇該第二組呈現(xiàn)操作。
32.權(quán)利要求26的計(jì)算機(jī)系統(tǒng),其特征在于其中,該處理器被配置成為來(lái)自關(guān)于第一對(duì)象的該第一組呈現(xiàn)操作的每項(xiàng)呈現(xiàn)操作產(chǎn)生單獨(dú)的過(guò)程。
33.權(quán)利要求32的計(jì)算機(jī)系統(tǒng),其特征在于其中,關(guān)于來(lái)自該第一組呈現(xiàn)操作的每項(xiàng)呈現(xiàn)操作的該單獨(dú)的過(guò)程是從“并發(fā)過(guò)程、并行過(guò)程”的該組中選擇的過(guò)程。
34.權(quán)利要求24的計(jì)算機(jī)系統(tǒng),其特征在于至少一項(xiàng)呈現(xiàn)操作對(duì)關(guān)于該第一對(duì)象的該第一組呈現(xiàn)操作和關(guān)于該第二對(duì)象的該第一組呈現(xiàn)操作而言是共同的。
35.權(quán)利要求24的計(jì)算機(jī)系統(tǒng),其特征在于其中,以從“在前、在后”的該組中選擇的方式來(lái)相對(duì)于來(lái)自關(guān)于該第一對(duì)象的該第二組呈現(xiàn)操作的第一呈現(xiàn)操作執(zhí)行來(lái)自關(guān)于該第一對(duì)象的該第一組呈現(xiàn)操作的第一項(xiàng)呈現(xiàn)操作;以及,其中,以從“在前、在后”的該組中選擇的方式來(lái)相對(duì)于來(lái)自關(guān)于該第一對(duì)象的該第二組呈現(xiàn)操作的第一呈現(xiàn)操作執(zhí)行來(lái)自關(guān)于該第一對(duì)象的該第一組呈現(xiàn)操作的第二項(xiàng)呈現(xiàn)操作;以及,其中,以從“在前、在后”的該組中選擇的方式來(lái)相對(duì)于來(lái)自關(guān)于該第一對(duì)象的該第一組呈現(xiàn)操作的第二呈現(xiàn)操作執(zhí)行來(lái)自關(guān)于該第一對(duì)象的該第二組呈現(xiàn)操作的第二呈現(xiàn)操作。
全文摘要
一種用于計(jì)算機(jī)系統(tǒng)的方法(圖3B)包括接收要被呈現(xiàn)在第一圖像(圖3B,圖像1)和第二圖像(圖3B,圖像2)中的對(duì)象的幾何說(shuō)明,并且,為關(guān)于該第一圖像(圖3B,圖像1)和關(guān)于該第二圖像(圖3B,圖像2)的對(duì)象執(zhí)行多項(xiàng)呈現(xiàn)操作(圖3B,項(xiàng)目390和400),其中,這多項(xiàng)呈現(xiàn)操作(圖3B,項(xiàng)目390和400)包括第一多項(xiàng)呈現(xiàn)操作(圖3B,項(xiàng)目390)和至少一項(xiàng)第二呈現(xiàn)操作(圖3B,項(xiàng)目400),其中,關(guān)于該第一圖像(圖3B,圖像1)的對(duì)象的該第二呈現(xiàn)操作(圖3B,項(xiàng)目400)和關(guān)于該第二圖像(圖3B,圖像2)的對(duì)象的該第二呈現(xiàn)操作(圖3B,項(xiàng)目400)實(shí)質(zhì)上是類似的,其中,為該第一圖像(圖3B,圖像1)執(zhí)行這第一多項(xiàng)呈現(xiàn)操作(圖3B,項(xiàng)目390),其中,為該第二圖像(圖3b,圖像2)執(zhí)行這第一多項(xiàng)呈現(xiàn)操作(圖3B,項(xiàng)目390),并且,其中,為該第一圖像(圖3B,圖像1)并為該第二圖像(圖3B,圖像2)執(zhí)行一次該第二呈現(xiàn)操作(圖3b,項(xiàng)目400)。
文檔編號(hào)G06T15/70GK1788283SQ03826582
公開(kāi)日2006年6月14日 申請(qǐng)日期2003年7月31日 優(yōu)先權(quán)日2003年4月30日
發(fā)明者R·L·庫(kù)克, T·D·S·達(dá)夫 申請(qǐng)人:皮克薩公司