TWI550551B - 景深網格化 - Google Patents
景深網格化 Download PDFInfo
- Publication number
- TWI550551B TWI550551B TW101114149A TW101114149A TWI550551B TW I550551 B TWI550551 B TW I550551B TW 101114149 A TW101114149 A TW 101114149A TW 101114149 A TW101114149 A TW 101114149A TW I550551 B TWI550551 B TW I550551B
- Authority
- TW
- Taiwan
- Prior art keywords
- plane
- lens
- space
- tile
- separation plane
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/40—Hidden part removal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Image Generation (AREA)
- Image Processing (AREA)
- Prostheses (AREA)
Description
本發明係關於電腦,特別是關於圖形處理。
在過去幾年,對隨機網格化的研究活動已有增加。然而,景深(DOF)及動作模糊的有效網格化仍是一個可望而不可及的目標。只有景深的網格實質上是個較簡單的問題,然而對此的專門演算法並未深入探究。
用於景深的網格化之有效演算法係基於從在一圖塊(tile)內之任何畫素無法確實看見所要顯像之三角形之處移除透鏡上之(u,v)-空間之半空間區域。準確地找出了所有此類區域的交叉,且所產生的區域係用於降低需實施完全「樣本-內部-三角形」測試之一圖塊中的樣本數量。提出了數個有效的方法,用於如何使用在(u,v)-空間中所產生的區域以快速地從測試中淘汰樣本。
通常的景深(DOF)顯像,透鏡面積係由(u,v)Ω〔0,1〕×〔0,1〕參數化,其中Ω為孔徑外形且可例如為正方形或圓形。一般而言,針對隨機網格化,每一畫素具有n樣本,其中每一樣本由空間位置(x i ,y i )及透鏡位置(u i ,v i )所組成。三角形的剪裁空間頂點係標示為p i=(p i x ,p i y ,p i z ,p i w ),則一三角形為p 0 p 1 p 2。一圖塊(tile)為
焦點平面中之畫素的矩形塊。有時,可使用"聚焦平面(focus plane)"一詞來替代"焦點平面(plane in focus)",其為所顯像的幾何將出現於理想焦點上之具有w=F的平面。內部測試僅計算某一樣本(x i ,y i ,u i ,v i )是否在被網格化之三角形內。一般而言,應最小化不必要之內部測試的數量。
為了描述演算法,將使用分離平面的概念,其已用於針對大遮光板之基於胞的閉塞淘汰。在兩凸多邊形物件之間的分離平面為由來自一物件之一邊緣以及來自另一物件之一頂點所形成之一平面,且同時物件需位於平面的相對側。此描述係以二維方式顯示於圖1。
在圖1中,圖塊及三角形的分離線可用以找尋可降低隨機網格化所需之計算數量之透鏡上的區域。透鏡上的區域10及12係使用分離平面而偵測。需注意,在區域12中,沒有透鏡位置可經由在圖塊中的任一點「看見」三角形。在圖1的左邊,三角形在聚焦平面之後。在圖1的右邊,三角形在聚焦平面之前。當在聚焦平面之後的頂點用以定義分離平面,則正半空間包含圖塊,反之亦然。
分離平面(源自於圖塊及三角形)可用以從進一步的處理移除在透鏡上的半空間區域。可找出無法經由圖塊中任一點「看見」三角形之透鏡上的區域,因此在這些區域中具有透鏡座標(u i ,v i )之圖塊中的所有樣本不需任何進一步的內部測試。直覺地,這可從圖1理解,其中圖塊及三角形的分離線係用以淘汰在透鏡上的區域12。
在三維中,有兩種不同類型的分離平面可用以淘汰透鏡上的半空間區域。這些係描述於圖2中。第一組分離平面係由圖塊邊緣及三角形頂點形成。將這些平面表示為π i ,其中平面的正半空間由使得π i (p)0的所有點p所組成。現在,考慮圖塊最左邊(垂直)的邊緣。在圖2左方的範例中,圖塊的左側產生具有最右邊三角形頂點的分離平面。此分離平面將透鏡面積切為兩個半空間。分割線係稱作半空間線,h i (u,v)=0。
在圖2的左側上,在此範例中,三角形14的最右邊頂點形成具有最左邊圖塊邊緣的分離平面。此平面與透鏡面積交叉,且將其分割為兩個半空間:負半空間16(其在透鏡上的點無法經由圖塊中的任一點看見三角形)以及正半空間18(其在透鏡上的點可能可看見三角形)。分離平面的法線與圖塊本身在平面的同一側,且這定義了透鏡上的正及負半空間。在圖2的右側,分離平面係從三角形邊緣及圖塊角落形成。
需注意,根據三角形頂點(其形成分離平面)在聚焦平面的前或後而不同地選擇分離平面之法線的「正負號」(即+n或-n)。此基本原理為想要淘汰h i (u,v)<0的區域,不受頂點位置的影響。針對在聚焦平面之後的頂點,分離平面的法線係選擇使得其正半空間包含整個圖塊。相反地,針對在聚焦平面之前的頂點,分離平面的法線係使得其負半空間包含整個圖塊。此描述於圖1。
半空間線之二維法線的方向係承襲自對應分離平面的
法線。這些二維法線係描述為圖2中的箭頭。幾何上,很容易看出在透鏡上之負半空間中沒有點可經由圖塊中的任一點「看見」三角形。
第二組半空間線係從由三角形邊緣及圖塊頂點所形成之分離平面而產生。一範例係描述於圖2的右方。這些係表示為Π j ,以將其與由圖塊邊緣及三角形頂點所形成的平面(π i )區隔。Π j 平面亦產生半空間線,其表示為H j (u,v)=0。
第一組半空間線h i 將為水平或垂直,且一般來說第二組半空間線H j 可具有任意方向。當所有圖塊邊緣之每一者產生一分離平面,其將形成二維盒於透鏡的平面中。以這樣的一盒,將從進一步的處理簡單且有效率淘汰整個圖塊中的大部分樣本。一範例係顯示於圖3的左方。在圖3的右方,透鏡上更多的區域已被H j 平面淘汰。當所有三角形頂點不是在聚焦平面之前就是在之後,透鏡上剩餘的主動區域係由凸面區域所定義,其中h i (u,v) 0且H j (u,v) 0。只有其透鏡座標(u i ,v i )在此主動區域(圖3中的區域20)內的樣本需要被內部測試。實際演算法的效率(其將描述於後)係源自此事實。
在圖3中,透鏡為後內襯方形。在左方,前四個分離平面產生水平及垂直半空間線,其係由h i (u,v)=0所定義。共同地,其形成二維邊界盒於透鏡平面中。只有具有在區域20中之透鏡位置的樣本需要被進一步的處理。僅使用前四個平面可淘汰透鏡的大量區域。在圖3右方,第
二組半空間線H j (u,v)=0可進一步降低區域20。當三角形越過聚焦平面,情況係更加複雜,下文中將顯示如何針對這些情況中的淘汰使用第一組半空間線h i (u,v)。
並非總是有可能產生分離平面。舉例來說,當三角形切過一圖塊,將不可能找到該圖塊的分離平面。然而,這發生於當三角形從面向前端到面向後端或者反之,因此有可能加入一半空間線以切除三角形係面向後端的部分透鏡。這可能對接近物件側影之三角形為有利的。實際上,在一場景中此類三角形相較於剩餘的三角形通常為少量,因此並無發現這是有利的。
將使用大量的符號以簡化演算法的描述。如前述,三角形頂點稱作p 0、p 1、及p 2。圖塊的四個角落係表示為t a、t b、t c、及t d。經由圖塊角落t i至透鏡之頂點的投影p j將表示為。
參考圖4,其顯示符號的描述,三角形的頂點p 0、p 1、及p 2經由圖塊角落t a、t b、t c、及t d投影於透鏡上以形成透鏡座標l ij,其中i{a,b,c,d}且j{0,1,2}。舉例來說,頂點p 2係經由t b投影以產生l b2。
經由圖塊角落t i之頂點的投影p j係給定透鏡座標l ij:
偏位o及差量δ為顯像一特定三角形時的常數,且這
些因此可計算於三角形設定中。此外,僅有線形相依性於圖塊座標上,意味當從一圖塊移至下一圖塊時,其可使用增量更新而有效率地評估。若,則該座標將從不產生將實際淘汰任何東西的半空間於透鏡上。理由為投影將接近±∞,其對在有限透鏡上的淘汰將毫無幫助。因此,剩下的計算可忽略這些頂點。
接著,將描述如何找出經由圖塊邊緣及三角形頂點的分離平面π。決定平面是否分離的最直覺方式為測試兩個三角形頂點(其未用以定義平面)是否在相較於圖塊之平面的相對側。將描述這樣做更有效的一方式。
由於這些半空間線h(u,v)=0將為水平或垂直,所有的計算可在二維中完成。假設想要決定來自其中一三角形頂點p j的一平面是否為經由位於之圖塊邊緣的分離平面。在此情況,所有計算可完全地在xw-平面中完成。在下文中,回想聚焦平面在w=F,且透鏡在w=0。亦應注意,在所有描述中,畫素係準確地位於聚焦平面。
為決定是否實際定義來自一分離平面的半空間線,要決定其他兩個三角形頂點位在哪個半空間。若兩者都沒有在與圖塊本身相同的半空間,則找到分離線。
為測試是否為一分離平面,設定q=p j,且假設r為其他三角形頂點之其中之一。從(q x ,q w )至(t i x ,F)取得二維線方程式,並插入兩個其他三角形頂點至線方程式。在一些數學運算後,找到在點(r x ,r w )的線方程式評估為:
亦應注意,e(q,r)=-e(r,q),因此針對一給定圖塊,僅e(p 0,p 1)、e(p 1,p 2)、及e(p 2,p 0)需被評估。一般來說,針對定義一分離線,兩個其他三角形頂點應在線的相同側,且當時應在負半空間,以及當時應在正半空間,如圖1所示。忽略當時的情況,如前述,因為此投影將不會提供任何淘汰。需注意,方程式2對為線性,其為所預期的,因為為線性。
舉例來說,假設頂點q=p 0,且最左邊圖塊邊緣,則藉由以r=p 1及r=p 2評估線方程式(方程式2)來測試是否為一分離半空間線。若其為分離,則對應半空間線h(u,v)係定義為:
其為透鏡上的垂直半空間線。需注意,淘汰「方向」係根據頂點在聚焦平面F之前或之後而改變。此外,當對最右邊圖塊邊緣進行測試時,pw>F測試係反向。針對所有透鏡座標及產生類似的方程式,其已證實為真實分離平面(使用方程式2)。此為所有需要用以計算水平及垂直半空間線h i (u,v)=0。
最後,將描述如何處理至少一頂點位於聚焦平面之前且至少一頂點位於聚焦平面之後的情況。
在圖6中,當一三角形與聚焦平面交叉,圖塊側可產生兩分離平面。需注意,相較於三角形未與聚焦平面交叉(參考圖1),在此情況中淘汰係完成於「內部」區域24。在此情況中,針對最頂部區域25產生一uv-盒且針對透鏡上最底部區域產生一uv-盒。
在聚焦平面之後的三角形頂點組係表示為A,而在聚焦平面之前的組係表示為B。當一組為空,所有頂點係位於聚焦平面的一側。在這些情況中,直覺地產生在透鏡上之uv領域中之盒,且內部測試將僅在盒內部完成。這些係稱作uv-盒,其中「盒」一詞係廣義的使用,因為其可在某些方向中無限地延伸(將於以下看到)。當A及B為非空,且有分離半空間線由兩組所產生,則將產生兩個uv-盒。這可見於圖6。當有兩分離半空間線產生於一組(如A)中,這兩個將用以定義組的uv-盒。
這係描述於圖5。針對經由圖塊23可見之三角形的可視區域。在此情況中,產生兩個uv-盒於透鏡上,且僅針對這些區域內部具有uv-座標之樣本進行內部測試。
在計算l ij之後,可以不同方式執行平面的分類,其需要較少的活資料且可能更適合平行化。以下的演算法僅針對u維描述;相同的程序對v維也有效。
一開始根據在聚焦平面的哪一側來分類三角形頂點。使用圖4的符號,形成以下兩個區間:
若,則方程式4可簡化,且僅需測試針對每一區間界限之兩圖塊角落之其中之一。若所有三角形頂點在聚焦平面的一側,則其中一區間為空,且u的可見區間係由或所給定。若,則無分離平面存在於垂直圖塊邊緣及三角形角落之間。
最後,若且,則獲得可見區間:
v維的區間可類似地計算。為取得透鏡上的可見2D區域,結合包括針對u及v之A邊界的區間以形成2D區域。對包括B邊界的區間也是類似的。舉例來說,若獲得u及v兩者之方程式5所描述的情況,且及,則產生的uv-盒為:uv-盒A:[ A u ,∞]×[ A v ,∞] (6)
此情況係描述於圖5。
只要沒有頂點正好位在聚焦平面中,目前所描述的演算法為正確。當這類頂點存在時,需要在計算區域上執行一些輕微的調整:
對v也是類似的。
接著,將描述如何計算H j 。
假設三角形角落qr,則形成射線q+t(r-q)=q+td。參考圖7,計算射線與聚焦平面之間的交叉點v。將聚焦平面劃分為9個區域並識別v落在哪個區域。交叉點v並不取決於想要分類邊緣之圖塊。因此有可能預先計算這點及胞改變之圖塊。因此,每一圖塊僅需的工作為比較圖塊座標與這些預先計算的邊界。
使用分類為九個胞之其中之一的v,可識別兩個圖塊角落m及n,其形成了最大角度∠t m vt n。這些可列表顯示如下:
使用此表格,可形成兩個候選平面:Π1:( q , r , t m )及Π2:( r , q , t n )。使用d w -分量的正負號(即邊緣qr是否指向相機),可選擇平面法線方向使得圖塊在個別平面的負半空間。針對平行影像平面的邊緣,d w =0,且使用d x 、d y 以決定m及n以及q w -F的正負號以決定法線方向。胞5沒有
候選平面,因為在此胞中,邊緣在圖塊中係筆直地指向,且不存在任何分離平面於邊緣及圖塊角落之間。同樣地,任何邊緣qr(其中q w=r w=F)無法產生有用的半空間線且因而忽略。
在圖7中,三角形邊緣qr係相對聚焦平面測試的交叉,其產生交叉點v。圖塊abcd將聚焦平面劃分為9個區域,標號1至9。在上述範例中,交叉點v位於胞1,因此形成分離平面的候選角落為b及c。在此描述中,那些係顯示為線,從v到c及從v到b,其形成v及圖塊之間的切線。
為決定Π1及Π2是否為分離平面,三角形的第三頂點係相對這些平面而測試。若頂點在平面的正半空間,該平面為分離平面。每一三角形邊緣可產生高達兩個分離平面,其可見於圖8。
在圖8中,兩個候選平面Π1及Π2將空間劃分為四個區域,顯示為I-IV。藉由建構,三角形邊緣qr係包括於這兩個平面中。Π1及Π2是否分離係取決第三三角形頂點s在哪個區域。若s在區域I或II,則Π1為分離平面。若s在區域II或III,則Π2為分離。三角形邊緣qr因此可產生零、一、或兩個分離平面。
假設平面Π:n.x+c=0,則透鏡上對應的半空間線(u,v,0)為:n.(u,v,0)+c=n x u+n y v+c (9)
此方程式非線性地變化,因此需針對每一圖塊計算。為理解此,再次考慮聚焦平面中的三角形邊緣qr及圖塊角落t。經過這些點的平面係由P:n.x+c=0所定義,其中:n=q×r+(r-q)×t c=-t.(q×r) (10)
需注意,當在螢幕空間中移動時,法線n及c將改變。改變係正比於q及r之深度的差異。
最後,當淘汰透鏡上的樣本時,需小心處理平面Π i 的法線。當從uv-盒A淘汰區域,可淘汰在Π i 之正半空間中的樣本。然而,當從uv-盒B淘汰區域,可淘汰來自Π i 之負半空間中的樣本。
到目前為止,已經以精確的方式計算半空間線h i 及H j (其位於透鏡的平面中)。在此小節中,將描述其如何用以快速地淘汰樣本供快速的景深網格化。半空間線係以每一圖塊為基礎而計算,因此淘汰機會將共享於圖塊中所有畫素之間。然而,若要看到效能增益,程序仍需非常有效率。將可見到,決定哪些樣本位在透鏡的主動次空間內本質上為一網格化程序。
疊加一方形網格於透鏡外形頂部,且記錄落於每一網格胞中之樣本的數量。這係描述於圖9。這些樣本分布係因畫素而異,且使用小組(32×32)的分布,其係於螢幕上混雜且重複。需注意,32×32可由執行者選擇的解析度
所取代。
圖9顯示具有對應儲存器的透鏡網格。針對每一網格胞,儲存在該胞內之樣本的數量以及在該網格胞中之指向第一樣本之偏位。使用此佈局可有效地相對分離半空間線而淘汰大組的樣本。
半空間線h i (其係產生自三角形頂點及圖塊邊緣)提供了簡單的淘汰方法,因為其為軸對齊。可簡單地將其向下及向上夾持至最近的網格胞且使用所夾持的矩形範圍以快速地橫越相關的樣本。
針對非軸對齊的半空間線H j ,重複在從h i 線計算之矩形範圍中的所有網格胞,且保守地測試在網格胞及H j 線之間的重疊。這針對每一螢幕空間圖塊實質地歸結為一微網格化程序,以淘汰樣本。將其最佳化的一方式為利用透鏡網格的有限解析度且使用預先計算的網格器(rasterizer)。此處的想法為具有小的查詢表,其中針對邊緣的不同方位而預先計算且儲存內部位元遮罩(例如,64位元遮罩表對8×8網格為足夠)。所有邊緣係於表格中查詢,且內部區域係藉由在位元遮罩上進行AND-操作而計算。
在下列虛擬碼中,概述了用以使用半空間線淘汰顯像景深的完整演算法。
根據一具體實施例,高階景深網格化演算法係顯示於圖10中。圖10所示的序列可以軟體、硬體、及/或韌體實施。在軟體具體實施例中,序列可以儲存於非暫態電腦可讀媒體(例如光學、半導體、或磁性儲存裝置)中的電腦可讀指令所執行。
一開始,選擇一圖塊(方塊28),且分離平面係顯影於所要顯像之三角形與被處理的圖塊之間,如方塊30所示。接著,使用分離平面定義透鏡上的半空間區域,如方塊32所示。接著,識別有用的半空間區域,如方塊34所示。有用的半空間區域為所要顯像之三角形為可見之透鏡上的那些區域。非可用的半空間區域係淘汰,如方塊36所示,且不做進一步的處理。如方塊38所示,僅對有用的半空間區域進行內部測試。在方塊40中,半空間區域線係增量地更新。在方塊42中的檢查決定這是否為最後圖塊。若是,則流程結束,否則流程循環回到方塊28以選擇另一圖塊來處理。
電腦系統130(顯示於圖11)可包括硬體驅動134及可移式媒體136,其由匯流排104耦合至晶片組核心邏輯110。電腦系統可為任何電腦系統,包括智慧型行動裝置,例如智慧型手機、平板電腦、或行動網際網路裝置。鍵盤及滑鼠120或其他傳統構件可經由匯流排108耦合至晶片組核心邏輯。在一具體實施例中,核心邏輯可耦合至圖形處理器112(經由匯流排105)及中央處理器100。圖形處理器112也可藉由匯流排106耦合至框緩衝器114。框緩衝器114可藉由匯流排107耦合至顯示螢幕118。在一具體實施例中,圖形處理器112可為使用單一指令多重資料(SIMD)架構的多線程、多核心平行處理器。
在軟體實施的情況中,相關的程式碼可儲存於任何適當的半導體、磁性、或光學記憶體中,包括主記憶體132
(如139所指示)或任何在圖形處理器中可得的記憶體。因此,在一具體實施例中,執行圖10之序列的程式碼可儲存於非暫態機器或電腦可讀媒體(例如記憶體132及/或圖形處理器112及/或中央處理器100)中且在一具體實施例中可由處理器100及/或圖形處理器112執行。
圖10為一流程圖。在某些具體實施例中,在這些流程圖中所繪示的序列可以硬體、軟體、或韌體執行。在軟體具體實施例中,非暫態電腦可讀媒體(例如半導體記憶體、磁性記憶體、或光學記憶體)可用以儲存指令且可由處理器執行以執行圖10所示的序列。
本文中描述的圖形處理技術可以各種硬體架構所實施。舉例來說,圖形功能可整合於晶片組內。或者,可使用分離式圖形處理器。在另一具體實施例中,圖形功能可由通用處理器(其包括多核心處理器)所實施。
在本說明書中所提及之「一個具體實施例」或「一具體實施例」係表示有關包括於本發明所包含之至少一實施的具體實施例而描述之特定特徵、結構或特性。因此,出現「一個具體實施例」或「在一具體實施例中」之用語並不必然指相同的具體實施例。此外,特定的特徵、結構或特性可採用特定具體實施例所描述之外的其他合適形式,且所有這類形式可包含於本申請案的申請專利範圍內。
雖然本發明已關於有限數量的具體實施例而描述,但熟此技藝者將可理解到由其產生各種修改及變化。後附申請專利範圍意欲涵蓋落於本發明真實精神及範疇內的所有
這類修改及變化。
10‧‧‧區域
12‧‧‧區域
14‧‧‧三角形
16‧‧‧負半空間
18‧‧‧正半空間
20‧‧‧區域
23‧‧‧圖塊
24‧‧‧區域
25‧‧‧區域
100‧‧‧中央處理器
104‧‧‧匯流排
105‧‧‧匯流排
106‧‧‧匯流排
107‧‧‧匯流排
108‧‧‧匯流排
110‧‧‧晶片組核心邏輯
112‧‧‧圖形處理器
114‧‧‧框緩衝器
118‧‧‧顯示螢幕
120‧‧‧鍵盤及滑鼠
130‧‧‧電腦系統
132‧‧‧主記憶體
134‧‧‧硬體驅動
136‧‧‧可移式媒體
139‧‧‧主記憶體
圖1為根據一具體實施例之顯示在二維中之分離平面的概圖;圖2為根據一具體實施例之可能可見及非可見半空間的示意圖;圖3為根據一具體實施例之描述分離平面如何產生半空間線的示意圖;圖4為根據一具體實施例之經由圖塊角落投影之三角形的示意圖;圖5為根據一具體實施例之顯示針對經由圖塊所視之三角形之可視區域的概圖;圖6為根據一具體實施例之與聚焦平面交叉之三角形的示意圖;圖7為根據一具體實施例之概圖,其顯示三角形邊緣qr作為相對聚焦平面測試之交叉,其產生交叉點v;圖8為根據一具體實施例之顯示將空間劃分為四個區域之兩個候選平面的概圖;圖9為具有對應儲存器之透鏡網格的概圖;圖10為一具體實施例的流程圖;以及圖11為一具體實施例的硬體示意圖。
Claims (21)
- 一種景深網格化之方法,包含:淘汰所要顯像之一凸多邊形為非可見之一透鏡上之區域;使用分離平面於所要顯像之一凸多邊形及被處理以將該透鏡劃分為區域之一圖塊(tile)之間,其中該等區域之一子集已內部測試;從由一三角形頂點及一圖塊邊緣所形成之分離平面顯影半空間區域;以及增量地更新半空間區域之間的半空間線。
- 如申請專利範圍第1項所述之方法,包括僅在剩餘、未淘汰區域上執行內部測試。
- 如申請專利範圍第2項所述之方法,包括淘汰一三角形為非可見之一透鏡上之半空間區域。
- 如申請專利範圍第1項所述之方法,包括使用分離平面,並針對每一分離平面定義一半空間線於該透鏡平面上。
- 如申請專利範圍第4項所述之方法,包括僅處理在剩餘之未淘汰區域內之樣本。
- 如申請專利範圍第1項所述之方法,包括從由一三角形邊緣及一圖塊角落所形成之分離平面顯影該半空間區域。
- 如申請專利範圍第6項所述之方法,包括藉由交叉測試一三角形邊緣相對一聚焦平面以產生一交叉點、分 割該聚焦平面為區域及識別交叉點落於其中的區域而定位該分離平面。
- 一種非暫態電腦可讀媒體,其儲存由一電腦所執行之指令以:針對景深網格化,淘汰所要顯像之一凸多邊形為非可見之一透鏡上之區域;儲存指令以使用分離平面於所要顯像之一凸多邊形及被處理以將該透鏡劃分為區域之一圖塊之間,其中該等區域之一子集已內部測試;儲存指令以從由一三角形頂點及一圖塊邊緣所形成之分離平面顯影半空間區域;以及儲存指令以增量地更新半空間區域之間的半空間線。
- 如申請專利範圍第8項所述之媒體,更儲存指令以僅在剩餘、未淘汰區域上執行內部測試。
- 如申請專利範圍第9項所述之媒體,更儲存指令以淘汰一三角形為非可見之一透鏡上之半空間區域。
- 如申請專利範圍第8項所述之媒體,更儲存指令以使用分離平面,並針對每一分離平面定義一半空間線於該透鏡平面上。
- 如申請專利範圍第11項所述之媒體,更儲存指令以僅處理在剩餘之未淘汰區域內之樣本。
- 如申請專利範圍第8項所述之媒體,更儲存指令以從由一三角形邊緣及一圖塊角落所形成之分離平面顯影該半空間區域。
- 如申請專利範圍第13項所述之媒體,更儲存指令以藉由交叉測試一三角形邊緣相對一聚焦平面以產生一交叉點、分割該聚焦平面為區域及識別交叉點落於其中的區域而定位該分離平面。
- 一種景深網格化之裝置,包含:一儲存器;以及一處理器,耦合至該儲存器,以藉由淘汰所要顯像之一凸多邊形為非可見之一透鏡上之區域而實施景深網格化;該處理器使用分離平面於所要顯像之一凸多邊形及被處理以將該透鏡劃分為區域之一圖塊之間,其中該等區域之一子集已內部測試;該處理器從由一三角形頂點及一圖塊邊緣所形成之分離平面顯影半空間區域;該處理器增量地更新半空間區域之間的半空間線。
- 如申請專利範圍第15項所述之裝置,該處理器僅在剩餘、未淘汰區域上執行內部測試。
- 如申請專利範圍第16項所述之裝置,該處理器淘汰一三角形為非可見之一透鏡上之半空間區域。
- 如申請專利範圍第15項所述之裝置,該處理器使用分離平面,並針對每一分離平面定義一半空間線於該透鏡平面上。
- 如申請專利範圍第18項所述之裝置,該處理器僅處理在剩餘之未淘汰區域內之樣本。
- 如申請專利範圍第15項所述之裝置,該處理器從由一三角形邊緣及一圖塊角落所形成之分離平面顯影該半空間區域。
- 如申請專利範圍第20項所述之裝置,該處理器藉由交叉測試一三角形邊緣相對一聚焦平面以產生一交叉點、分割該聚焦平面為區域及識別交叉點落於其中的區域而定位該分離平面。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/096,165 US9058697B2 (en) | 2011-04-28 | 2011-04-28 | Depth of field rasterization by culling regions on a lens from which a convex polygon to be rendered is not visible |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201312499A TW201312499A (zh) | 2013-03-16 |
TWI550551B true TWI550551B (zh) | 2016-09-21 |
Family
ID=47067536
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW101114149A TWI550551B (zh) | 2011-04-28 | 2012-04-20 | 景深網格化 |
Country Status (5)
Country | Link |
---|---|
US (2) | US9058697B2 (zh) |
EP (1) | EP2702564A4 (zh) |
CN (1) | CN103562966B (zh) |
TW (1) | TWI550551B (zh) |
WO (1) | WO2012148737A2 (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9038034B2 (en) * | 2009-12-22 | 2015-05-19 | Intel Corporation | Compiling for programmable culling unit |
CN103608850B (zh) * | 2011-06-23 | 2017-05-10 | 英特尔公司 | 带选择性剔除的随机光栅化 |
US9569879B2 (en) * | 2011-12-01 | 2017-02-14 | Intel Corporation | Culling using linear bounds for stochastic rasterization |
WO2013109304A1 (en) * | 2012-01-16 | 2013-07-25 | Intel Corporation | Generating random sampling distributions using stochastic rasterization |
US20130257885A1 (en) * | 2012-03-28 | 2013-10-03 | Intel Corporation | Low Power Centroid Determination and Texture Footprint Optimization For Decoupled Sampling Based Rendering Pipelines |
WO2014185900A1 (en) * | 2013-05-15 | 2014-11-20 | Intel Corporation | Variable rasterization order for motion blur and depth of field |
US9922449B2 (en) | 2015-06-01 | 2018-03-20 | Intel Corporation | Apparatus and method for dynamic polygon or primitive sorting for improved culling |
US9959643B2 (en) | 2015-10-29 | 2018-05-01 | Intel Corporation | Variable rasterization order for motion blur and depth of field |
US10235811B2 (en) | 2016-12-29 | 2019-03-19 | Intel Corporation | Replicating primitives across multiple viewports |
US10628910B2 (en) | 2018-09-24 | 2020-04-21 | Intel Corporation | Vertex shader with primitive replication |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6359629B1 (en) * | 1998-07-06 | 2002-03-19 | Silicon Graphics, Inc. | Backface primitives culling |
US6480205B1 (en) * | 1998-07-22 | 2002-11-12 | Nvidia Corporation | Method and apparatus for occlusion culling in graphics systems |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6573895B1 (en) | 1999-04-16 | 2003-06-03 | Unigraphics Solutions Inc. | Clustered backface culling |
CN100527169C (zh) * | 2005-11-23 | 2009-08-12 | 北京航空航天大学 | 一种三维场景实时绘制系统 |
JP4142065B2 (ja) | 2006-05-22 | 2008-08-27 | 株式会社ソニー・コンピュータエンタテインメント | 縮小zバッファ生成方法、隠面消去方法、およびオクルージョンカリング方法 |
-
2011
- 2011-04-28 US US13/096,165 patent/US9058697B2/en not_active Expired - Fee Related
-
2012
- 2012-04-18 CN CN201280024911.7A patent/CN103562966B/zh not_active Expired - Fee Related
- 2012-04-18 WO PCT/US2012/033979 patent/WO2012148737A2/en active Application Filing
- 2012-04-18 EP EP12777009.7A patent/EP2702564A4/en not_active Withdrawn
- 2012-04-20 TW TW101114149A patent/TWI550551B/zh not_active IP Right Cessation
-
2015
- 2015-04-16 US US14/688,107 patent/US9317964B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6359629B1 (en) * | 1998-07-06 | 2002-03-19 | Silicon Graphics, Inc. | Backface primitives culling |
US6480205B1 (en) * | 1998-07-22 | 2002-11-12 | Nvidia Corporation | Method and apparatus for occlusion culling in graphics systems |
Also Published As
Publication number | Publication date |
---|---|
US20150287238A1 (en) | 2015-10-08 |
EP2702564A2 (en) | 2014-03-05 |
US20120274636A1 (en) | 2012-11-01 |
CN103562966B (zh) | 2016-12-07 |
US9058697B2 (en) | 2015-06-16 |
EP2702564A4 (en) | 2015-08-19 |
WO2012148737A2 (en) | 2012-11-01 |
CN103562966A (zh) | 2014-02-05 |
TW201312499A (zh) | 2013-03-16 |
WO2012148737A3 (en) | 2013-01-17 |
US9317964B2 (en) | 2016-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI550551B (zh) | 景深網格化 | |
TWI480834B (zh) | 用於隨機柵格化的方法和裝置以及非暫態電腦可讀媒體 | |
US10529117B2 (en) | Systems and methods for rendering optical distortion effects | |
US11069124B2 (en) | Systems and methods for reducing rendering latency | |
US8743114B2 (en) | Methods and systems to determine conservative view cell occlusion | |
US10546365B2 (en) | Single pass flexible screen/scale rasterization | |
US9576389B2 (en) | Method and apparatus for generating acceleration structure in ray tracing system | |
JP6760957B2 (ja) | 3次元モデリング方法及び装置 | |
US10699467B2 (en) | Computer-graphics based on hierarchical ray casting | |
US10553012B2 (en) | Systems and methods for rendering foveated effects | |
TW201602962A (zh) | 以移動及散焦模糊來渲染鑲嵌幾何之技術(二) | |
US20120327071A1 (en) | Clipless Time and Lens Bounds for Improved Sample Test Efficiency in Image Rendering | |
TWI490816B (zh) | 基於線性化五維(5d)邊緣方程式之樣本揀選技術 | |
US9858709B2 (en) | Apparatus and method for processing primitive in three-dimensional (3D) graphics rendering system | |
CN112686992A (zh) | 用于智慧城市occ树的几何图形视锥体实现方法、装置及存储介质 | |
US10026216B2 (en) | Graphics data processing method and apparatus | |
JP2006350678A (ja) | 光線情報生成方法,光線情報の圧縮データ生成方法,光線情報生成装置,光線情報の圧縮データ生成装置,およびそれらのプログラム並びにプログラムを記録した記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |