在操作計(jì)算裝置的越來(lái)越多的方面中,越來(lái)越多地采用曾經(jīng)只是作為執(zhí)行基于相對(duì)專(zhuān)業(yè)化的計(jì)算機(jī)的功能的一部分進(jìn)行的從三維(3D)模型渲染二維(2D)計(jì)算機(jī)生成的圖像(CGI)。具體來(lái)說(shuō),盡管視頻游戲仍舊呈現(xiàn)著這些圖像的最普遍使用,但是它們的使用已經(jīng)開(kāi)始作為日益增長(zhǎng)的裝置陣列的圖形用戶(hù)界面(GUI)的一部分并網(wǎng)站中占有一席之地。
盡管圖形渲染硬件的設(shè)計(jì)的發(fā)展和渲染算法的效率的增加已經(jīng)使得基于3D模型的CGI的許多這種增加的使用成為可能,但是這些發(fā)展和效率增加尚不足以完全解決在便攜式裝置中典型的處理和功率資源的限制。具體來(lái)說(shuō),對(duì)圖形基元著色(shading)以便為圖像中的對(duì)象提供顏色和紋理的工作不斷需要相當(dāng)大的處理資源,而這又對(duì)在便攜式裝置中常見(jiàn)的由電池和/或其它電源提供的有限功率資源提出相當(dāng)大的要求。此外,隨著并入到便攜式裝置的顯示器的像素分辨率不斷增加,在處理和功率要求方面進(jìn)行的縮減招架不住由這些分辨率增加導(dǎo)致的著色量的指數(shù)增加。
之前通過(guò)試圖直接減少執(zhí)行的著色量以便至少限制對(duì)功率資源的這些增加的要求而做了許多努力。但是,這些方法增加了將不準(zhǔn)確或不正確的信息作為輸入引入到著色中的實(shí)例,例如在執(zhí)行內(nèi)插計(jì)算中出現(xiàn)增加的外推。這種不準(zhǔn)確或不正確的信息頻繁地導(dǎo)致引入諸如“閃爍”像素顏色的視覺(jué)假象、在由多個(gè)基元組成的對(duì)象的曲線(xiàn)表面上的顏色過(guò)渡缺少平滑、和/或錯(cuò)位的著色邊界。
附圖說(shuō)明
圖1示出圖形渲染系統(tǒng)的示例實(shí)施例。
圖2示出圖形渲染系統(tǒng)的備選示例實(shí)施例。
圖3示出示例實(shí)施例的一部分。
圖4示出3D模型的光柵化的示例實(shí)施例。
圖5示出用于定義多邊形的裁剪的示例實(shí)施例。
圖6示出用于得出多邊形的頂點(diǎn)的屬性的內(nèi)插的示例實(shí)施例。
圖7示出多邊形的像素著色頂點(diǎn)的示例實(shí)施例。
圖8示出用于將屏幕像素上色的內(nèi)插的示例實(shí)施例。
圖9A和圖9B一起示出用于定義多于一個(gè)多邊形的裁剪的示例實(shí)施例。
圖10-11各自示出根據(jù)實(shí)施例的邏輯流。
圖12示出根據(jù)實(shí)施例的處理體系結(jié)構(gòu)。
圖13示出圖形處理系統(tǒng)的另一個(gè)備選實(shí)施例。
圖14示出裝置的實(shí)施例。
具體實(shí)施方式
各個(gè)實(shí)施例一般涉及在從3D模型渲染2D屏幕圖像時(shí)通過(guò)利用比屏幕圖像的屏幕像素粗大的著色像素進(jìn)行著色來(lái)減少對(duì)可見(jiàn)基元著色的處理要求、同時(shí)將視覺(jué)假象減至最少的技術(shù)。在光柵化之后,在每個(gè)著色像素內(nèi)執(zhí)行可見(jiàn)基元的裁剪,以便定義代表可見(jiàn)基元與由各個(gè)著色像素覆蓋的區(qū)域的交叉的多邊形。將可見(jiàn)基元的頂點(diǎn)處的屬性?xún)?nèi)插到多邊形的頂點(diǎn),然后通過(guò)利用多邊形的頂點(diǎn)處的屬性得出多邊形的頂點(diǎn)處的顏色來(lái)執(zhí)行像素著色。接著,對(duì)多邊形的頂點(diǎn)處的顏色進(jìn)行內(nèi)插以便得出屏幕像素的顏色。
在一些實(shí)施例中,光柵化可只采用分配給屏幕圖像的每個(gè)屏幕圖像像素的單個(gè)樣本(例如,位于每個(gè)屏幕圖像像素的中心的單個(gè)樣本)來(lái)標(biāo)識(shí)在屏幕圖像像素的位置從屏幕圖像的角度可見(jiàn)的3D模型的基元的部分。在其它實(shí)施例中,光柵化可采用各種類(lèi)型的采樣中的任一類(lèi)型的采樣,包括超級(jí)采樣、隨機(jī)采樣、多重采樣等,其中存在分配給屏幕圖像的每個(gè)屏幕圖像像素的多個(gè)屏幕圖像樣本以便如此標(biāo)識(shí)可見(jiàn)的3D模型的基元的部分。在光柵化之前,可能已經(jīng)執(zhí)行了頂點(diǎn)著色以便得出每個(gè)基元的每個(gè)頂點(diǎn)的屬性。如本領(lǐng)域技術(shù)人員所熟悉的,取決于生成3D模型的對(duì)象的方式,基元可以全都是三角形,或者可以是不同類(lèi)型的多邊形的混合。但是,不管每個(gè)基元的形狀如何,每個(gè)基元的所有部分都必須存在于單個(gè)平面內(nèi)?;捻旤c(diǎn)的屬性(包括它們的相對(duì)位置)可定義該基元和它所在的平面。
與屏幕圖像的屏幕像素的柵格重合的可以是著色像素的柵格,其中著色像素比屏幕像素粗大,以使得每個(gè)著色像素覆蓋比每個(gè)屏幕像素大的區(qū)域。在一些實(shí)施例中,著色像素可以定義成使得它們的邊界與屏幕像素的邊界對(duì)應(yīng),以使得每個(gè)著色像素對(duì)應(yīng)于屏幕像素的整數(shù)倍(例如,每個(gè)著色像素可對(duì)應(yīng)于四個(gè)屏幕像素)。在光柵化之后,可采用裁剪來(lái)得出每個(gè)著色像素內(nèi)代表每個(gè)著色像素的區(qū)域與每個(gè)著色像素內(nèi)由在該著色像素內(nèi)可見(jiàn)的基元的一部分覆蓋的區(qū)域的交叉的一個(gè)或多個(gè)多邊形。實(shí)際上,將每個(gè)可見(jiàn)基元?jiǎng)澐殖筛髯源碇袼貎?nèi)的這種交叉的一個(gè)或多個(gè)多邊形。
在裁剪之后,將每個(gè)可見(jiàn)基元的頂點(diǎn)的屬性?xún)?nèi)插到從該基元?jiǎng)澐值拿總€(gè)多邊形的頂點(diǎn),以便得出那些多邊形的頂點(diǎn)處的屬性。然后,在每個(gè)多邊形的每個(gè)頂點(diǎn)處執(zhí)行像素著色,以便得出每個(gè)多邊形的頂點(diǎn)的顏色值。
在多邊形的頂點(diǎn)處進(jìn)行像素著色之后,內(nèi)插多邊形的頂點(diǎn)處的顏色值以便得出屏幕像素的顏色值。在一些實(shí)施例中,采用哪些頂點(diǎn)來(lái)將顏色值內(nèi)插到哪些屏幕像素可以基于每個(gè)屏幕像素的中心相對(duì)于多邊形的邊界的位置。換句話(huà)說(shuō),在特定屏幕像素的中心落在特定多邊形的邊界內(nèi)的情況下,內(nèi)插該特定多邊形的頂點(diǎn)處的顏色值以便得出該特定屏幕像素的顏色值。但是,在其它實(shí)施例中,內(nèi)插每個(gè)多邊形的頂點(diǎn)處的顏色值以便得出落在該多邊形內(nèi)的屏幕圖像的每個(gè)樣本的顏色值,并將落在每個(gè)屏幕像素內(nèi)的樣本的顏色值求平均以便得出該屏幕像素的顏色。不管是將來(lái)自多邊形的頂點(diǎn)的顏色值內(nèi)插到屏幕像素的中心、還是在內(nèi)插到屏幕圖像的多個(gè)樣本之后求平均,都可這樣內(nèi)插多邊形的頂點(diǎn)處的其它屬性。
一般參考本文中所使用的符號(hào)和命名法,可以依照在計(jì)算機(jī)或計(jì)算機(jī)網(wǎng)絡(luò)上執(zhí)行的程序過(guò)程介紹隨后的詳細(xì)描述的部分。這些過(guò)程描述和表示供本領(lǐng)域技術(shù)人員用來(lái)將他們的工作實(shí)質(zhì)最有效地傳達(dá)給本領(lǐng)域中的其它技術(shù)人員。過(guò)程在這里一般視為是導(dǎo)致期望結(jié)果的操作的獨(dú)立序列。這些操作是需要對(duì)物理量進(jìn)行物理操縱的操作。通常,這些量采用能夠存儲(chǔ)、傳送、組合、比較以及以其它方式進(jìn)行操縱的電、磁或光信號(hào)的形式,但這不是一定的。主要出于常用的原因,有時(shí)將這些信號(hào)稱(chēng)為位、值、元素、符號(hào)、字符、項(xiàng)、數(shù)字等經(jīng)證實(shí)是便利的。但是,應(yīng)注意,所有這些和類(lèi)似術(shù)語(yǔ)都將與合適的物理量相關(guān)聯(lián),并且只是應(yīng)用于這些量的便利標(biāo)記。
此外,這些操縱通常稱(chēng)為諸如相加或比較的術(shù)語(yǔ),它們通常與由人工操作員執(zhí)行的心理操作相關(guān)聯(lián)。但是,在大多數(shù)情形下,在本文中描述的形成一個(gè)或多個(gè)實(shí)施例的部分的任何操作中,人工操作員的這種能力不是必需的或令人滿(mǎn)意的。而是,這些操作是機(jī)器操作。執(zhí)行各種實(shí)施例的操作的有用機(jī)器包括:由存儲(chǔ)在其中的根據(jù)本文中的教導(dǎo)編寫(xiě)的計(jì)算機(jī)程序選擇性地激活或配置的通用數(shù)字計(jì)算機(jī),和/或包括為所需目的專(zhuān)門(mén)構(gòu)造的設(shè)備。各種實(shí)施例還涉及用于執(zhí)行這些操作的設(shè)備或系統(tǒng)。這些設(shè)備可為所需目的專(zhuān)門(mén)構(gòu)造,或者可以包括通用計(jì)算機(jī)。各種這些機(jī)器所需的結(jié)構(gòu)將出現(xiàn)在給出的描述中。
現(xiàn)在參考附圖,其中通篇使用類(lèi)似參考數(shù)字來(lái)表示類(lèi)似元素。在以下詳細(xì)描述中,出于解釋的目的,闡述了眾多具體細(xì)節(jié)以便充分理解本發(fā)明。但是,顯然,沒(méi)有這些具體細(xì)節(jié)也可實(shí)踐新穎實(shí)施例。在其它情況下,用框圖形式示出公知的結(jié)構(gòu)和裝置以便于對(duì)其進(jìn)行描述。目的是覆蓋在權(quán)利要求范圍內(nèi)的所有修改、等效物和更改。
圖1示出并入源裝置300、計(jì)算裝置500和觀看裝置700中的一個(gè)或多個(gè)的圖形渲染系統(tǒng)1000的實(shí)施例的框圖。計(jì)算裝置500生成三維(3D)模型280的二維(2D)屏幕圖像880,它投影到屏幕圖像880的2D平面上。計(jì)算裝置500可從源裝置300接收代表定義的3D空間內(nèi)的一個(gè)或多個(gè)對(duì)象的3D模型280的3D模型數(shù)據(jù)330。3D模型數(shù)據(jù)330可直接指定組成模型280的一個(gè)或多個(gè)對(duì)象的基元和/或那些基元的屬性,或者可包括足以使得能夠得出那些基元和/或它們的屬性的信息。
在生成屏幕圖像880之后,計(jì)算裝置500可在顯示器580上呈現(xiàn)屏幕圖像880,和/或?qū)⒋砥聊粓D像880的屏幕圖像數(shù)據(jù)730傳送給觀看裝置700以便在其顯示器780上呈現(xiàn)。屏幕圖像數(shù)據(jù)730可包括屏幕圖像880的位圖,其中可以用各種格式中的任一格式編碼屏幕圖像880的每個(gè)像素的顏色。在一些實(shí)施例中,可選擇屏幕圖像880的像素分辨率以便與顯示器580和/或顯示器780的像素分辨率匹配。甚至,在一些實(shí)施例中,觀看裝置700可將顯示器780的像素分辨率的指示提供給計(jì)算裝置500以使得能夠?qū)⑵聊粓D像880的像素分辨率設(shè)置成與顯示器780的像素分辨率匹配。
這些計(jì)算裝置中的每個(gè)計(jì)算裝置都可以是各種類(lèi)型的計(jì)算裝置中的任何計(jì)算裝置,包括但不限于桌面型計(jì)算機(jī)系統(tǒng)、數(shù)據(jù)輸入終端、膝上型計(jì)算機(jī)、上網(wǎng)本計(jì)算機(jī)、平板計(jì)算機(jī)、手持式個(gè)人數(shù)字助理、智能電話(huà)、智能眼鏡、智能手表、數(shù)碼相機(jī)、并入到衣物中的穿戴在身上的計(jì)算裝置、并入到車(chē)輛(例如,汽車(chē)、自行車(chē)、輪椅等)中的計(jì)算裝置、服務(wù)器、服務(wù)器集群、服務(wù)器場(chǎng)等。
如圖中所描繪,這些計(jì)算裝置300、500和700通過(guò)網(wǎng)絡(luò)999交換信號(hào)以便傳達(dá)代表3D模型和/或2D屏幕圖像的數(shù)據(jù)。但是,這些計(jì)算裝置中的一個(gè)或多個(gè)計(jì)算裝置可經(jīng)由網(wǎng)絡(luò)999彼此和/或與其它計(jì)算裝置(未示出)交換與從3D模型渲染2D圖像完全無(wú)關(guān)的其它數(shù)據(jù)。在各種實(shí)施例中,網(wǎng)絡(luò)可以是可能局限于在單個(gè)建筑物或其它相對(duì)有限的區(qū)域內(nèi)延伸的單個(gè)網(wǎng)絡(luò)、可能延伸相當(dāng)長(zhǎng)距離的相連網(wǎng)絡(luò)的組合,和/或可包括互聯(lián)網(wǎng)。因此,網(wǎng)絡(luò)999可基于可用于交換信號(hào)的各種通信技術(shù)(或其組合)中的任一種,包括但不限于采用電和/或光傳導(dǎo)電纜布線(xiàn)的有線(xiàn)技術(shù)和采用紅外、射頻或其它形式的無(wú)線(xiàn)傳輸?shù)臒o(wú)線(xiàn)技術(shù)。
在各種實(shí)施例中,計(jì)算裝置500并入處理器組件550、存儲(chǔ)設(shè)備560、顯示器580、控制器600和用于將計(jì)算裝置500耦合到網(wǎng)絡(luò)999的接口590中的一個(gè)或多個(gè)。存儲(chǔ)設(shè)備560存儲(chǔ)控制例行程序540、3D模型數(shù)據(jù)330和控制數(shù)據(jù)335中的一個(gè)或多個(gè)??刂破?00并入處理器組件650和存儲(chǔ)設(shè)備660中的一個(gè)或多個(gè)。存儲(chǔ)設(shè)備660存儲(chǔ)控制例行程序640、可見(jiàn)基元數(shù)據(jù)632、多邊形數(shù)據(jù)633、著色多邊形數(shù)據(jù)635、屬性多邊形數(shù)據(jù)636、樣本顏色數(shù)據(jù)637和屏幕圖像數(shù)據(jù)730中的一個(gè)或多個(gè)。
控制例行程序540并入可在它的作用中作為計(jì)算裝置500的主要處理器組件的處理器組件550上操作以便實(shí)現(xiàn)執(zhí)行各種功能的邏輯的指令序列。在執(zhí)行控制例行程序540時(shí),處理器組件550可經(jīng)由網(wǎng)絡(luò)999從源裝置300接收3D模型數(shù)據(jù)330,并且可其將代表3D模型280的至少一部分的至少一部分存儲(chǔ)在存儲(chǔ)設(shè)備560中。應(yīng)注意,可在包括生成其2D圖像或傳輸在內(nèi)的任何使用之前的相對(duì)長(zhǎng)時(shí)間將3D模型數(shù)據(jù)330存儲(chǔ)在存儲(chǔ)設(shè)備560中。在生成代表屏幕圖像880的屏幕圖像數(shù)據(jù)730之后,處理器組件550可在顯示器580上可視地呈現(xiàn)圖像880以用于觀看,和/或?qū)⑵聊粓D像數(shù)據(jù)730傳送到觀看裝置700以使得能夠在顯示器780上呈現(xiàn)屏幕圖像880以用于觀看。
在一些實(shí)施例中,處理器組件550可接收各種配置參數(shù)的指示以便在從3D模型280生成屏幕圖像880時(shí)采用。例如,在將屏幕圖像880傳送到觀看裝置700以便在顯示器780上呈現(xiàn)的實(shí)施例中,可(例如,經(jīng)由網(wǎng)絡(luò)999)從觀看裝置700接收顯示器780的像素分辨率、顏色深度、幀速率和/或其它參數(shù)的指示。又如,可經(jīng)由網(wǎng)絡(luò)999從觀看裝置700和/或從其它裝置(未示出)接收屏幕圖像880相對(duì)于3D模型280的位置和/或平面取向和/或邊界的指示。處理器組件550可將這些參數(shù)的指示作為控制數(shù)據(jù)335的一部分加以存儲(chǔ)以便供處理器組件650在生成屏幕圖像880時(shí)使用。備選地或另外地,像素分辨率的指示可以是顯示器580而不是顯示器780的像素分辨率的指示。
控制例行程序640并入可在它的作用中作為計(jì)算裝置500的控制器600的控制器處理器組件的處理器組件650上操作以便實(shí)現(xiàn)執(zhí)行各種功能的邏輯的指令序列。在執(zhí)行控制例行程序640時(shí),處理器組件650從代表3D模型280的3D模型數(shù)據(jù)330生成代表屏幕圖像880的屏幕圖像數(shù)據(jù)730。更準(zhǔn)確地說(shuō),處理器組件650將屏幕圖像880渲染為投影到屏幕圖像880的平面上的3D模型280的2D投影。圖3描繪從代表3D模型280的3D模型數(shù)據(jù)330生成代表屏幕圖像880的屏幕圖像數(shù)據(jù)730的這種生成的示例實(shí)施例。如圖中所描繪,控制例行程序640可并入光柵化組件642、著色裁剪組件643、屬性?xún)?nèi)插組件645、像素著色組件646、顏色內(nèi)插組件647和平均組件648中的一個(gè)或多個(gè)。在執(zhí)行控制例行程序640時(shí),處理器組件650可執(zhí)行控制例行程序640的組件642、643、645、646、647和648中的一個(gè)或多個(gè)。
光柵化組件642可從控制數(shù)據(jù)335中檢索屏幕圖像880相對(duì)于3D模型280的一個(gè)或多個(gè)對(duì)象的位置和平面取向和/或屏幕圖像880在該平面內(nèi)的邊界的指示。然后,光柵化組件642可在利用屏幕圖像880的每個(gè)像素的多個(gè)樣本光柵化3D模型280的一個(gè)或多個(gè)對(duì)象的圖形基元時(shí)采用該指示來(lái)確定這些基元中哪些基元是在屏幕圖像880中至少部分可見(jiàn)的可見(jiàn)基元。圖4更詳細(xì)地描繪了這種光柵化的示例的方面。如圖中所描繪,3D模型數(shù)據(jù)330可并入基元數(shù)據(jù)332,基元數(shù)據(jù)332包括3D模型280的基元282的各種特性的指示,例如大小、形狀、位置和/或取向。如之前所論述,每個(gè)基元282可以是各種類(lèi)型的多邊形中的任一種,每個(gè)多邊形在單個(gè)平面內(nèi)延伸。但是,之前也論述了,典型的3D模型中的大多數(shù)基元(如果不是所有的話(huà))是三角形。
在執(zhí)行光柵化以便確定3D模型280的哪些基元282同時(shí)也是在屏幕圖像880中至少部分地可見(jiàn)的可見(jiàn)基元882時(shí),光柵化組件642可將屏幕圖像880的每個(gè)屏幕圖像像素885的眾多屏幕圖像樣本888(為了看清楚起見(jiàn),只描繪了其中一個(gè)樣本)朝向3D模型280投影。在如此投影屏幕圖像樣本888時(shí),在選擇每個(gè)屏幕圖像像素885的屏幕圖像樣本888的數(shù)量中以及在選擇在由每個(gè)屏幕圖像像素885覆蓋的區(qū)域內(nèi)的屏幕圖像樣本888的位置中,可使用各種采樣技術(shù)中的任一種采樣技術(shù)。這些技術(shù)包括并且不限于超級(jí)采樣、多重采樣和/或隨機(jī)采樣。當(dāng)將每個(gè)屏幕圖像樣本888朝向3D模型280投影(就像從屏幕圖像880與屏幕圖像880的平面垂直地延伸的線(xiàn)條一樣)時(shí),每個(gè)屏幕圖像樣本888遇到的3D模型280的第一基元282變成是在屏幕圖像880中至少部分地可見(jiàn)的可見(jiàn)基元882。
通過(guò)光柵化標(biāo)識(shí)什么可見(jiàn)基元882的指示可作為可見(jiàn)基元數(shù)據(jù)632的一部分加以存儲(chǔ)。如圖中所描繪,在關(guān)于可見(jiàn)基元882的信息中,這樣存儲(chǔ)的可以是與每個(gè)可見(jiàn)基元882的每個(gè)頂點(diǎn)883相關(guān)聯(lián)的各種屬性的指示。存儲(chǔ)的屬性可包括并且不限于頂點(diǎn)的位置、法向向量、材料規(guī)格、相對(duì)于屏幕圖像880的平面的深度等中的一個(gè)或多個(gè)。在一些實(shí)施例中,可將可見(jiàn)基元數(shù)據(jù)632稱(chēng)為“幾何緩沖器”(G-緩沖器)。
返回到圖3,在通過(guò)光柵化組件642執(zhí)行光柵化之后,著色裁剪組件643可將每個(gè)可見(jiàn)基元882劃分成各自代表可見(jiàn)基元882與著色像素的交叉的一個(gè)或多個(gè)多邊形以得出頂點(diǎn)以便在隨后的像素著色中使用。圖5更詳細(xì)地描繪了示例可見(jiàn)基元882的這種劃分的方面。更具體來(lái)說(shuō),疊加在光柵化期間采用的屏幕像素885的柵格上的是將在隨后的像素著色期間采用的著色像素685的更粗大的柵格。如圖中所描繪,每個(gè)著色像素685可覆蓋比屏幕像素885大的區(qū)域。并且,著色像素685的邊界可與屏幕像素885的邊界的至少子集對(duì)準(zhǔn),以使得由著色像素685覆蓋的區(qū)域與由屏幕像素885的整數(shù)倍覆蓋的區(qū)域重疊(例如,如圖中所描繪,每個(gè)著色像素685對(duì)應(yīng)于并且覆蓋四個(gè)屏幕像素885的區(qū)域)。盡管這樣描繪了著色像素685與屏幕像素885之間的位置和區(qū)域的特定對(duì)應(yīng)方式,但是應(yīng)注意,可以有邊界不對(duì)準(zhǔn)和/或由著色像素685覆蓋的區(qū)域不是由屏幕像素885覆蓋的區(qū)域的整數(shù)倍的其它實(shí)施例。
在一些實(shí)施例中,由像素685和885覆蓋的邊界和/或區(qū)域?qū)?yīng)的方式可由存儲(chǔ)在配置數(shù)據(jù)335中的指示(例如,如圖中所描繪,規(guī)定每個(gè)著色像素685覆蓋四個(gè)屏幕像素885的區(qū)域的指示)確定,并且可通過(guò)著色裁剪組件643從配置數(shù)據(jù)335檢索該指示。在其它實(shí)施例中,著色裁剪組件643可包括著色像素定義組件6435,它用于基于對(duì)可見(jiàn)基元882的一個(gè)或多個(gè)特性的分析(例如,基于諸如由可見(jiàn)基元882覆蓋的平均區(qū)域的統(tǒng)計(jì))確定由著色像素685覆蓋的邊界和/或區(qū)域。
不管以何種方式確定著色像素685相對(duì)于屏幕像素885的大小和/或邊界,著色裁剪組件643都可對(duì)落在每個(gè)著色像素685內(nèi)的可見(jiàn)基元882的部分執(zhí)行裁剪,以便得出各自代表由著色像素685覆蓋的區(qū)域與落在該著色像素685內(nèi)的可見(jiàn)基元882的一部分的交叉的多邊形682。更具體來(lái)說(shuō),如圖中所描繪,之前通過(guò)光柵化組件642標(biāo)識(shí)的示例可見(jiàn)基元882由包括對(duì)應(yīng)于尋求顏色值的示例屏幕像素885(突出顯示)的示例著色像素685(同樣突出顯示)在內(nèi)的著色像素685的柵格覆蓋。在示例著色像素685內(nèi),在示例著色像素685的兩個(gè)拐角附近執(zhí)行示例可見(jiàn)基元882的裁剪,以便定義具有通過(guò)由示例著色像素685覆蓋的區(qū)域與落在示例著色像素685內(nèi)的示例可見(jiàn)基元882的部分的交叉定義的形狀的示例多邊形682(同樣突出顯示)。
在一些實(shí)施例中,著色裁剪組件643可在每個(gè)可見(jiàn)基元882上生成重心坐標(biāo)系統(tǒng)以便控制裁剪。如本領(lǐng)域技術(shù)人員所熟悉的,重心坐標(biāo)系統(tǒng)基于頂點(diǎn)的相對(duì)位置、在頂點(diǎn)之間延伸的每一段的中心和/或多邊形的質(zhì)量中心。此外,在至少凸多邊形內(nèi),重心坐標(biāo)系統(tǒng)將具有完全非負(fù)的坐標(biāo)值的所有點(diǎn)定義為位于多邊形的邊緣處或位于多邊形內(nèi),并將具有任何負(fù)坐標(biāo)值的所有點(diǎn)定義為位于多邊形外。因此,在著色裁剪組件643為每個(gè)可見(jiàn)基元882生成重心坐標(biāo)系統(tǒng)的實(shí)施例中,著色裁剪組件643可接著對(duì)任何負(fù)坐標(biāo)值施加限制以作為標(biāo)識(shí)著色像素685內(nèi)的可見(jiàn)基元882的邊緣的位置的一部分,從而確定應(yīng)當(dāng)在該著色像素685內(nèi)的什么位置進(jìn)行裁剪。
不管以何種方式確定在哪里執(zhí)行裁剪以便生成每個(gè)多邊形682,著色裁剪組件643都可將由可通過(guò)每個(gè)著色像素685內(nèi)的這種裁剪定義的每個(gè)多邊形682覆蓋的區(qū)域的指示作為多邊形數(shù)據(jù)633的一部分加以存儲(chǔ)。在一些實(shí)施例中,在多邊形數(shù)據(jù)633內(nèi)通過(guò)它們的頂點(diǎn)的位置的指示描述每個(gè)這樣的多邊形682的幾何結(jié)構(gòu)。
參考圖3,在通過(guò)裁剪組件643執(zhí)行裁剪之后,屬性?xún)?nèi)插組件645可將每個(gè)可見(jiàn)基元882的頂點(diǎn)處的一個(gè)或多個(gè)屬性?xún)?nèi)插到作為裁剪的結(jié)果從可見(jiàn)基元882劃分的多邊形682的頂點(diǎn)。圖6更詳細(xì)地描繪了將來(lái)自示例基元882的頂點(diǎn)的屬性?xún)?nèi)插到圖5的示例多邊形682的頂點(diǎn)的這種內(nèi)插的示例的方面。更具體地轉(zhuǎn)到圖6中的描繪,屬性?xún)?nèi)插組件645將示例可見(jiàn)基元882的每個(gè)頂點(diǎn)883的一個(gè)或多個(gè)屬性?xún)?nèi)插到示例多邊形682的每個(gè)頂點(diǎn)683。在這樣做時(shí),屬性?xún)?nèi)插組件645可從可見(jiàn)基元數(shù)據(jù)632檢索示例可見(jiàn)基元882的頂點(diǎn)883的屬性的指示,并且可從多邊形數(shù)據(jù)633檢索示例多邊形682的頂點(diǎn)683的位置的指示。
通過(guò)屬性?xún)?nèi)插組件645將示例可見(jiàn)基元882的每個(gè)頂點(diǎn)883處的一個(gè)或多個(gè)屬性?xún)?nèi)插到示例多邊形682的頂點(diǎn)683避免了進(jìn)行從頂點(diǎn)883到位于示例可見(jiàn)基元882外部的一個(gè)或多個(gè)位置的內(nèi)插的外推的實(shí)例。將來(lái)自基元的每個(gè)頂點(diǎn)的屬性?xún)?nèi)插到位于該基元外部的位置可在邏輯上視為是不合邏輯的,因?yàn)閷?duì)于該基元的屬性將對(duì)不存在任何事物的位置或可存在具有完全不同的屬性的另一個(gè)基元的位置具有任意適用性的固有假設(shè)不存在任何基礎(chǔ)。舉例來(lái)說(shuō),從示例可見(jiàn)基元882的頂點(diǎn)883處的顏色值到位于示例可見(jiàn)基元882外部的位置的內(nèi)插可能毫無(wú)意義,因?yàn)樵诩磳①x予顏色值的該位置不存在任何事物,或者在該位置處可能存在具有完全不同顏色的不同基元。
示例多邊形682的頂點(diǎn)683提供已知位于示例可見(jiàn)基元882內(nèi)或沿示例可見(jiàn)基元882的一個(gè)或多個(gè)邊緣、而不是位于示例可見(jiàn)基元882外部的位置的集合。因此,能夠通過(guò)屬性?xún)?nèi)插組件645執(zhí)行從示例可見(jiàn)基元882的頂點(diǎn)883到示例多邊形682的每個(gè)頂點(diǎn)683的內(nèi)插,而沒(méi)有這些內(nèi)插中的一個(gè)或多個(gè)內(nèi)插是外推的風(fēng)險(xiǎn)。這與其它已知技術(shù)形成對(duì)比,在其它已知技術(shù)中,將執(zhí)行從示例可見(jiàn)基元882的頂點(diǎn)883到形成示例多邊形682的著色像素685的拐角或到該著色像素685和一個(gè)或多個(gè)相鄰著色像素685的中心的這種內(nèi)插。那些其它已知技術(shù)的這類(lèi)內(nèi)插均將導(dǎo)致多個(gè)外推(通過(guò)參考圖5可見(jiàn))。屬性?xún)?nèi)插組件645可將為示例多邊形682的每個(gè)頂點(diǎn)683得出的屬性的指示作為屬性多邊形數(shù)據(jù)635的一部分加以存儲(chǔ)。在一些實(shí)施例中,屬性多邊形數(shù)據(jù)635還可包括每個(gè)頂點(diǎn)683的位置的指示。
返回到圖3,在通過(guò)屬性?xún)?nèi)插組件645執(zhí)行內(nèi)插以便得出每個(gè)多邊形682的頂點(diǎn)683處的屬性之后,像素著色組件646可采用每個(gè)多邊形682的每個(gè)頂點(diǎn)683處的屬性作為在每個(gè)多邊形682的每個(gè)頂點(diǎn)683處執(zhí)行像素著色的輸入以便得出每個(gè)多邊形682的每個(gè)頂點(diǎn)683的顏色值。例如,在示例多邊形682的每個(gè)頂點(diǎn)683處,像素著色組件646可采用該頂點(diǎn)683處的一個(gè)或多個(gè)屬性來(lái)得出指定該頂點(diǎn)683處的顏色的顏色值。在這樣做時(shí),像素著色組件646可從屬性多邊形數(shù)據(jù)635檢索示例多邊形682的每個(gè)頂點(diǎn)683的一個(gè)或多個(gè)屬性的指示。然后,像素著色組件646可將指定示例多邊形682的每個(gè)頂點(diǎn)683處的顏色的顏色值的指示作為著色多邊形數(shù)據(jù)636的一部分加以存儲(chǔ)。在一些實(shí)施例中,著色多邊形數(shù)據(jù)636還可包括每個(gè)頂點(diǎn)683的位置和/或每個(gè)頂點(diǎn)683處的屬性的指示。
在通過(guò)像素著色組件646在每個(gè)多邊形682的頂點(diǎn)683處進(jìn)行著色之后,顏色內(nèi)插組件647可內(nèi)插每個(gè)多邊形682的每個(gè)頂點(diǎn)處的顏色值以便得出屏幕像素885的顏色值。圖7更詳細(xì)地描繪了用于得出與圖5和圖6的示例多邊形682重合的示例屏幕像素885的顏色值的這種內(nèi)插的示例的方面。
應(yīng)注意,通過(guò)顏色內(nèi)插組件647執(zhí)行的內(nèi)插包括從通過(guò)像素著色組件646為多邊形682中的對(duì)應(yīng)多邊形的頂點(diǎn)683得出的顏色值至少內(nèi)插指定屏幕圖像880的每個(gè)屏幕像素885的顏色的顏色值。但是,通過(guò)顏色內(nèi)插組件647執(zhí)行的內(nèi)插還可包括通過(guò)類(lèi)似地內(nèi)插由屬性?xún)?nèi)插組件645為多邊形682中的對(duì)應(yīng)多邊形的頂點(diǎn)683得出的那些屬性來(lái)為每個(gè)屏幕像素885得出一個(gè)或多個(gè)其它屬性。在這樣做時(shí),顏色內(nèi)插組件647可從著色多邊形數(shù)據(jù)636檢索多邊形682的每個(gè)頂點(diǎn)683處的顏色值和/或?qū)傩灾档闹甘?。然后,顏色?nèi)插組件647可將通過(guò)內(nèi)插為屏幕像素885得出的顏色值和/或?qū)傩灾底鳛槠聊粓D像數(shù)據(jù)730的一部分加以存儲(chǔ)。在將每個(gè)屏幕圖像像素885的值存儲(chǔ)在屏幕圖像數(shù)據(jù)730中的情況下,屏幕圖像數(shù)據(jù)730可變成屏幕圖像880的表示。
因此,顏色內(nèi)插組件647可對(duì)通過(guò)像素著色組件646為示例多邊形682的每個(gè)頂點(diǎn)683得出的顏色值進(jìn)行內(nèi)插以便得出指定示例屏幕像素885的顏色的顏色值。類(lèi)似地,顏色內(nèi)插組件647可另外對(duì)通過(guò)像素著色組件646為示例多邊形682的每個(gè)頂點(diǎn)683得出的一個(gè)或多個(gè)其它屬性的值進(jìn)行內(nèi)插以便得出示例屏幕像素885的那一個(gè)或多個(gè)其它屬性的值。通過(guò)顏色內(nèi)插組件647執(zhí)行的這些內(nèi)插所指向的位置可以是示例屏幕像素885的中心。此外,示例屏幕像素885可視為是作為示例屏幕像素885的中心落在示例多邊形682內(nèi)的結(jié)果而對(duì)應(yīng)于示例多邊形682,并且與示例多邊形682的這種對(duì)應(yīng)形式可確定,即將從示例多邊形682的頂點(diǎn)683內(nèi)插為示例屏幕像素885得出的屬性(包括顏色值)。
正如剛剛所描述的通過(guò)顏色內(nèi)插組件647執(zhí)行從多邊形682的頂點(diǎn)683到每個(gè)屏幕像素885的中心的這種內(nèi)插可在每個(gè)屏幕像素885存在單個(gè)樣本的實(shí)施例(或者在不管每個(gè)像素可存在多少個(gè)樣本、每個(gè)屏幕像素885的顏色值的得出不基于每個(gè)像素的樣本數(shù)量的實(shí)施例中)中執(zhí)行。但是,在光柵化期間采用每個(gè)屏幕像素885多個(gè)樣本的實(shí)施例中,顏色內(nèi)插組件647可從多邊形的頂點(diǎn)683內(nèi)插到那些樣本中的每個(gè)樣本。圖8更詳細(xì)地描繪了到每個(gè)屏幕像素885的每個(gè)樣本的這種內(nèi)插的示例。
具體來(lái)說(shuō),如圖中所描繪,可以有4個(gè)樣本888落在示例屏幕像素885內(nèi),以使得顏色內(nèi)插組件647可將示例多邊形682的頂點(diǎn)683處的顏色值和/或其它屬性的值內(nèi)插到示例屏幕像素885的每個(gè)樣本888。在這樣做時(shí),顏色內(nèi)插組件647可將如此為每個(gè)樣本888得出的那些值的指示作為樣本顏色數(shù)據(jù)637的一部分加以存儲(chǔ)。然后,平均組件648可將剛剛通過(guò)內(nèi)插為示例屏幕像素885的每個(gè)樣本888得出的顏色值進(jìn)行平均以便得出示例屏幕像素885的顏色值。平均組件648可另外對(duì)同樣剛剛通過(guò)內(nèi)插為示例屏幕像素885的每個(gè)樣本888得出的一個(gè)或多個(gè)其它屬性的值進(jìn)行平均以便得出示例屏幕像素885的一個(gè)或多個(gè)其它屬性的值。在這樣做時(shí),平均組件648可將示例屏幕像素885的顏色值和/或一個(gè)或多個(gè)其它屬性的值作為屏幕圖像數(shù)據(jù)730的一部分加以存儲(chǔ)。
應(yīng)注意,對(duì)圖5-8的單個(gè)示例多邊形682的形成和使用的描述意在作為在本文中介紹的相對(duì)簡(jiǎn)單的示例,以使得能夠清楚地論述從3D模型280得出屏幕像素885的至少顏色值以作為渲染2D屏幕圖像880的一部分。但是,本領(lǐng)域技術(shù)人員可意識(shí)到,相當(dāng)普遍的是,在至少一些著色像素685內(nèi)具有多于一個(gè)可見(jiàn)基元882的部分,以使得將在那些著色像素685中的每個(gè)著色像素685內(nèi)形成多于一個(gè)多邊形682。圖9A和圖9B一起描繪作為落在備選示例著色像素685內(nèi)的一對(duì)相鄰可見(jiàn)基元882a和882b的部分的結(jié)果在備選示例著色像素685內(nèi)形成一對(duì)相鄰多邊形682a和682b的方面。
更具體地轉(zhuǎn)到圖9A,如圖中所描繪,這兩個(gè)相鄰可見(jiàn)基元882a和882b以形成具有共同頂點(diǎn)883的共同邊緣的方式相遇,該共同邊緣延伸穿過(guò)備選示例著色像素685并穿過(guò)與備選示例著色像素685的一部分重合的備選示例屏幕像素885。圖中還描繪了每個(gè)相鄰可見(jiàn)基元882a和882b的頂點(diǎn)883(包括在其間共享的兩個(gè)頂點(diǎn)883)的相對(duì)位置。
更具體地轉(zhuǎn)到圖9B,著色裁剪組件643執(zhí)行在備選示例著色像素685內(nèi)裁剪每個(gè)相鄰可見(jiàn)基元882a和882b以便在其中形成這一對(duì)相鄰多邊形682a和682b。如圖中所描繪,相鄰多邊形682a和682b共享相鄰可見(jiàn)基元882a和882b之間的共同邊緣的一部分以作為相鄰多邊形682a和682b之間的共同邊緣。圖中還描繪了每個(gè)相鄰多邊形682a和682b的頂點(diǎn)683(包括在其間共享的兩個(gè)頂點(diǎn)683)的相對(duì)位置。作為通過(guò)著色裁剪組件643執(zhí)行裁剪的結(jié)果,沿備選示例著色像素685的邊界定義這兩個(gè)共享的頂點(diǎn)683。
在相鄰可見(jiàn)基元882a和882b是定義相同對(duì)象的相同表面的部分的可見(jiàn)基元的集合的一部分的實(shí)施例中,為沿備選示例著色像素685的邊界共享共同位置的每個(gè)相鄰多邊形682a和682b的頂點(diǎn)683得出的顏色值可能是基本類(lèi)似的。因此,可察覺(jué)到在由相鄰可見(jiàn)基元882a和882b定義的該表面的部分之間出現(xiàn)的平滑過(guò)渡。甚至,圖9B示出,如本文中所描述將可見(jiàn)基元?jiǎng)澐殖梢粋€(gè)或多個(gè)多邊形可能導(dǎo)致形成與將共享共同位置的相鄰可見(jiàn)基元相關(guān)聯(lián)的多邊形頂點(diǎn),而這又可能導(dǎo)致在相鄰可見(jiàn)基元中的這種類(lèi)似的顏色值。
返回到圖1,在如上文中所描述生成代表屏幕圖像880的屏幕圖像數(shù)據(jù)730之后,處理組件550可在顯示器580上呈現(xiàn)圖像880。備選地或另外地,處理器組件550可操作接口590以便將屏幕圖像數(shù)據(jù)730傳送給諸如觀看裝置700的另一個(gè)裝置,從而使得能夠在諸如顯示器780的另一個(gè)顯示器上呈現(xiàn)圖像880。
在各種實(shí)施例中,觀看裝置700并入處理器組件750、存儲(chǔ)設(shè)備760、顯示器780和用于將觀看裝置700耦合到網(wǎng)絡(luò)999的接口790中的一個(gè)或多個(gè)。存儲(chǔ)設(shè)備760存儲(chǔ)控制例行程序740和屏幕圖像數(shù)據(jù)730中的一個(gè)或多個(gè)??刂评谐绦?40并入可在它的作用中作為觀看裝置700的主要處理器組件的處理器組件750上操作以便實(shí)現(xiàn)執(zhí)行各種功能的邏輯的指令序列。在一些實(shí)施例中,在執(zhí)行控制例行程序740時(shí),處理器組件750可操作接口790以便將顯示器780的像素分辨率的指示傳送給計(jì)算裝置500。如前所述,可將這種指示作為控制數(shù)據(jù)335的一部分存儲(chǔ)在計(jì)算裝置500內(nèi),并稍后用于渲染屏幕圖像880的一個(gè)或多個(gè)方面(例如,設(shè)置屏幕圖像880的像素分辨率)。備選地或另外地,處理器組件750可操作接口790以便在計(jì)算裝置500如上所述渲染屏幕圖像880之后從計(jì)算裝置500接收代表屏幕圖像880的屏幕圖像數(shù)據(jù)730。然后,處理器組件750可在顯示器780上可視地呈現(xiàn)運(yùn)動(dòng)屏幕圖像880。
圖2示出包括計(jì)算裝置500的備選實(shí)施例的圖形渲染系統(tǒng)1000的備選實(shí)施例的框圖。圖2的圖像渲染系統(tǒng)1000的備選實(shí)施例在很多方面與圖1的實(shí)施例類(lèi)似,并且因此通篇中利用類(lèi)似參考數(shù)字來(lái)表示類(lèi)似元素。但是,不同于圖1的計(jì)算裝置500,圖2的計(jì)算裝置500沒(méi)有并入控制器600。因此,不同于圖1的計(jì)算裝置500,在圖2的計(jì)算裝置500中,處理器組件550執(zhí)行控制例行程序640,以便代替存在獨(dú)立的處理器組件650來(lái)這樣做。因此,在圖2的圖像渲染系統(tǒng)1000的備選實(shí)施例中,處理器組件550以與關(guān)于通過(guò)處理器組件650執(zhí)行控制例行程序640描述的方式?jīng)]什么不同的方式執(zhí)行屏幕圖像880的渲染,包括光柵化、著色和過(guò)濾。
在各種實(shí)施例中,每個(gè)處理器組件550和650都可包括各種各樣的市售處理器中的任一種處理器。并且,這些處理器組件中的一個(gè)或多個(gè)處理器組件可包括多個(gè)處理器、多線(xiàn)程化處理器、多核處理器(不管這些核是在相同還是獨(dú)立管芯上共存)、和/或以某種方式將多個(gè)物理上獨(dú)立的處理器鏈接在一起的某個(gè)其它種類(lèi)的多處理器體系結(jié)構(gòu)。并且,盡管每個(gè)處理器組件550和650可包括各種類(lèi)型的處理器中的任何處理器,但是可預(yù)想,控制器600的處理器組件650(如果存在的話(huà))可稍微進(jìn)行專(zhuān)業(yè)化和/或優(yōu)化以便執(zhí)行與圖形和/或視頻有關(guān)的任務(wù)。更廣泛地說(shuō),可預(yù)想,控制器600實(shí)施計(jì)算裝置500的圖形子系統(tǒng)以便使得能夠利用與處理器組件650不同的獨(dú)立組件以及它的更密切相關(guān)的組件來(lái)執(zhí)行與圖形渲染、視頻壓縮、圖像重新縮放等有關(guān)的任務(wù)。
在各種實(shí)施例中,存儲(chǔ)設(shè)備560、660和760中的每個(gè)存儲(chǔ)設(shè)備可基于各種各樣的信息存儲(chǔ)技術(shù)中的任何一種技術(shù),可能包括需要不間斷地提供電力的易失性技術(shù),并且可能包括必需使用可移動(dòng)或不可移動(dòng)的機(jī)器可讀存儲(chǔ)介質(zhì)的技術(shù)。因此,這些存儲(chǔ)設(shè)備中的每個(gè)存儲(chǔ)設(shè)備可包括各種各樣類(lèi)型的存儲(chǔ)裝置(或類(lèi)型的組合)中的任一種,包括但不限于只讀存儲(chǔ)器(ROM)、隨機(jī)存取存儲(chǔ)器(RAM)、動(dòng)態(tài)RAM(DRAM)、雙倍數(shù)據(jù)速率DRAM(DDR-DRAM)、同步DRAM(SDRAM)、靜態(tài)RAM(SRAM)、可編程ROM(PROM)、可擦除可編程ROM(EPROM)、電可擦除可編程ROM(EEPROM)、閃速存儲(chǔ)器、聚合物存儲(chǔ)器(例如,鐵電聚合物存儲(chǔ)器)、雙向存儲(chǔ)器、相變或鐵電存儲(chǔ)器、硅-氧化物-氮化物-氧化物-硅(SONOS)存儲(chǔ)器、磁或光卡、一個(gè)或多個(gè)個(gè)別鐵磁磁盤(pán)驅(qū)動(dòng)器、或組織成一個(gè)或多個(gè)陣列的多個(gè)存儲(chǔ)裝置(例如,組織成獨(dú)立磁盤(pán)冗余陣列或RAID陣列的多個(gè)鐵磁磁盤(pán)驅(qū)動(dòng)器)。應(yīng)注意,盡管將這些存儲(chǔ)設(shè)備中的每個(gè)存儲(chǔ)設(shè)備描繪為單個(gè)區(qū)塊,但是它們中的一個(gè)或多個(gè)可包括可基于不同存儲(chǔ)技術(shù)的多個(gè)存儲(chǔ)裝置。因此,例如,描繪的這些存儲(chǔ)設(shè)備的每個(gè)存儲(chǔ)設(shè)備中的一個(gè)或多個(gè)設(shè)備可表示以下裝置的組合:可借以在某種形式的機(jī)器可讀存儲(chǔ)介質(zhì)上存儲(chǔ)和傳達(dá)程序和/或數(shù)據(jù)的光驅(qū)動(dòng)器或閃速存儲(chǔ)器卡讀取器;用于在相對(duì)延長(zhǎng)的時(shí)期在本地存儲(chǔ)程序和/或數(shù)據(jù)的鐵磁磁盤(pán)驅(qū)動(dòng)器;以及使得能夠相對(duì)快速地存取程序和/或數(shù)據(jù)的一個(gè)或多個(gè)易失性固態(tài)存儲(chǔ)器裝置(例如,SRAM或DRAM)。還應(yīng)注意,這些存儲(chǔ)設(shè)備中的每個(gè)存儲(chǔ)設(shè)備可由基于相同存儲(chǔ)技術(shù)但是可作為專(zhuān)業(yè)化的結(jié)果在使用中獨(dú)立維持的多個(gè)存儲(chǔ)組件組成(例如,采用一些DRAM裝置作為主存儲(chǔ)設(shè)備,而采用其它DRAM裝置作為圖形控制器的不同幀緩沖器)。
在各種實(shí)施例中,如上所述,接口590和790可采用使得能夠?qū)⑦@些計(jì)算裝置耦合到其它裝置的各種各樣的信令技術(shù)中的任何技術(shù)。這些接口中的每個(gè)接口包括提供使得能夠進(jìn)行這種耦合的至少一些必需功能性的電路。但是,這些接口中的每個(gè)接口也可至少部分地用由處理器組件的對(duì)應(yīng)組件執(zhí)行(例如,以便實(shí)現(xiàn)協(xié)議堆?;蚱渌卣鳎┑闹噶钚蛄衼?lái)實(shí)現(xiàn)。在采用電和/或光傳導(dǎo)電纜布線(xiàn)的情況下,這些接口可采用符合各種工業(yè)標(biāo)準(zhǔn)中的任何標(biāo)準(zhǔn)的信令和/或協(xié)議,包括但不限于RS-232C、RS-422、USB、以太網(wǎng)(IEEE-802.3)或IEEE-1394。在必需使用無(wú)線(xiàn)信號(hào)傳輸?shù)那闆r下,這些接口可采用符合各種工業(yè)標(biāo)準(zhǔn)中的任何標(biāo)準(zhǔn)的信令和/或協(xié)議,包括但不限于:IEEE 802.11a、802.11b、802.11g、802.16、802.20(通常稱(chēng)為“移動(dòng)寬帶無(wú)線(xiàn)接入”);藍(lán)牙;ZigBee;或蜂窩無(wú)線(xiàn)電電話(huà)服務(wù),例如GSM和通用分組無(wú)線(xiàn)電服務(wù)(GSM/GPRS)、CDMA/1xRTT、全球演進(jìn)增強(qiáng)數(shù)據(jù)速率(EDGE)、僅支持?jǐn)?shù)據(jù)的演進(jìn)/演進(jìn)數(shù)據(jù)優(yōu)化(EV-DO)、數(shù)據(jù)和語(yǔ)音演進(jìn)(EV-DV)、高速下行鏈路分組接入(HSDPA)、高速上行鏈路分組接入(HSUPA)、4G LTE等。
圖10示出邏輯流2100的一個(gè)實(shí)施例。邏輯流2100可代表通過(guò)本文中描述的一個(gè)或多個(gè)實(shí)施例執(zhí)行的一些或所有操作。更具體來(lái)說(shuō),邏輯流2100可說(shuō)明在執(zhí)行至少控制例行程序640中通過(guò)處理器組件550和/或650執(zhí)行、和/或通過(guò)計(jì)算裝置500的其它組件執(zhí)行的操作。
在2110,計(jì)算裝置的處理器組件(例如,計(jì)算裝置500的處理器組件550和/或650)執(zhí)行從即將從3D模型渲染的2D屏幕圖像(例如,屏幕圖像880)的平面的角度光柵化3D模型的所有圖形基元(例如,3D模型280的基元282)。在這樣做時(shí),處理器組件標(biāo)識(shí)可從2D屏幕圖像的角度可見(jiàn)的3D模型的所有基元(例如,可見(jiàn)基元882),并獲得與這些可見(jiàn)基元中的每個(gè)基元的頂點(diǎn)相關(guān)聯(lián)的各種屬性。如上所述,可從另一個(gè)計(jì)算裝置(例如,觀看裝置700)接收這類(lèi)平面的位置和/或取向、以及該平面內(nèi)的屏幕圖像的邊界。
在2120,處理器組件對(duì)可見(jiàn)基元的至少一部分所在的每個(gè)著色像素內(nèi)的可見(jiàn)基元執(zhí)行裁剪以便得出各自代表著色像素的區(qū)域與落在著色像素內(nèi)的可見(jiàn)基元的部分的交叉的多邊形。如前所述,著色像素可各自定義成包括比組成2D屏幕圖像的每個(gè)著色像素大的區(qū)域,以使得著色像素的柵格可以比屏幕像素的柵格更粗大。同樣如前所述,可以用與屏幕像素的邊界的至少子集對(duì)準(zhǔn)的邊界來(lái)定義著色像素,以使得可將每個(gè)著色像素定義成與著色像素的整數(shù)倍對(duì)應(yīng)(例如,如本文中所描繪,每個(gè)著色像素對(duì)應(yīng)于四個(gè)屏幕像素)。
在2130,處理器組件執(zhí)行像素著色以便根據(jù)從相關(guān)聯(lián)的可見(jiàn)基元的頂點(diǎn)內(nèi)插到多邊形的頂點(diǎn)的屬性得出多邊形的頂點(diǎn)處的顏色值。在2140,處理器組件可將來(lái)自多邊形的頂點(diǎn)的顏色值內(nèi)插到屏幕像素的中心以便得出屏幕像素的顏色值。如前所述,可采用每個(gè)屏幕像素的中心相對(duì)于多邊形的位置來(lái)確定采用哪個(gè)多邊形的頂點(diǎn)來(lái)提供用于內(nèi)插的顏色值。
圖11示出邏輯流2200的一個(gè)實(shí)施例。邏輯流2200可代表通過(guò)本文中描述的一個(gè)或多個(gè)實(shí)施例執(zhí)行的一些或所有操作。更具體來(lái)說(shuō),邏輯流2200可說(shuō)明在執(zhí)行至少控制例行程序640中通過(guò)處理器組件550和/或650執(zhí)行、和/或通過(guò)計(jì)算裝置500的其它組件執(zhí)行的操作。
在2210,計(jì)算裝置的處理器組件(例如,計(jì)算裝置500的處理器組件550和/或650)執(zhí)行從即將從3D模型渲染的2D屏幕圖像(例如,屏幕圖像880)的平面的角度光柵化3D模型的所有圖形基元(例如,3D模型280的基元282),以便標(biāo)識(shí)從2D屏幕圖像的角度可見(jiàn)的3D模型的所有基元(例如,可見(jiàn)基元882)。如上所述,可從另一個(gè)計(jì)算裝置(例如,觀看裝置700)接收這類(lèi)平面的位置和/或取向、以及該平面內(nèi)的屏幕圖像的邊界。
在2220,處理器組件對(duì)可見(jiàn)基元的至少一部分所在的每個(gè)著色像素內(nèi)的可見(jiàn)基元執(zhí)行裁剪以便得出各自代表著色像素的區(qū)域與落在著色像素內(nèi)的可見(jiàn)基元的部分的交叉的多邊形。如前所述,著色像素可各自定義成包括比組成2D屏幕圖像的每個(gè)著色像素大的區(qū)域,以使得著色像素的柵格可以比屏幕像素的柵格更粗大。同樣如前所述,可以用與屏幕像素的邊界的至少子集對(duì)準(zhǔn)的邊界來(lái)定義著色像素,以使得可將每個(gè)著色像素定義成與著色像素的整數(shù)倍對(duì)應(yīng)(例如,如本文中所描繪,每個(gè)著色像素對(duì)應(yīng)于四個(gè)屏幕像素)。
在2230,處理器組件執(zhí)行內(nèi)插以便通過(guò)從相關(guān)聯(lián)的可見(jiàn)基元的頂點(diǎn)處的屬性?xún)?nèi)插來(lái)得出多邊形的頂點(diǎn)處的屬性。在2240,處理器執(zhí)行像素著色從多邊形的頂點(diǎn)處的屬性得出多邊形的頂點(diǎn)處的顏色值。
在2250,處理器組件可將來(lái)自多邊形的頂點(diǎn)的至少顏色值內(nèi)插到落在每個(gè)多邊形內(nèi)的樣本。在2260,處理器組件將落在每個(gè)屏幕像素內(nèi)的樣本處的至少顏色值求平均以便得出屏幕像素的顏色值。如前所述,也可將來(lái)自多邊形的頂點(diǎn)的其它屬性的值內(nèi)插到這些樣本,然后從這些樣本求平均以便為每個(gè)屏幕像素得出那些屬性的值。
圖12示出適于實(shí)現(xiàn)如前所述的各種實(shí)施例的示例性處理體系結(jié)構(gòu)3000的實(shí)施例。更具體來(lái)說(shuō),處理體系結(jié)構(gòu)3000(或其變型)可作為計(jì)算裝置300、500或700中的一個(gè)或多個(gè)的部分、和/或作為控制器600的部分實(shí)現(xiàn)。應(yīng)注意,給處理體系結(jié)構(gòu)3000的組件提供了參考數(shù)字,其中最后兩個(gè)數(shù)字對(duì)應(yīng)于之前作為計(jì)算裝置300、500和700以及控制器600的一部分進(jìn)行描繪和描述的至少一些組件的參考數(shù)字的最后兩個(gè)數(shù)字。
處理體系結(jié)構(gòu)3000包括在數(shù)字處理中通常采用的各種元件,包括但不限于一個(gè)或多個(gè)處理器、多核處理器、協(xié)處理器、存儲(chǔ)器單元、芯片組、控制器、外圍設(shè)備、接口、振蕩器、計(jì)時(shí)裝置、視頻卡、音頻卡、多媒體輸入/輸出(I/O)組件、電源等。如本申請(qǐng)書(shū)中所使用,術(shù)語(yǔ)“系統(tǒng)”和“組件”是要指在其中進(jìn)行數(shù)字處理的計(jì)算裝置的實(shí)體,該實(shí)體可以是硬件、硬件和軟件的組合、軟件、或執(zhí)行中的軟件,其示例由描繪的該示例性處理體系結(jié)構(gòu)提供。例如,組件可以是但不限于是在處理器組件上運(yùn)行的進(jìn)程、處理器組件本身、可采用光和/或磁存儲(chǔ)介質(zhì)的存儲(chǔ)裝置(例如,硬盤(pán)驅(qū)動(dòng)器、陣列中的多個(gè)存儲(chǔ)驅(qū)動(dòng)器等)、軟件對(duì)象、可執(zhí)行指令序列、指令線(xiàn)程、程序和/或整個(gè)計(jì)算裝置(例如,整個(gè)計(jì)算機(jī))。舉例來(lái)說(shuō),在服務(wù)器上運(yùn)行的應(yīng)用和服務(wù)器都可以是組件。一個(gè)或多個(gè)組件可駐留在執(zhí)行的進(jìn)程和/或線(xiàn)程內(nèi),并且組件可局部化在一個(gè)計(jì)算裝置上和/或分布在兩個(gè)或兩個(gè)以上計(jì)算裝置之間。此外,組件可在通信上通過(guò)各種類(lèi)型的通信介質(zhì)彼此耦合以便協(xié)調(diào)操作。協(xié)調(diào)可涉及信息的單向或雙向交換。例如,組件可以用通過(guò)通信介質(zhì)通信的信號(hào)的形式通信信息。信息可作為分配給一條或多條信號(hào)線(xiàn)的信號(hào)實(shí)現(xiàn)。消息(包括命令、狀態(tài)、地址或數(shù)據(jù)消息)可以是這類(lèi)信號(hào)之一,或者可以是多個(gè)這類(lèi)信號(hào),并且可通過(guò)各種連接和/或接口中的任一種串行地或基本上并行地傳送。
如圖中所描繪,在實(shí)現(xiàn)處理體系結(jié)構(gòu)3000時(shí),計(jì)算裝置包括至少處理器組件950、存儲(chǔ)設(shè)備960、到其它裝置的接口990、以及耦合959。如下文將解釋?zhuān)Q于實(shí)現(xiàn)處理體系結(jié)構(gòu)3000的計(jì)算裝置的各個(gè)方面,包括它的預(yù)期使用和/或使用狀況,這類(lèi)計(jì)算裝置還可包括另外的組件,例如但不限于顯示器接口985。
耦合959包括一個(gè)或多個(gè)總線(xiàn)、點(diǎn)到點(diǎn)互連、收發(fā)器、緩沖器、交叉點(diǎn)開(kāi)關(guān)和/或在通信上至少將處理器組件950耦合到存儲(chǔ)設(shè)備960的其它導(dǎo)體和/或邏輯。耦合959還可將處理器組件950耦合到接口990、音頻子系統(tǒng)970和顯示器接口985中的一個(gè)或多個(gè)(取決于還存在這些和/或其它組件中的哪些組件)。在通過(guò)耦合959如此耦合處理器組件950的情況下,處理器組件950能夠執(zhí)行在上文最后針對(duì)上述計(jì)算裝置中的無(wú)論哪個(gè)(哪些)計(jì)算裝置實(shí)現(xiàn)處理體系結(jié)構(gòu)3000描述的任務(wù)中的各種任務(wù)。耦合959可利用借以用光和/或電方式傳達(dá)信號(hào)的各種技術(shù)或技術(shù)的組合中的任一種來(lái)實(shí)現(xiàn)。此外,耦合959的至少部分可采用符合各種各樣的工業(yè)標(biāo)準(zhǔn)中的任一種標(biāo)準(zhǔn)的計(jì)時(shí)和/或協(xié)議,包括但不限于加速圖形端口(AGP)、CardBus、擴(kuò)展工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)(E-ISA)、微信道體系結(jié)構(gòu)(MCA)、NuBus、外圍組件互連(擴(kuò)展)(PCI-X)、PCI Express(PCI-E)、個(gè)人計(jì)算機(jī)存儲(chǔ)卡國(guó)際協(xié)會(huì)(PCMCIA)總線(xiàn)、HyperTransportTM、QuickPath等。
如前所述,處理器組件950(對(duì)應(yīng)于處理器組件550、650和750)可包括采用各種各樣技術(shù)中的任何技術(shù)并用在物理上以各種方式中的任何方式組合的一個(gè)或多個(gè)核實(shí)現(xiàn)的各種各樣市售處理器中的任何處理器。
如前所述,存儲(chǔ)設(shè)備960(對(duì)應(yīng)于存儲(chǔ)設(shè)備560、660和760)可由基于各種各樣技術(shù)或技術(shù)組合中的任一種的一個(gè)或多個(gè)不同的存儲(chǔ)裝置組成。更具體來(lái)說(shuō),如圖中所描繪,存儲(chǔ)設(shè)備960可包括以下存儲(chǔ)設(shè)備中的一種或多種:易失性存儲(chǔ)設(shè)備961(例如,基于一種或多種形式的RAM技術(shù)的固態(tài)存儲(chǔ)設(shè)備),非易失性存儲(chǔ)設(shè)備962(例如,不需要持續(xù)提供電力來(lái)保存它們的內(nèi)容的固態(tài)、鐵磁或其它存儲(chǔ)設(shè)備),以及可移動(dòng)媒體存儲(chǔ)設(shè)備963(例如,可借以在計(jì)算裝置之間傳達(dá)信息的可移動(dòng)磁盤(pán)或固態(tài)存儲(chǔ)卡存儲(chǔ)設(shè)備)。這種將存儲(chǔ)設(shè)備960描繪為可能包括多種不同類(lèi)型的存儲(chǔ)設(shè)備的描繪是在承認(rèn)在計(jì)算裝置中普遍使用多于一種類(lèi)型的存儲(chǔ)裝置,其中一種類(lèi)型提供相對(duì)快速的讀和寫(xiě)能力以使得能夠通過(guò)處理器組件950對(duì)數(shù)據(jù)進(jìn)行更快速的操縱(但也可能使用不斷需要電力的“易失性”技術(shù)),而另一種類(lèi)型提供相對(duì)高密度的非易失性存儲(chǔ)(但可能提供相對(duì)緩慢的讀和寫(xiě)能力)。
給定采用不同技術(shù)的不同存儲(chǔ)裝置的通常不同的特性,這類(lèi)不同的存儲(chǔ)裝置還普遍通過(guò)利用不同接口耦合到它們的不同存儲(chǔ)裝置的不同存儲(chǔ)設(shè)備控制器耦合到計(jì)算裝置的其它部分。舉例來(lái)說(shuō),在存在易失性存儲(chǔ)設(shè)備961并且它基于RAM技術(shù)的情況下,易失性存儲(chǔ)設(shè)備961可在通信上通過(guò)存儲(chǔ)設(shè)備控制器965a耦合到耦合959,存儲(chǔ)設(shè)備控制器965a提供到可能采用行和列尋址的易失性存儲(chǔ)設(shè)備961的合適接口,并且其中存儲(chǔ)設(shè)備控制器965a可執(zhí)行行刷新和/或其它維護(hù)任務(wù)以便幫助保存存儲(chǔ)在易失性存儲(chǔ)設(shè)備961內(nèi)的信息。又如,在存在非易失性存儲(chǔ)設(shè)備962并且它包括一個(gè)或多個(gè)鐵磁和/或固態(tài)盤(pán)驅(qū)動(dòng)器的情況下,非易失性存儲(chǔ)設(shè)備962可在通信上通過(guò)存儲(chǔ)設(shè)備控制器965b耦合到耦合959,存儲(chǔ)設(shè)備控制器965b提供到可能采用信息塊和/或柱面和扇區(qū)的尋址的非易失性存儲(chǔ)設(shè)備962的合適接口。再如,在存在可移動(dòng)媒體存儲(chǔ)設(shè)備963并且它包括采用一件或多件機(jī)器可讀存儲(chǔ)介質(zhì)969的一個(gè)或多個(gè)光和/或固態(tài)盤(pán)驅(qū)動(dòng)器的情況下,可移動(dòng)介質(zhì)存儲(chǔ)設(shè)備963可在通信上通過(guò)存儲(chǔ)設(shè)備控制器965c耦合到耦合959,存儲(chǔ)設(shè)備控制器965c提供到可能采用信息塊的尋址的可移動(dòng)媒體存儲(chǔ)設(shè)備963的合適接口,并且其中存儲(chǔ)設(shè)備控制器965c可以用對(duì)于延長(zhǎng)機(jī)器可讀存儲(chǔ)介質(zhì)969的壽命特有的方式協(xié)調(diào)讀、擦除和寫(xiě)操作。
易失性存儲(chǔ)設(shè)備961或非易失性存儲(chǔ)設(shè)備962中的一個(gè)或另一個(gè)可包括機(jī)器可讀存儲(chǔ)介質(zhì)形式的制品,取決于所基于的技術(shù),可在機(jī)器可讀存儲(chǔ)介質(zhì)上存儲(chǔ)包括可由處理器組件950執(zhí)行的指令序列的例行程序。舉例來(lái)說(shuō),在非易失性存儲(chǔ)設(shè)備962包括基于鐵磁的磁盤(pán)驅(qū)動(dòng)器(例如,所謂的“硬盤(pán)驅(qū)動(dòng)器”)的情況下,每個(gè)這樣的磁盤(pán)驅(qū)動(dòng)器通常采用一個(gè)或多個(gè)旋轉(zhuǎn)盤(pán),磁響應(yīng)顆粒的涂層沉積在所述一個(gè)或多個(gè)旋轉(zhuǎn)盤(pán)上,并按各種模式磁取向以便以與諸如軟盤(pán)的存儲(chǔ)介質(zhì)類(lèi)似的方式存儲(chǔ)諸如指令序列的信息。又如,非易失性存儲(chǔ)設(shè)備962可由用于以與致密閃速卡類(lèi)似的方式存儲(chǔ)諸如指令序列的信息的固態(tài)存儲(chǔ)裝置庫(kù)組成。同樣地,普遍的是在計(jì)算裝置中在不同時(shí)間采用不同類(lèi)型的存儲(chǔ)裝置以便存儲(chǔ)可執(zhí)行例行程序和/或數(shù)據(jù)。
因此,包括即將由處理器組件950執(zhí)行的指令序列的例行程序最初可存儲(chǔ)在機(jī)器可讀存儲(chǔ)介質(zhì)969上,并且隨后可采用可移動(dòng)媒體存儲(chǔ)設(shè)備963來(lái)將該例行程序復(fù)制到非易失性存儲(chǔ)設(shè)備962以便長(zhǎng)期存儲(chǔ),而無(wú)需繼續(xù)存在機(jī)器可讀存儲(chǔ)介質(zhì)969和/或易失性存儲(chǔ)設(shè)備961以使得能夠在執(zhí)行該例行程序時(shí)供處理器組件950更快速地訪(fǎng)問(wèn)。
如前所述,接口900(可能對(duì)應(yīng)于接口590或790)可采用對(duì)應(yīng)于可用于在通信上將計(jì)算裝置耦合到一個(gè)或多個(gè)其它裝置的各種通信技術(shù)中的任一種的各種信令技術(shù)中的任一種。同樣,可采用各種形式的有線(xiàn)或無(wú)線(xiàn)信令中的一種或兩種來(lái)使得處理器組件950能夠可能通過(guò)網(wǎng)絡(luò)(例如,網(wǎng)絡(luò)999)或網(wǎng)絡(luò)的互連集合與輸入/輸出裝置(例如,描繪的示例鍵盤(pán)920或打印機(jī)925)和/或其它計(jì)算裝置交互。在識(shí)別任何一個(gè)計(jì)算裝置通常必須支持的多種類(lèi)型的信令和/或協(xié)議的通常大不相同的字符時(shí),將接口990描繪為包括多個(gè)不同的接口控制器995a、995b和995c。接口控制器995a可采用各種類(lèi)型的有線(xiàn)數(shù)字串行接口或射頻無(wú)線(xiàn)接口中的任一種來(lái)從諸如描繪的鍵盤(pán)920的用戶(hù)輸入裝置接收串行傳送的消息。接口控制器995b可采用各種基于電纜布線(xiàn)或無(wú)線(xiàn)信令、計(jì)時(shí)和/或協(xié)議中的任一種來(lái)通過(guò)描繪的網(wǎng)絡(luò)999(可能是由一個(gè)或多個(gè)鏈路組成的網(wǎng)絡(luò)、更小型網(wǎng)絡(luò)或可能是互聯(lián)網(wǎng))訪(fǎng)問(wèn)其它計(jì)算裝置。接口995c可采用各種電傳導(dǎo)電纜布線(xiàn)中的任一種以使得能夠使用串行或并行信號(hào)傳輸來(lái)向描繪的打印機(jī)925傳達(dá)數(shù)據(jù)??稍谕ㄐ派贤ㄟ^(guò)接口990的一個(gè)或多個(gè)接口控制器耦合的裝置的其它示例包括但不限于用于監(jiān)測(cè)人的聲音以便接受那些人經(jīng)由語(yǔ)音或他們可發(fā)出的其它聲音用信號(hào)通知的命令和/或數(shù)據(jù)的麥克風(fēng)、遠(yuǎn)程控件、手寫(xiě)筆、讀卡器、指紋閱讀器、虛擬現(xiàn)實(shí)交互手套、圖形輸入平板電腦、控制桿、其它鍵盤(pán)、視網(wǎng)膜掃描儀、觸摸屏的觸摸輸入組件、追蹤球、各種傳感器、用于監(jiān)測(cè)人的移動(dòng)以便接受那些人經(jīng)由姿勢(shì)和/或面部表情用信號(hào)通知的命令和/或數(shù)據(jù)的相機(jī)或相機(jī)陣列、激光打印機(jī)、噴墨打印機(jī)、機(jī)械機(jī)器人、銑床等。
在計(jì)算裝置在通信上耦合到(或者可能實(shí)際上并入)顯示器(例如,描繪的示例顯示器980)的情況下,實(shí)現(xiàn)處理體系結(jié)構(gòu)3000的這類(lèi)計(jì)算裝置還可包括顯示器接口985。盡管可采用更廣義類(lèi)型的接口來(lái)在通信上耦合到顯示器,但是在顯示器上可視地顯示各種形式的內(nèi)容時(shí)通常需要的稍微專(zhuān)業(yè)化的另外的處理以及使用的基于電纜布線(xiàn)的接口的稍微專(zhuān)業(yè)化的性質(zhì)通常使得提供不同顯示器接口是可取的。顯示器接口985可在通信耦合顯示器980時(shí)采用的有線(xiàn)和/或無(wú)線(xiàn)信令技術(shù)可利用符合各種工業(yè)標(biāo)準(zhǔn)中的任一種標(biāo)準(zhǔn)的信令和/或協(xié)議,包括但不限于各種模擬視頻接口、數(shù)字視頻接口(DVI)、DisplayPort等中的任一種。
圖13示出系統(tǒng)4000的實(shí)施例。在各種實(shí)施例中,系統(tǒng)4000可代表:適合與本文中描述的一個(gè)或多個(gè)實(shí)施例一起使用的系統(tǒng)或體系結(jié)構(gòu),例如圖形渲染系統(tǒng)1000;計(jì)算裝置300、500或700中的一個(gè)或多個(gè);和/或邏輯流2100或2200中的一個(gè)或多個(gè)。實(shí)施例在這方面不受限制。
如圖所示,系統(tǒng)4000可包括多個(gè)元件。根據(jù)設(shè)計(jì)或性能約束的給定集合的需要,可利用一個(gè)或多個(gè)電路、組件、寄存器、處理器、軟件子例行程序、模塊或其任意組合來(lái)實(shí)現(xiàn)一個(gè)或多個(gè)元件。盡管圖13舉例示出按照特定拓?fù)涞挠邢迶?shù)量的元件,但是可明白,根據(jù)給定實(shí)現(xiàn)的需要,可在系統(tǒng)4000中使用按照任何合適拓?fù)涞母嗷蚋俚脑?。?shí)施例在這一點(diǎn)上不受限制。
在實(shí)施例中,系統(tǒng)4000可以是媒體系統(tǒng),但是系統(tǒng)4000不限于這一點(diǎn)。例如,系統(tǒng)4000可并入到個(gè)人計(jì)算機(jī)(PC)、膝上型計(jì)算機(jī)、超級(jí)膝上型計(jì)算機(jī)、平板電腦、觸摸板、便攜式計(jì)算機(jī)、手持式計(jì)算機(jī)、掌上型計(jì)算機(jī)、個(gè)人數(shù)字助理(PDA)、蜂窩電話(huà)、組合式蜂窩電話(huà)/PDA、電視、智能裝置(例如,智能電話(huà)、智能平板或智能電視)、移動(dòng)互聯(lián)網(wǎng)裝置(MID)、消息傳遞裝置、數(shù)據(jù)通信裝置等中。
在實(shí)施例中,系統(tǒng)4000包括耦合到顯示器4980的平臺(tái)4900a。平臺(tái)4900a可從諸如內(nèi)容服務(wù)裝置4900c或內(nèi)容遞送裝置4900d或其它類(lèi)似的內(nèi)容源的內(nèi)容裝置接收內(nèi)容??衫冒ㄒ粋€(gè)或多個(gè)導(dǎo)航特征的導(dǎo)航控制器4920來(lái)與例如平臺(tái)4900a和/或顯示器4980交互。下文將更詳細(xì)地描述這些組件中的每個(gè)組件。
在實(shí)施例中,平臺(tái)4900a可包括處理器組件4950、芯片組4955、存儲(chǔ)器單元4969、收發(fā)器4995、存儲(chǔ)設(shè)備4962、應(yīng)用4940和/或圖形子系統(tǒng)4985的任意組合。芯片組4955可在處理器電路4950、存儲(chǔ)器單元4969、收發(fā)器4995、存儲(chǔ)設(shè)備4962、應(yīng)用4940和/或圖形子系統(tǒng)4985中提供相互通信。例如,芯片組4955可包括能夠提供與存儲(chǔ)設(shè)備4962的相互通信的存儲(chǔ)設(shè)備適配器(未描繪)。
處理器組件4950可利用任何處理器或邏輯裝置來(lái)實(shí)現(xiàn),并且可以與處理器組件550、650或750中的一個(gè)或多個(gè)和/或與圖12的處理器組件950相同或類(lèi)似。
存儲(chǔ)器單元4969可利用能夠存儲(chǔ)數(shù)據(jù)的任何機(jī)器可讀或計(jì)算機(jī)可讀介質(zhì)來(lái)實(shí)現(xiàn),并且可與圖12的存儲(chǔ)介質(zhì)969相同或類(lèi)似。
收發(fā)器4995可包括能夠利用各種合適的無(wú)線(xiàn)通信技術(shù)傳送和接收信號(hào)的一個(gè)或多個(gè)無(wú)線(xiàn)電,并且可以與圖12中的收發(fā)器995b相同或類(lèi)似。
顯示器4980可包括任何電視型監(jiān)視器或顯示器,并且可以與顯示器580和780中的一個(gè)或多個(gè)和/或與圖12中的顯示器980相同或類(lèi)似。
存儲(chǔ)設(shè)備4962可作為非易失性存儲(chǔ)裝置來(lái)實(shí)現(xiàn),并且可以與圖12中的非易失性存儲(chǔ)設(shè)備962相同或類(lèi)似。
圖形子系統(tǒng)4985可執(zhí)行諸如靜態(tài)或視頻的圖像的處理以用于顯示。例如,圖形子系統(tǒng)4985可以是圖形處理單元(GPU)或可視處理單元(VPU)??衫媚M或數(shù)字接口來(lái)在通信上耦合圖形子系統(tǒng)4985和顯示器4980。例如,接口可以是高清多媒體接口、DisplayPort、無(wú)線(xiàn)HDMI和/或無(wú)線(xiàn)HD符合技術(shù)中的任一種。圖形子系統(tǒng)4985可集成到處理器電路4950或芯片組4955中。圖形子系統(tǒng)4985可以是在通信上耦合到芯片組4955的獨(dú)立卡。
可在各種硬件體系結(jié)構(gòu)中實(shí)現(xiàn)本文中描述的圖形和/或視頻處理技術(shù)。例如,可在芯片組內(nèi)集成圖形和/或視頻功能性。或者,可使用離散的圖形和/或視頻處理器。作為另一個(gè)實(shí)施例,可通過(guò)包括多核處理器的通用處理器來(lái)實(shí)現(xiàn)圖形和/或視頻功能。在另一個(gè)實(shí)施例中,可在消費(fèi)型電子裝置中實(shí)現(xiàn)這些功能。
在實(shí)施例中,可通過(guò)任何國(guó)家、國(guó)際和/或獨(dú)立服務(wù)來(lái)代管內(nèi)容服務(wù)裝置4900b,并且因此平臺(tái)4900a可經(jīng)由例如互聯(lián)網(wǎng)訪(fǎng)問(wèn)內(nèi)容服務(wù)裝置4900b。內(nèi)容服務(wù)裝置4900b可耦合到平臺(tái)4900a和/或顯示器4980。平臺(tái)4900a和/或內(nèi)容服務(wù)裝置4900b可耦合到網(wǎng)絡(luò)4999以便進(jìn)出網(wǎng)絡(luò)4999通信(例如,發(fā)送和/或接收)媒體信息。內(nèi)容遞送裝置4900c也可耦合到平臺(tái)4900a和/或顯示器4980。
在實(shí)施例中,內(nèi)容服務(wù)裝置4900b可包括有線(xiàn)電視盒、個(gè)人計(jì)算機(jī)、網(wǎng)絡(luò)、電話(huà)、能夠遞送數(shù)字信息和/或內(nèi)容的互聯(lián)網(wǎng)啟用的裝置或器具、以及能夠在內(nèi)容提供商與平臺(tái)4900a和/或顯示器4980之間經(jīng)由網(wǎng)絡(luò)4999或直接單向或雙向通信內(nèi)容的任何其它類(lèi)似裝置。將明白,可經(jīng)由網(wǎng)絡(luò)4999向以及從系統(tǒng)4000中的任何一個(gè)組件和內(nèi)容提供商單向和/或雙向地通信內(nèi)容。內(nèi)容的示例可包括任何媒體信息,包括例如視頻、音樂(lè)、醫(yī)療和游戲信息等。
內(nèi)容服務(wù)裝置4900b接收內(nèi)容,例如包括媒體信息、數(shù)字信息和/或其它內(nèi)容的有線(xiàn)電視節(jié)目。內(nèi)容提供商的示例可包括任何有線(xiàn)電視或衛(wèi)星電視或無(wú)線(xiàn)電或互聯(lián)網(wǎng)內(nèi)容提供商。提供的示例不是要限制實(shí)施例。
在實(shí)施例中,平臺(tái)4900a可從具有一個(gè)或多個(gè)導(dǎo)航特征的導(dǎo)航控制器4920接收控制信號(hào)??衫脤?dǎo)航控制器4920的導(dǎo)航特征與例如用戶(hù)界面4880交互。在實(shí)施例中,導(dǎo)航控制器4920可以是指向裝置,它可以是允許用戶(hù)將空間(例如,連續(xù)的多維)數(shù)據(jù)輸入到計(jì)算機(jī)的計(jì)算機(jī)硬件組件(具體來(lái)說(shuō)是人機(jī)交互裝置)。諸如圖形用戶(hù)界面(GUI)、電視和監(jiān)視器的許多系統(tǒng)都允許用戶(hù)利用物理姿勢(shì)來(lái)控制數(shù)據(jù)并將數(shù)據(jù)提供給計(jì)算機(jī)或電視。
導(dǎo)航控制器4920的導(dǎo)航特征的移動(dòng)可通過(guò)顯示在顯示器上的指針、光標(biāo)、聚焦環(huán)或其它可視指示符的移動(dòng)來(lái)在顯示器(例如,顯示器4980)上重復(fù)。例如,在軟件應(yīng)用4940的控制下,可將位于導(dǎo)航控制器4920上的導(dǎo)航特征映射到顯示在用戶(hù)界面4880上的虛擬導(dǎo)航特征。在實(shí)施例中,導(dǎo)航控制器4920可以不是獨(dú)立組件,而是集成到平臺(tái)4900a和/或顯示器4980中。但是,實(shí)施例不限于本文中示出或描述的元件或上下文。
在實(shí)施例中,驅(qū)動(dòng)器(未示出)可包括使得用戶(hù)能夠在初始啟動(dòng)之后通過(guò)例如觸摸按鈕(在啟用時(shí))立即打開(kāi)和關(guān)閉平臺(tái)4900a(如電視)的技術(shù)。平臺(tái)邏輯可在平臺(tái)4900a“關(guān)閉”時(shí)允許平臺(tái)4900a向媒體適配器或其它內(nèi)容服務(wù)裝置4900b或內(nèi)容遞送裝置4900c流播內(nèi)容。另外,芯片組4955可包括例如支持5.1環(huán)繞立體聲音頻和/或高清7.1環(huán)繞立體聲音頻的硬件和/或軟件支持。驅(qū)動(dòng)器可包括用于集成式圖形平臺(tái)的圖形驅(qū)動(dòng)器。在實(shí)施例中,圖形驅(qū)動(dòng)器可包括外圍組件互連(PCI)Express圖形卡。
在各種實(shí)施例中,系統(tǒng)4000中所示的任何一個(gè)或多個(gè)組件都可集成。例如,平臺(tái)4900a和內(nèi)容服務(wù)裝置4900b可集成,或者平臺(tái)4900a和內(nèi)容遞送裝置4900c可集成,或者平臺(tái)4900a、內(nèi)容服務(wù)裝置4900b和內(nèi)容遞送裝置4900c可集成。在各種實(shí)施例中,平臺(tái)4900a和顯示器4980可以是集成單元。例如,顯示器4980和內(nèi)容服務(wù)裝置4900b可集成,或者顯示器4980和內(nèi)容遞送裝置4900c可被集成。這些示例不是要限制實(shí)施例。
在各種實(shí)施例中,系統(tǒng)4000可作為無(wú)線(xiàn)系統(tǒng)、有線(xiàn)系統(tǒng)或兩者的組合來(lái)實(shí)現(xiàn)。當(dāng)作為無(wú)線(xiàn)系統(tǒng)實(shí)現(xiàn)時(shí),系統(tǒng)4000可包括適合通過(guò)諸如一個(gè)或多個(gè)天線(xiàn)、傳送器、接收器、收發(fā)器、放大器、過(guò)濾器、控制邏輯等的無(wú)線(xiàn)共享介質(zhì)通信的組件和接口。無(wú)線(xiàn)共享介質(zhì)的示例可包括諸如RF頻譜等的無(wú)線(xiàn)頻譜的部分。當(dāng)作為有線(xiàn)系統(tǒng)實(shí)現(xiàn)時(shí),系統(tǒng)4000可包括適合通過(guò)諸如I/O適配器、用于連接I/O適配器與對(duì)應(yīng)有線(xiàn)通信介質(zhì)的物理連接器、網(wǎng)絡(luò)接口卡(NIC)、盤(pán)控制器、視頻控制器、音頻控制器等的有線(xiàn)通信介質(zhì)通信的組件和接口。有線(xiàn)通信介質(zhì)的示例可包括電線(xiàn)、電纜、金屬引線(xiàn)、印刷電路板(PCB)、背板、交換結(jié)構(gòu)、半導(dǎo)體材料、雙絞線(xiàn)、同軸電纜、光纖等。
平臺(tái)4900a可建立一個(gè)或多個(gè)邏輯或物理通道以便通信信息。信息可包括媒體信息和控制信息。媒體信息可以指代表打算給用戶(hù)的內(nèi)容的任何數(shù)據(jù)。內(nèi)容的示例可包括例如來(lái)自語(yǔ)音對(duì)話(huà)的數(shù)據(jù)、視頻會(huì)議、流播視頻、電子郵件(“email”)消息、語(yǔ)音信箱消息、字母數(shù)字符號(hào)、圖形、圖像、視頻、文本等。來(lái)自語(yǔ)音對(duì)話(huà)的數(shù)據(jù)可以是例如語(yǔ)音信息、靜默周期、背景噪音、舒適噪音、音調(diào)等??刂菩畔⒖梢灾复泶蛩憬o自動(dòng)化系統(tǒng)的命令、指令或控制字的任何數(shù)據(jù)。例如,控制信息可用于通過(guò)系統(tǒng)路由媒體信息、或命令節(jié)點(diǎn)以預(yù)定方式處理媒體信息。但是,實(shí)施例不限于圖13中示出或描述的元素或上下文。
如上所述,系統(tǒng)4000可以用變化的物理樣式或形狀因子來(lái)實(shí)施。圖14示出可在其中實(shí)施系統(tǒng)4000的小型形狀因子裝置5000的實(shí)施例。例如,在實(shí)施例中,裝置5000可作為具有無(wú)線(xiàn)能力的移動(dòng)計(jì)算裝置來(lái)實(shí)現(xiàn)。移動(dòng)計(jì)算裝置可以指例如具有處理系統(tǒng)和移動(dòng)電源(例如,一個(gè)或多個(gè)電池)的任何裝置。
如上所述,移動(dòng)計(jì)算裝置的示例可包括個(gè)人計(jì)算機(jī)(PC)、膝上型計(jì)算機(jī)、超級(jí)膝上型計(jì)算機(jī)、平板電腦、觸摸板、便攜式計(jì)算機(jī)、手持式計(jì)算機(jī)、掌上型計(jì)算機(jī)、個(gè)人數(shù)字助理(PDA)、蜂窩電話(huà)、組合式蜂窩電話(huà)/PDA、電視、智能裝置(例如,智能電話(huà)、智能平板或智能電視)、移動(dòng)互聯(lián)網(wǎng)裝置(MID)、消息傳遞裝置、數(shù)據(jù)通信裝置等。
移動(dòng)計(jì)算裝置的示例還可包括布置成由人穿戴的計(jì)算機(jī),例如腕帶式計(jì)算機(jī)、手指式計(jì)算機(jī)、環(huán)形計(jì)算機(jī)、眼鏡式計(jì)算機(jī)、腰帶式計(jì)算機(jī)、臂帶式計(jì)算機(jī)、鞋式計(jì)算機(jī)、服裝式計(jì)算機(jī)和其它可穿戴計(jì)算機(jī)。例如,在實(shí)施例中,移動(dòng)計(jì)算裝置可作為能夠執(zhí)行計(jì)算機(jī)應(yīng)用以及語(yǔ)音通信和/或數(shù)據(jù)通信的智能電話(huà)來(lái)實(shí)現(xiàn)。盡管可以用舉例作為智能電話(huà)實(shí)現(xiàn)的移動(dòng)計(jì)算裝置來(lái)描述一些實(shí)施例,但是可明白,也可利用其它無(wú)線(xiàn)移動(dòng)計(jì)算裝置來(lái)實(shí)現(xiàn)其它實(shí)施例。實(shí)施例在這方面不受限制。
如圖14所示,裝置5000可包括顯示器5980、導(dǎo)航控制器5920a、用戶(hù)界面5880、外殼5905、I/O裝置5920b和天線(xiàn)5998。顯示器5980可包括用于顯示適合移動(dòng)計(jì)算裝置的信息的任何合適的顯示器單元,并且可以與圖13中的顯示器4980相同或類(lèi)似。導(dǎo)航控制器5920a可包括可用于與用戶(hù)界面5880交互的一個(gè)或多個(gè)導(dǎo)航特征,并且可以與圖13中的導(dǎo)航控制器4920相同或類(lèi)似。I/O裝置5920b可包括用于將信息輸入到移動(dòng)計(jì)算裝置的任何合適的I/O裝置。I/O裝置5920b的示例可包括字母數(shù)字鍵盤(pán)、數(shù)字小鍵盤(pán)、觸摸板、輸入按鍵、按鈕、開(kāi)關(guān)、搖臂開(kāi)關(guān)、麥克風(fēng)、揚(yáng)聲器、語(yǔ)音識(shí)別裝置和軟件等。還可通過(guò)麥克風(fēng)將信息輸入到裝置5000??赏ㄟ^(guò)語(yǔ)音識(shí)別裝置將該信息數(shù)字化。實(shí)施例在這方面不受限制。
更一般來(lái)說(shuō),本文中描述和描繪的計(jì)算裝置的各種元件可包括各種硬件元件、軟件元件或兩者的組合。硬件元件的示例可包括裝置、邏輯裝置、組件、處理器、微處理器、電路、處理器組件、電路元件(例如,晶體管、電阻器、電容器、電感器等)、集成電路、專(zhuān)用集成電路(ASIC)、可編程邏輯裝置(PLD)、數(shù)字信號(hào)處理器(DSP)、現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA)、存儲(chǔ)器單元、邏輯門(mén)、寄存器、半導(dǎo)體裝置、芯片、微芯片、芯片組等。軟件元件的示例可包括軟件組件、程序、應(yīng)用、計(jì)算機(jī)程序、應(yīng)用程序、系統(tǒng)程序、軟件開(kāi)發(fā)程序、機(jī)器程序、操作系統(tǒng)軟件、中間件、固件、軟件模塊、例行程序、子例行程序、函數(shù)、方法、過(guò)程、軟件接口、應(yīng)用程序接口(API)、指令集、計(jì)算代碼、計(jì)算機(jī)代碼、代碼段、計(jì)算機(jī)代碼段、字、值、符號(hào)或其任意組合。但是,根據(jù)給定實(shí)現(xiàn)的需要,確定是否利用硬件元件和/或軟件元件來(lái)實(shí)現(xiàn)實(shí)施例可根據(jù)任意數(shù)量的因素改變,例如所需的計(jì)算速率、功率等級(jí)、耐熱性、處理循環(huán)預(yù)算、輸入數(shù)據(jù)速率、輸出數(shù)據(jù)速率、存儲(chǔ)器資源、數(shù)據(jù)總線(xiàn)速度和其它設(shè)計(jì)或性能約束。
一些實(shí)施例可以利用表述“一個(gè)實(shí)施例”或“實(shí)施例”及其派生詞來(lái)進(jìn)行描述。這些術(shù)語(yǔ)表示,結(jié)合該實(shí)施例描述的特定特征、結(jié)構(gòu)或特性包含在至少一個(gè)實(shí)施例中。本說(shuō)明書(shū)的各個(gè)地方出現(xiàn)短語(yǔ)“在一個(gè)實(shí)施例中”時(shí)不一定都指相同實(shí)施例。此外,一些實(shí)施例可利用表述“耦合”和“連接”及其派生詞來(lái)進(jìn)行描述。這些術(shù)語(yǔ)不一定要彼此同義。例如,一些實(shí)施例可利用術(shù)語(yǔ)“連接”和/或“耦合”來(lái)進(jìn)行描述,以便指示兩個(gè)或兩個(gè)以上元件彼此直接物理或電接觸。但是,術(shù)語(yǔ)“耦合”也可以表示兩個(gè)或兩個(gè)以上元件彼此不直接接觸,但仍然彼此共同協(xié)作或交互。此外,來(lái)自不同實(shí)施例的方面或元素可組合。
應(yīng)強(qiáng)調(diào),提供本公開(kāi)的摘要是為了允許閱讀者能夠快速確定本技術(shù)公開(kāi)的本質(zhì)。提交時(shí)要了解,它不是用于解釋或限制權(quán)利要求的范圍或含義。另外,在以上詳細(xì)描述中可見(jiàn),出于使本公開(kāi)流暢的目的,各個(gè)特征集中在單個(gè)實(shí)施例中。本公開(kāi)方法不是要解釋為反映這樣的意圖,即,要求權(quán)利的實(shí)施例需要比在每個(gè)權(quán)利要求中明確記載的特征更多的特征。而是,如隨附權(quán)利要求所反映,發(fā)明主題在于比單個(gè)公開(kāi)實(shí)施例的所有特征更少的特征。因此,隨附權(quán)利要求由此并入到詳細(xì)描述中,其中每個(gè)權(quán)利要求獨(dú)立代表單獨(dú)的實(shí)施例。在隨附權(quán)利要求中,術(shù)語(yǔ)“包括(including)”和“在其中(in which)”分別用作相應(yīng)術(shù)語(yǔ)“包含(comprising)”和“其中(wherein)”的簡(jiǎn)單等效詞。此外,術(shù)語(yǔ)“第一”、“第二”、“第三”等只是用作標(biāo)記,而不是要對(duì)其對(duì)象強(qiáng)加數(shù)值要求。
上文的描述包括所公開(kāi)的體系結(jié)構(gòu)的示例。當(dāng)然,不可能描述組件和/或方法的每種想得到的組合,但是本領(lǐng)域技術(shù)人員可意識(shí)到,許多進(jìn)一步的組合和排列是可能的。因此,新穎體系結(jié)構(gòu)意欲包含落在隨附權(quán)利要求的精神和范圍內(nèi)的所有這些改變、修改和變化。詳細(xì)公開(kāi)現(xiàn)在轉(zhuǎn)到提供關(guān)于進(jìn)一步實(shí)施例的示例。下文提供的示例不是要限制。
在示例1中,一種用于從3D模型數(shù)據(jù)渲染2D影像的裝置包括:裁剪組件,用于在由著色像素覆蓋的從3D模型得出的2D屏幕圖像的第一區(qū)域內(nèi)裁剪2D屏幕圖像的第一可見(jiàn)基元,以便形成代表第一區(qū)域與第一可見(jiàn)基元的交叉的第一多邊形;第一內(nèi)插組件,用于將第一可見(jiàn)基元的頂點(diǎn)的至少一個(gè)屬性?xún)?nèi)插到第一多邊形的每個(gè)頂點(diǎn);以及第二內(nèi)插組件,用于將第一多邊形的頂點(diǎn)的顏色值內(nèi)插到由屏幕圖像的屏幕像素覆蓋的第二區(qū)域內(nèi)的點(diǎn),第二區(qū)域小于第一區(qū)域并且至少部分地與第一區(qū)域重合。
在包括示例1的主題的示例2中,該裝置可包括像素定義組件,它用于基于2D屏幕圖像的眾多可見(jiàn)基元的特性確定第一區(qū)域的大小,所述眾多可見(jiàn)基元包括第一可見(jiàn)基元。
在包括示例1-2中任一示例的主題的示例3中,該點(diǎn)可位于屏幕像素的中心,并且著色組件基于該點(diǎn)相對(duì)于由裁剪組件形成的眾多多邊形中的每個(gè)多邊形的邊界的位置從眾多多邊形的頂點(diǎn)中選擇用于內(nèi)插這至少一個(gè)屬性的第一多邊形的頂點(diǎn),所述眾多多邊形包括第一多邊形。
在包括示例1-3中任一示例的主題的示例4中,該點(diǎn)可與落在屏幕像素內(nèi)的樣本的位置重合,在光柵化第一可見(jiàn)基元時(shí)采用該樣本。
在包括示例1-4中任一示例的主題的示例5中,該裝置可包括用于從內(nèi)插到第一多邊形的頂點(diǎn)的這至少一個(gè)屬性得出第一多邊形的頂點(diǎn)的顏色值的著色組件。
在包括示例1-5中任一示例的主題的示例6中,裁剪組件可裁剪第一區(qū)域內(nèi)的2D屏幕圖像的第二可見(jiàn)基元以便形成代表第一區(qū)域和第二可見(jiàn)基元的交叉的第二多邊形,第二多邊形與第一多邊形共享邊緣的至少一部分。
在包括示例1-6中任一示例的主題的示例7中,第一多邊形的頂點(diǎn)可與第二多邊形的頂點(diǎn)共享沿著色像素的邊界的位置。
在包括示例1-7中任一示例的主題的示例8中,該裝置可包括光柵化組件,它用于光柵化3D模型的基元以便標(biāo)識(shí)在2D屏幕圖像中可見(jiàn)的眾多可見(jiàn)基元,所述眾多可見(jiàn)基元包括第一可見(jiàn)基元。
在包括示例1-8中任一示例的主題的示例9中,光柵化組件可將屏幕圖像的像素分辨率設(shè)置成顯示器的像素分辨率。
在包括示例1-9中任一示例的主題的示例10中,該裝置可包括用于呈現(xiàn)屏幕圖像的顯示器。
在包括示例1-10中任一示例的主題的示例11中,該裝置可包括用于將代表屏幕圖像的屏幕圖像數(shù)據(jù)傳送給另一個(gè)裝置的接口。
在示例12中,一種用于從3D模型數(shù)據(jù)渲染2D影像的裝置包括:裁剪組件,用于在由著色像素覆蓋的從3D模型得出的2D屏幕圖像的區(qū)域內(nèi)裁剪2D屏幕圖像的第一可見(jiàn)基元和第二可見(jiàn)基元,以便形成代表由著色像素覆蓋的區(qū)域和第一可見(jiàn)基元的交叉的第一多邊形,并形成代表由著色像素覆蓋的區(qū)域和第二可見(jiàn)基元的交叉的第二多邊形;第一內(nèi)插組件,用于將第一可見(jiàn)基元的頂點(diǎn)的至少一個(gè)屬性?xún)?nèi)插到第一多邊形的每個(gè)頂點(diǎn),并將第二可見(jiàn)基元的頂點(diǎn)的這至少一個(gè)屬性?xún)?nèi)插到第二多邊形的每個(gè)頂點(diǎn);以及第二內(nèi)插組件,用于將第一多邊形的頂點(diǎn)的顏色值內(nèi)插到由屏幕圖像的第一屏幕像素覆蓋的區(qū)域內(nèi)的第一點(diǎn),并將第二多邊形的頂點(diǎn)的顏色值內(nèi)插到由屏幕圖像的第二屏幕像素覆蓋的區(qū)域內(nèi)的第二點(diǎn),由第一和第二屏幕像素覆蓋的區(qū)域中的每個(gè)區(qū)域均與由著色像素覆蓋的區(qū)域重合。
在包括示例12的主題的示例13中,第一點(diǎn)可位于第一屏幕像素的中心,第二點(diǎn)可位于第二屏幕像素的中心,并且第二內(nèi)插組件可基于第一點(diǎn)相對(duì)于由裁剪組件形成的眾多多邊形中的每個(gè)多邊形的邊界的位置從眾多多邊形的頂點(diǎn)中選擇用于內(nèi)插這至少一個(gè)屬性的第一多邊形的頂點(diǎn),并可基于第二點(diǎn)相對(duì)于眾多多邊形中的每個(gè)多邊形的邊界的位置從眾多多邊形的頂點(diǎn)中選擇用于內(nèi)插這至少一個(gè)屬性的第二多邊形的頂點(diǎn),所述眾多多邊形包括第一和第二多邊形。
在包括示例12-13中任一示例的主題的示例14中,第二可見(jiàn)基元可與第一可見(jiàn)基元共享邊緣的至少第一部分。
在包括示例12-14中任一示例的主題的示例15中,裁剪組件可裁剪第一和第二可見(jiàn)基元,以使得第一和第二多邊形能夠共享該邊緣的至少第二部分。
在包括示例12-15中任一示例的主題的示例16中,裁剪組件可裁剪第一和第二可見(jiàn)基元,以使得第一多邊形的頂點(diǎn)能夠與第二多邊形的頂點(diǎn)共享沿著色像素的邊界的位置。
在包括示例12-16中任一示例的主題的示例17中,該裝置可包括用于呈現(xiàn)屏幕圖像的顯示器。
在包括示例12-17中任一示例的主題的示例18中,該裝置可包括用于將屏幕圖像的像素分辨率設(shè)置成顯示器的像素分辨率的光柵化組件。
在包括示例12-18中任一示例的主題的示例19中,該裝置可包括用于將代表屏幕圖像的屏幕圖像數(shù)據(jù)傳送到另一個(gè)裝置的接口。
在包括示例12-19中任一示例的主題的示例20中,該裝置可包括用于從這另一個(gè)裝置接收屏幕圖像的平面的取向的指示的光柵化組件。
在示例21中,一種用于從3D模型數(shù)據(jù)渲染2D影像的計(jì)算機(jī)實(shí)現(xiàn)的方法包括:在由著色像素覆蓋的從3D模型得出的2D屏幕圖像的第一區(qū)域內(nèi)裁剪2D屏幕圖像的第一可見(jiàn)基元,以便形成代表第一區(qū)域和第一可見(jiàn)基元的交叉的第一多邊形;將第一可見(jiàn)基元的頂點(diǎn)的至少一個(gè)屬性?xún)?nèi)插到第一多邊形的每個(gè)頂點(diǎn);以及將第一多邊形的頂點(diǎn)的顏色值內(nèi)插到由屏幕圖像的屏幕像素覆蓋的第二區(qū)域內(nèi)的點(diǎn),第二區(qū)域小于第一區(qū)域并且至少部分地與第一區(qū)域重合。
在包括示例21的主題的示例22中,該方法可包括基于2D屏幕圖像的眾多可見(jiàn)基元的特性確定第一區(qū)域的大小,所述眾多可見(jiàn)基元包括第一可見(jiàn)基元。
在包括示例21-22中任一示例的主題的示例23中,該點(diǎn)可位于屏幕像素的中心,并且該方法可包括基于該點(diǎn)相對(duì)于由裁剪組件形成的眾多多邊形中的每個(gè)多邊形的邊界的位置從眾多多邊形的頂點(diǎn)中選擇用于內(nèi)插這至少一個(gè)屬性的第一多邊形的頂點(diǎn),所述眾多多邊形包括第一多邊形。
在包括示例21-23中任一示例的主題的示例24中,該點(diǎn)可與落在屏幕像素內(nèi)的樣本的位置重合,在光柵化第一可見(jiàn)基元時(shí)采用該樣本。
在包括示例21-24中任一示例的主題的示例25中,該方法可包括從內(nèi)插到第一多邊形的頂點(diǎn)的這至少一個(gè)屬性得出第一多邊形的頂點(diǎn)的顏色值。
在包括示例21-25中任一示例的主題的示例26中,該方法可包括裁剪第一區(qū)域內(nèi)的2D屏幕圖像的第二可見(jiàn)基元以便形成代表第一區(qū)域和第二可見(jiàn)基元的交叉的第二多邊形,第二多邊形與第一多邊形共享邊緣的至少一部分。
在包括示例21-26中任一示例的主題的示例27中,第一多邊形的頂點(diǎn)可與第二多邊形的頂點(diǎn)共享沿著色像素的邊界的位置。
在包括示例21-27中任一示例的主題的示例28中,該方法可包括在顯示器上呈現(xiàn)屏幕圖像。
在包括示例21-28中任一示例的主題的示例29中,該方法可包括將代表屏幕圖像的屏幕圖像數(shù)據(jù)傳送到另一個(gè)裝置。
在包括示例21-29中任一示例的主題的示例30中,該方法可包括光柵化3D模型的基元以便標(biāo)識(shí)在2D屏幕圖像中可見(jiàn)的眾多可見(jiàn)基元,所述眾多可見(jiàn)基元包括第一可見(jiàn)基元。
在示例31中,至少一種機(jī)器可讀存儲(chǔ)介質(zhì)包括指令,這些指令在由計(jì)算裝置執(zhí)行時(shí)使得計(jì)算裝置執(zhí)行以下操作:在由著色像素覆蓋的從3D模型得出的2D屏幕圖像的第一區(qū)域內(nèi)裁剪2D屏幕圖像的第一可見(jiàn)基元,以便形成代表第一區(qū)域和第一可見(jiàn)基元的交叉的第一多邊形;將第一可見(jiàn)基元的頂點(diǎn)的至少一個(gè)屬性?xún)?nèi)插到第一多邊形的每個(gè)頂點(diǎn);以及將第一多邊形的頂點(diǎn)的顏色值內(nèi)插到由屏幕圖像的屏幕像素覆蓋的第二區(qū)域內(nèi)的點(diǎn),第二區(qū)域小于第一區(qū)域并且至少部分地與第一區(qū)域重合。
在包括示例31的主題的示例32中,可使得計(jì)算裝置基于2D屏幕圖像的眾多可見(jiàn)基元的特性確定第一區(qū)域的大小,所述眾多可見(jiàn)基元包括第一可見(jiàn)基元。
在包括示例31-32中任一示例的主題的示例33中,該點(diǎn)可位于屏幕像素的中心,并且可使得計(jì)算裝置基于該點(diǎn)相對(duì)于由裁剪組件形成的眾多多邊形中的每個(gè)多邊形的邊界的位置從眾多多邊形的頂點(diǎn)中選擇用于內(nèi)插這至少一個(gè)屬性的第一多邊形的頂點(diǎn),所述眾多多邊形包括第一多邊形。
在包括示例31-33中任一示例的主題的示例34中,該點(diǎn)可與落在屏幕像素內(nèi)的樣本的位置重合,在光柵化第一可見(jiàn)基元時(shí)采用該樣本。
在包括示例31-34中任一示例的主題的示例35中,可使得計(jì)算裝置從內(nèi)插到第一多邊形的頂點(diǎn)的這至少一個(gè)屬性得出第一多邊形的頂點(diǎn)的顏色值。
在包括示例31-35中任一示例的主題的示例36中,可使得計(jì)算裝置裁剪第一區(qū)域內(nèi)的2D屏幕圖像的第二可見(jiàn)基元以便形成代表第一區(qū)域和第二可見(jiàn)基元的交叉的第二多邊形,第二多邊形與第一多邊形共享邊緣的至少一部分。
在包括示例31-36中任一示例的主題的示例37中,第一多邊形的頂點(diǎn)可與第二多邊形的頂點(diǎn)共享沿著色像素的邊界的位置。
在包括示例31-37中任一示例的主題的示例38中,可使得計(jì)算裝置在顯示器上呈現(xiàn)屏幕圖像。
在包括示例31-38中任一示例的主題的示例39中,可使得計(jì)算裝置將代表屏幕圖像的屏幕圖像數(shù)據(jù)傳送到另一個(gè)裝置。
在包括示例31-39中任一示例的主題的示例40中,可使得計(jì)算裝置將屏幕圖像的像素分辨率設(shè)置成顯示器的像素分辨率。
在包括示例31-40中任一示例的主題的示例41中,可使得計(jì)算裝置光柵化3D模型的基元以便標(biāo)識(shí)在2D屏幕圖像中可見(jiàn)的眾多可見(jiàn)基元,所述眾多可見(jiàn)基元包括第一可見(jiàn)基元。
在示例42中,至少一種機(jī)器可讀存儲(chǔ)介質(zhì)可包括指令,這些指令在由計(jì)算裝置執(zhí)行時(shí)使得計(jì)算裝置執(zhí)行以上任一方法。
在示例43中,一種用于從3D模型數(shù)據(jù)渲染2D影像的裝置可包括用于執(zhí)行以上任一方法的部件。
權(quán)利要求書(shū)(按照條約第19條的修改)
1.一種用于從三維(3D)模型數(shù)據(jù)渲染二維(2D)影像的裝置,包括:
裁剪組件,用于在由著色像素覆蓋的從3D模型得出的2D屏幕圖像的第一區(qū)域內(nèi)裁剪所述2D屏幕圖像的第一可見(jiàn)基元,以便形成代表所述第一區(qū)域和所述第一可見(jiàn)基元的交叉的第一多邊形;
第一內(nèi)插組件,用于將所述第一可見(jiàn)基元的頂點(diǎn)的至少一個(gè)屬性?xún)?nèi)插到所述第一多邊形的每個(gè)頂點(diǎn);以及
第二內(nèi)插組件,用于將所述第一多邊形的所述頂點(diǎn)的顏色值內(nèi)插到由所述屏幕圖像的屏幕像素覆蓋的第二區(qū)域內(nèi)的點(diǎn),所述第二區(qū)域小于所述第一區(qū)域并且至少部分地與所述第一區(qū)域重合。
2.如權(quán)利要求1所述的裝置,所述點(diǎn)位于所述屏幕像素的中心,并且所述裝置包括著色組件,所述著色組件基于所述點(diǎn)相對(duì)于由所述裁剪組件形成的眾多多邊形中的每個(gè)多邊形的邊界的位置從所述眾多多邊形的頂點(diǎn)中選擇用于內(nèi)插所述至少一個(gè)屬性的所述第一多邊形的所述頂點(diǎn),所述眾多多邊形包括所述第一多邊形。
3.如權(quán)利要求1所述的裝置,所述點(diǎn)與落在所述屏幕像素內(nèi)的樣本的位置重合,在光柵化所述第一可見(jiàn)基元時(shí)采用所述樣本。
4.如權(quán)利要求1所述的裝置,包括用于從內(nèi)插到所述第一多邊形的所述頂點(diǎn)的所述至少一個(gè)屬性得出所述第一多邊形的所述頂點(diǎn)的顏色值的著色組件。
5.如權(quán)利要求1所述的裝置,所述裁剪組件用于裁剪所述第一區(qū)域內(nèi)的所述2D屏幕圖像的第二可見(jiàn)基元以便形成代表所述第一區(qū)域和所述第二可見(jiàn)基元的交叉的第二多邊形,所述第二多邊形與所述第一多邊形共享邊緣的至少一部分。
6.如權(quán)利要求5所述的裝置,所述第一多邊形的頂點(diǎn)與所述第二多邊形的頂點(diǎn)共享沿所述著色像素的邊界的位置。
7.如權(quán)利要求1所述的裝置,包括光柵化組件,它用于光柵化所述3D模型的基元以便標(biāo)識(shí)在所述2D屏幕圖像中可見(jiàn)的眾多可見(jiàn)基元,所述眾多可見(jiàn)基元包括所述第一可見(jiàn)基元。
8.如權(quán)利要求1所述的裝置,包括用于呈現(xiàn)所述屏幕圖像的顯示器。
9.一種用于從三維(3D)模型數(shù)據(jù)渲染二維(2D)影像的裝置,包括:
裁剪組件,用于在由著色像素覆蓋的從3D模型得出的2D屏幕圖像的區(qū)域內(nèi)裁剪所述2D屏幕圖像的第一可見(jiàn)基元和第二可見(jiàn)基元,以便形成代表由所述著色像素覆蓋的所述區(qū)域和所述第一可見(jiàn)基元的交叉的第一多邊形,并形成代表由所述著色像素覆蓋的所述區(qū)域和所述第二可見(jiàn)基元的交叉的第二多邊形;
第一內(nèi)插組件,用于將所述第一可見(jiàn)基元的頂點(diǎn)的至少一個(gè)屬性?xún)?nèi)插到所述第一多邊形的每個(gè)頂點(diǎn),并將所述第二可見(jiàn)基元的頂點(diǎn)的所述至少一個(gè)屬性?xún)?nèi)插到所述第二多邊形的每個(gè)頂點(diǎn);以及
第二內(nèi)插組件,用于將所述第一多邊形的所述頂點(diǎn)的顏色值內(nèi)插到由所述屏幕圖像的第一屏幕像素覆蓋的區(qū)域內(nèi)的第一點(diǎn),并將所述第二多邊形的所述頂點(diǎn)的顏色值內(nèi)插到由所述屏幕圖像的第二屏幕像素覆蓋的區(qū)域內(nèi)的第二點(diǎn),由所述第一和第二屏幕像素覆蓋的所述區(qū)域中的每個(gè)區(qū)域均與由所述著色像素覆蓋的所述區(qū)域重合。
10.如權(quán)利要求9所述的裝置,所述第一點(diǎn)位于所述第一屏幕像素的中心,所述第二點(diǎn)位于所述第二屏幕像素的中心,并且所述第二內(nèi)插組件基于所述第一點(diǎn)相對(duì)于由所述裁剪組件形成的眾多多邊形中的每個(gè)多邊形的邊界的位置從所述眾多多邊形的頂點(diǎn)中選擇用于將所述至少一個(gè)屬性?xún)?nèi)插到所述第一點(diǎn)的所述第一多邊形的頂點(diǎn),并基于所述第二點(diǎn)相對(duì)于所述眾多多邊形中的每個(gè)多邊形的邊界的位置從所述眾多多邊形的頂點(diǎn)中選擇用于將所述至少一個(gè)屬性?xún)?nèi)插到所述第二點(diǎn)的所述第二多邊形的頂點(diǎn),所述眾多多邊形包括所述第一和第二多邊形。
11.如權(quán)利要求9所述的裝置,所述第二可見(jiàn)基元與所述第一可見(jiàn)基元共享邊緣的至少第一部分。
12.如權(quán)利要求11所述的裝置,所述裁剪組件裁剪所述第一和第二可見(jiàn)基元,以使得所述第一和第二多邊形能夠共享所述邊緣的至少第二部分。
13.如權(quán)利要求12所述的裝置,所述裁剪組件裁剪所述第一和第二可見(jiàn)基元,以使得所述第一多邊形的頂點(diǎn)能夠與所述第二多邊形的頂點(diǎn)共享沿所述著色像素的邊界的位置。
14.如權(quán)利要求9所述的裝置,包括用于將代表所述屏幕圖像的屏幕圖像數(shù)據(jù)傳送到另一個(gè)裝置的接口。
15.如權(quán)利要求14所述的裝置,包括用于從所述另一個(gè)裝置接收所述屏幕圖像的平面的取向的指示的光柵化組件。
16.一種用于從三維(3D)模型數(shù)據(jù)渲染二維(2D)影像的計(jì)算機(jī)實(shí)現(xiàn)的方法,包括:
在由著色像素覆蓋的從3D模型得出的2D屏幕圖像的第一區(qū)域內(nèi)裁剪所述2D屏幕圖像的第一可見(jiàn)基元,以便形成代表所述第一區(qū)域和所述第一可見(jiàn)基元的交叉的第一多邊形;
將所述第一可見(jiàn)基元的頂點(diǎn)的至少一個(gè)屬性?xún)?nèi)插到所述第一多邊形的每個(gè)頂點(diǎn);以及
將所述第一多邊形的所述頂點(diǎn)的顏色值內(nèi)插到由所述屏幕圖像的屏幕像素覆蓋的第二區(qū)域內(nèi)的點(diǎn),所述第二區(qū)域小于所述第一區(qū)域并且至少部分地與所述第一區(qū)域重合。
17.如權(quán)利要求16所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,所述方法包括基于所述2D屏幕圖像的眾多可見(jiàn)基元的特性確定所述第一區(qū)域的大小,所述眾多可見(jiàn)基元包括所述第一可見(jiàn)基元。
18.如權(quán)利要求16所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,所述點(diǎn)位于所述屏幕像素的中心,并且所述方法包括基于所述點(diǎn)相對(duì)于由所述裁剪組件形成的眾多多邊形中的每個(gè)多邊形的邊界的位置從所述眾多多邊形的頂點(diǎn)中選擇用于內(nèi)插所述至少一個(gè)屬性的所述第一多邊形的所述頂點(diǎn),并且所述眾多多邊形包括所述第一多邊形。
19.如權(quán)利要求16所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,所述點(diǎn)與落在所述屏幕像素內(nèi)的樣本的位置重合,在光柵化所述第一可見(jiàn)基元時(shí)采用所述樣本。
20.如權(quán)利要求16所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,所述方法包括從內(nèi)插到所述第一多邊形的所述頂點(diǎn)的所述至少一個(gè)屬性得出所述第一多邊形的所述頂點(diǎn)的顏色值。
21.如權(quán)利要求16所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,所述方法包括裁剪所述第一區(qū)域內(nèi)的所述2D屏幕圖像的第二可見(jiàn)基元以便形成代表所述第一區(qū)域和所述第二可見(jiàn)基元的交叉的第二多邊形,所述第二多邊形與所述第一多邊形共享邊緣的至少一部分。
22.如權(quán)利要求21所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,所述第一多邊形的頂點(diǎn)與所述第二多邊形的頂點(diǎn)共享沿所述著色像素的邊界的位置。
23.如權(quán)利要求16所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,所述方法包括將代表所述屏幕圖像的屏幕圖像數(shù)據(jù)傳送到另一個(gè)裝置。
24.如權(quán)利要求16所述的計(jì)算機(jī)實(shí)現(xiàn)的方法,所述方法包括光柵化所述3D模型的基元以便標(biāo)識(shí)在所述2D屏幕圖像中可見(jiàn)的眾多可見(jiàn)基元,所述眾多可見(jiàn)基元包括所述第一可見(jiàn)基元。
25.至少一種包括指令的有形機(jī)器可讀存儲(chǔ)介質(zhì),所述指令在由計(jì)算裝置執(zhí)行時(shí)使得所述計(jì)算裝置執(zhí)行根據(jù)權(quán)利要求16-24中任一權(quán)利要求所述的方法。