TWI602148B - 用於紋理映射至非正交網格的梯度調整 - Google Patents
用於紋理映射至非正交網格的梯度調整 Download PDFInfo
- Publication number
- TWI602148B TWI602148B TW105131362A TW105131362A TWI602148B TW I602148 B TWI602148 B TW I602148B TW 105131362 A TW105131362 A TW 105131362A TW 105131362 A TW105131362 A TW 105131362A TW I602148 B TWI602148 B TW I602148B
- Authority
- TW
- Taiwan
- Prior art keywords
- texture
- pixel
- unit
- primitives
- readable medium
- 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/04—Texture mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
- G06T15/80—Shading
-
- 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/10—Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
- G06T15/503—Blending, e.g. for anti-aliasing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/36—Level of detail
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Image Generation (AREA)
- Controls And Circuits For Display Device (AREA)
Description
本揭示案之態樣係關於電腦圖形。具體而言,本揭示案係關於用於紋理映射的梯度之調整。
圖形處理通常涉及兩個處理器亦即中央處理單元(CPU)及圖形處理單元(GPU)之協調。GPU為經設計來加速在圖框緩衝器中創建意欲輸出至顯示器之影像的專門電子電路。GPU用於嵌式系統、行動電話、個人電腦、平板電腦、可攜式遊戲裝置、工作站及遊戲控制台中。GPU通常經設計來有效操縱電腦圖形。GPU通常具有高度平行的處理架構,此處理架構使GPU對於平行地進行大資料塊之處理的演算法比通用CPU更有效。
CPU可將命令發送至GPU以實行特定圖形處理任務,例如再現已相對於影像中之先前圖框改變的特定紋理。此等繪圖命令可由CPU使用圖形應用程式介面(API)協調,以便發佈圖形再現命令,該等圖形再現命令對應於特定應用程式之虛擬環境的狀態。
為了再現用於特定程式的紋理,GPU可在「圖形管線」中執行一系列處理任務,以將虛擬環境中之視覺元素轉換成可再現至顯示器上的影像。典型圖形管線可包括對虛擬空間中之虛擬物件執行某些再現或著色操作、場景中之虛擬物件之用以產生適合於輸出顯示的像素資料的變換及光柵化,及在顯示器上輸出所再現成的影像之前像素(或片段)上的額外再現任務。
影像之虛擬物件通常根據稱為基元的形狀在虛擬空間中加以描述,該等基元一起構成虛擬場景中之物件之形狀。例如,三維虛擬世界中將要再現的物件可經簡化為一系列相異三角形基元,該等相異三角形基元具有根據該等基元在三維空間中之坐標定義的頂點,藉此此等多邊形構成物件之表面。每一多邊形可具有可由圖形處理系統用以區別給定多邊形與其他多邊形的相關聯索引。同樣地,每一頂點可具有可用以區別給定頂點與其他頂點的相關聯索引。圖形管線可對此等基元執行某些操作,以產生用於虛擬場景的視覺元素且將此資料變換成適合於由顯示器之像素再現的二維格式。如本文所使用的圖形基元資訊(或簡稱「基元資訊」)一詞用以代表表示圖形基元的資料。此資料包括(但不限於)頂點資訊(例如,表示頂點定位或頂點索引的資料)及多邊形資訊(例如,多邊形索引),及將特定頂點與特定多邊形相關聯的資訊。
GPU可藉由實行通常稱為著色器的程式來執行圖形管線之再現任務。典型圖形管線可包括:頂點著色
器,其可以每頂點為基礎操縱基元之某些性質;以及像素著色器(亦稱為「片段著色器」),其在圖形管線中於頂點著色器下游操作且可在將像素資料傳輸至顯示器之前以每像素為基礎操縱某些值。片段著色器可操縱與將紋理應用於基元有關的值。管線亦可包括在管線中之各種階段處的其他著色器,諸如使用頂點著色器之輸出來產生一組新基元的幾何形狀著色器,以及可由GPU實行來執行某些其他一般計算任務的計算著色器(CS)。
將紋理映射至基元的過程之部分涉及自螢幕空間中之像素位置計算紋理空間中之梯度。梯度計算通常假定像素位置係基於正方形正交網格。
本揭示案正是在此情境中出現的。
302‧‧‧圖框
304‧‧‧圖框
306‧‧‧單個影像
600‧‧‧電腦系統
602‧‧‧中央處理單元(CPU)
603C‧‧‧中央處理單元(CPU)代碼
608‧‧‧記憶體
605‧‧‧緩衝器
628‧‧‧圖形記憶體
604‧‧‧圖形處理單元(GPU)
603G‧‧‧圖形處理單元(GPU)代碼
606‧‧‧紋理單元
614‧‧‧快取記憶體
609‧‧‧資料匯流排
611‧‧‧輸入/輸出(I/O)元件
612‧‧‧電源(P/S)
613‧‧‧時鐘(CLK)
614‧‧‧快取記憶體
610‧‧‧支援功能
618‧‧‧使用者介面
615‧‧‧大容量儲存器
616‧‧‧顯示裝置
620‧‧‧網路介面
622‧‧‧網路
628‧‧‧圖形記憶體
630‧‧‧再現管線
632‧‧‧輸入資料
634‧‧‧頂點著色計算
636‧‧‧頂點著色計算
638‧‧‧鑲嵌/幾何形狀著色器計算
639‧‧‧頂點參數值
640‧‧‧光柵化處理
642‧‧‧基元組裝
644‧‧‧掃描轉換
646‧‧‧參數內插
648‧‧‧像素著色器調用
649‧‧‧內插輸入片段值
650‧‧‧像素處理
652‧‧‧像素著色計算
654‧‧‧紋理操作
656‧‧‧再現輸出操作
658‧‧‧光柵化操作
659‧‧‧最終像素值
660‧‧‧完成的圖框
藉由結合隨附圖式考慮以下詳細描述,可容易地理解本揭示案之教示,在圖式中:圖1A至圖1C描繪在應用紋理中的習知梯度變換。
圖2A至圖2C描繪根據本揭示案之態樣的在應用紋理中的梯度變換。
圖3A至圖3B描繪根據本揭示案之態樣的在時間抗混淆中所使用的多個再現目標(MRT)設置。
圖4至圖5描繪根據本揭示案之態樣的在時間抗混淆中所使用的多個再現目標(MRT)設置。
圖6A為根據本揭示案之態樣之圖形處理系統的方塊
圖。
圖6B為圖形處理管線的方塊圖。
儘管以下詳細描述含有許多特定細節以用於例示之目的,但是一般技術者將瞭解,對以下細節之許多變化及變更在本發明之範疇內。因此,以下所述本發明之示範性實施例係在對所請求發明沒有任何一般性損失的情況下且對所請求發明不強加限制的情況下闡述。
引言
在某些圖形應用程式中,位元映像紋理經「塗裝」至多邊形上。在此狀況下,由輸出裝置繪製的每一像素值係根據自紋理取樣的一或多個像素判定。如本文所使用,位元映像通常代表資料檔案或結構,該資料檔案或結構表示電腦監視器、紙或其他顯示裝置上的像素之大體上矩形網格,或色彩點。每一像素之色彩經單獨定義。例如,有色像素可藉由三個位元組定義-一個位元組各自用於紅色、綠色及藍色。位元映像通常與由裝置紋理取樣單元支援的資料格式逐位元一致,該等資料格式可通常包括一系列選項,包括每通道或區塊壓縮各種位元深度,可能以與該位元映像將儲存在顯示器之視訊記憶體中的相同格式或可作為裝置無關位元映像。位元映像的特徵在於以像素為單位的影像之寬度及高度以及每像素位元之
數目,該數目判定該位元映像可表示的色彩之數目。雖然通常未儲存在位元映像中,但是許多資料格式與紋理格式逐位元重疊。一些顯示格式不受紋理硬體(諸如YUV)支援,且一些紋理格式不受顯示硬體(區塊壓縮)支援。重疊的資料格式包括各種每通道位元RGBA選項。
將紋理位元映像傳送至表面的過程通常涉及紋理MIP映射(亦稱為mipmap)之使用。名稱中之字母「MIP」為拉丁語multum in parvo的縮寫字,意指「小空間中的多數」。此類mipmap為伴隨主紋理的位元映像影像之預先計算的最佳化集合,意欲提高再現速度且減少混淆假影。
mipmap集合之每一位元映像影像為主紋理之一版本,但以某一降低的細節層次(LOD)。儘管當視圖足以完全詳細地再現主紋理時將仍使用該主紋理,但是當自遠方或以小大小觀察紋理時,再現最終影像的圖形硬體切換至適合的mipmap層次(或在兩個最近層次之間內插)。再現速度提高,因為相較於在簡單紋理的情況下,正處理的紋理像素(「紋理影像元件」)之數目可低得多且該等紋理像素在記憶體中之分佈更同調。可減少假影,因為mipmap影像已經有效抗混淆,從而減輕即時再現硬體的一些負擔。
mipmap層次之間的混合通常涉及某一形式的紋理濾波。如本文所使用,紋理濾波代表用以將紋理影像元件(紋理之像素)映射至3D物件上之點的方法。簡單紋
理濾波演算法可取得物件上之點且查找與該定位最近的紋理影像元件。所得點隨後自該一個紋理影像元件獲取該點之色彩。此簡單技術有時被稱為最近相鄰濾波。更複雜的技術組合每點一個以上紋理影像元件。最常用的演算法實際上為使用mipmap的雙線性濾波及三線性濾波。各向異性濾波及較高次方法(諸如二次濾波或三次濾波)導致甚至更高品質的影像。
紋理通常為正方形且具有等於2之冪的邊長。若例如紋理具有256乘256像素的基本大小,則相關聯mipmap集合可含有一系列8個影像,各自為前一影像之大小的一半:128×128像素、64×64、32×32、16×16、8×8、4×4、2×2及1×1(單個像素)。若例如此紋理至螢幕空間之40×40像素部分上,則將使用64×64 mipmap及32×32 mipmap之內插。如本文所使用,「螢幕空間」一詞通常代表圖形管線中之顯示緩衝器所使用的坐標集。
判定適當mipmap層次的過程中之關鍵操作涉及針對來自螢幕空間(有時被稱為XY坐標空間)的像素位置之對應區域判定紋理坐標空間(有時被稱為UV坐標空間)中覆蓋的區域。一般而言,內插或所計算出的紋理UV坐標之螢幕空間梯度係自在場景之相關部分中的XY空間像素位置處取樣的U值及V值計算。在一些實行方案中,藉由計算發生在螢幕X坐標改變且螢幕Y固定時的紋理坐標之變化(有時被稱為dU/dX、dV/dX),及發生在螢幕Y坐標改變且螢幕X固定時的紋理坐標之變化(有時
被稱為dU/dY、dV/dY)針對每一螢幕空間方向X及Y判定紋理坐標梯度。對於非各向異性紋理查找,使用此兩個之中具有較大量級的梯度來選擇細節層次(LOD)。對於各向異性紋理,使用較小量級梯度來選擇(LOD),且在對應於較大量級梯度的線上對紋理取樣。
亦應注意,以上計算可一般化為1個、2個、3個或更多紋理坐標維。典型硬體取決於紋理維數而計算U-空間中之1D梯度或UV-空間中之2D梯度或UVW-空間中之3D梯度。因此,本揭示案之態樣不限於涉及兩個紋理坐標維的實行方案。
然而,判定適當mipmap層次之過程係基於以下假定:紋理將要應用的螢幕空間之相關部分為樣本之「正方形」正交佈置,亦即,螢幕像素內之樣本點在螢幕空間中於垂直方向及水平方向上均勻地間隔。然而,螢幕空間之相關部分為非正交,亦即,樣本並非以規則正方形網格佈置的情形可出現。在此類情形下,梯度必須經調整,使得將紋理適當地應用於物件。
系統及設備
本揭示案之態樣包括圖形處理系統,該等圖形處理系統經組配來實行紋理映射中之梯度調整。藉由實例而非限制的方式,圖6A例示根據本揭示案之態樣的可用以實行圖形處理的電腦系統600的方塊圖。根據本揭示案之態樣,系統600可為嵌式系統、行動電話、個人電
腦、平板電腦、可攜式遊戲裝置、工作站、遊戲控制台等。
系統600通常可包括中央處理器單元(CPU)602、圖形處理器單元(GPU)604及CPU及GPU兩者可存取的記憶體608。CPU 602及GPU 604可各自包括一或多個處理器核心,例如,單個核心、兩個核心、四個核心、八個核心或更多。記憶體608可呈積體電路形式,該積體電路提供可存取記憶體,例如,RAM、DRAM等。記憶體608可包括圖形記憶體628,該圖形記憶體可儲存圖形資源且暫時儲存用於圖形再現管線的資料之圖形緩衝器605。圖形緩衝器605可包括例如用於儲存頂點參數值的頂點緩衝器、用於保存頂點索引的索引緩衝器、用於儲存圖形內容之深度值的深度緩衝器(例如,Z-緩衝器)、模板緩衝器、用於儲存將要發送至顯示器的完成圖框的圖框緩衝器,及其他緩衝器。在圖6A中所示的實例中,圖形記憶體628展示為主記憶體之部分。在替代性實行方案中,圖形記憶體可為單獨組件,可能整合至GPU 604中。
藉由實例而非限制的方式,CPU 602及GPU 604可使用資料匯流排609存取記憶體608。在一些狀況下,系統600包括兩個或兩個以上不同匯流排可為有用的。記憶體608可含有可由CPU 602及GPU 604存取的資料。GPU 604可包括複數個計算單元,該複數個計算單元經組配來平行地執行圖形處理任務。每一計算單元可包括其自有的專用區域記憶體儲存器,諸如,區域資料共
享。
CPU可經組配來執行CPU代碼603C,該CPU代碼可包括利用圖形、編譯器及圖形API的應用程式。圖形API可經組配來將繪圖命令發佈至由GPU實行的程式。CPU代碼603C亦可實行醫學模擬及其他功能。GPU 604可經組配來如以上所論述地操作。具體而言,GPU可執行GPU代碼603G,該GPU代碼可實行著色器,諸如計算著色器CS、頂點著色器VS及像素著色器PS,如以上所論述。為促進資料在計算著色器CS與頂點著色器VS之間的傳遞,系統可包括一或多個環形緩衝器605,該一或多個環形緩衝器可包括圖框緩衝器FB。GPU代碼603G亦可選擇性地實行其他類型的著色器(未示出),諸如像素著色器或幾何形狀著色器。每一計算單元可包括其自有的專用區域記憶體儲存器,諸如,區域資料共享。GPU 604可包括紋理單元606,該紋理單元經組配來作為圖形管線之部分而執行用於將紋理應用於基元的某些操作。
著色器可包括像素著色器PS,該像素著色器經組配來針對基於螢幕空間中之非正交網格的一或多個對應像素樣本位置接收或產生紋理坐標值UV的一或多個集合及潛在地亦接收或產生用於每一坐標的紋理空間梯度值gr。此等像素樣本位置可得自在圖形管線中之較早階段處所定義的一或多個基元。紋理單元606經組配來接收此等紋理空間梯度值gr或自紋理坐標值UV計算該等紋理空間梯度值,且隨後應用調整矩陣trans以獲得調整後梯度
值Gr,該等調整後梯度值基本無起因於像素樣本位置之非正交螢幕空間網格之使用的混淆假影。
藉由實例而非限制的方式,紋理單元606可實行為專用硬體,諸如特定應用積體電路(ASIC)、現場可規劃閘陣列(FPGA)或系統單晶片(SoC或SOC)。
如本文所使用且如熟習此項技術者通常所理解,特定應用積體電路(ASIC)為針對特定用途定製而非意欲用於通用用途的積體電路。
如本文所使用且熟習此項技術者通常所理解,現場可規劃閘陣列(FPGA)為設計來由消費者或設計者在製造之後組配--因此「現場可規劃」的積體電路。FPGA組態通常使用類似於用於ASIC的硬體描述語言的硬體描述語言(HDL)加以指定。
如本文所使用且如熟習此項技術者通常所理解,系統單晶片(SoC或SOC)為將電腦或其他電子系統之所有組件整合至單個晶片中的積體電路(IC)。其可含有數位功能、模擬功能、混合信號功能,且經常含有射頻功能--全部在單個晶片基板上。典型應用在嵌式系統之領域中。
典型SoC包括以下硬體組件:一或多個處理器核心(例如,微控制器、微處理器或數位信號處理器(DSP)核心。
記憶體區塊,例如,唯讀記憶體(ROM)、隨機存取記憶體(RAM)、電氣可抹除可規劃唯讀記憶體(EEPROM)及
快閃記憶體。
定時源,諸如振盪器或鎖相迴路。
周邊設備,諸如計數計時器、即時計時器或開機重設產生器。
外部介面,例如,工業標準,諸如通用串列匯流排(USB)、火線、乙太網路、通用同步/異步接收器/發射器(USART)、串列周邊介面(SPI)匯流排。
類比介面,包括類比至數位轉換器(ADC)及數位至類比轉換器(DAC)。
電壓調節器及功率管理電路。
此等組件由專屬匯流排或工業標準匯流排連接。直接記憶體存取(DMA)直接在外面介面與記憶體之間路由資料,從而繞過處理器核心且藉此提高SoC之資料通量。
典型SoC包括以上所述硬體組件及可執行指令(例如,軟體或韌體)兩者,該等可執行指令控制處理器核心、周邊設備及介面。
根據本揭示案之態樣,紋理單元606之功能中之一些或全部可替代地藉由由軟體可規劃通用電腦處理器執行的適當組配的軟體指令來實行。此類指令可體現於電腦可讀媒體例如記憶體608或儲存裝置615中。
系統600亦可包括熟知支援功能610,該等支援功能可例如經由匯流排609與系統之其他組件通訊。此類支援功能可包括(但不限於)輸入/輸出(I/O)元件611、電
源(P/S)612、時鐘(CLK)613及快取記憶體614。除快取記憶體614之外,GPU 604可包括其自有GPU快取記憶體614G,且GPU可經組配以使得在GPU 604上運行的程式可完全讀取或完全寫入GPU快取記憶體614G。
系統600可選擇性地包括諸如磁碟驅動機、CD-ROM驅動機、快閃記憶體、磁帶驅動機等的大容量儲存裝置615,以儲存程式及/或資料。系統600亦可選擇性地包括用以將再現圖形617呈現給使用者的顯示裝置616及用以促進系統600與使用者之間的交互作用的使用者介面單元618。顯示裝置616可呈平板顯示器、頭戴式顯示器(HMD)、陰極射線管(CRT)螢幕、投影機或可顯示可見本文、數字、圖形符號或影像的其他裝置的形式。顯示裝置616可顯示根據本文所述各種技術處理的再現圖形影像617。使用者介面618可包括鍵盤、滑鼠、操縱桿、光筆、遊戲控制器或可結合圖形使用者介面(GUI)使用的其他裝置。系統600亦可包括網路介面620以允許裝置經由網路622與其他裝置通訊。網路622可為例如區域網路(LAN)、廣域網路諸如網際網路、個人區域網路,諸如藍芽網路或其他類型的網路。此等組件可實行於硬體、軟體或韌體,或該硬體、軟體或韌體中之兩個或兩個以上之一些組合中。
圖形管線
根據本揭示案之態樣,系統600經組配來實
行圖形再現管線之部分。圖6B例示根據本揭示案之態樣的圖形再現管線630之實例。
再現管線630可經組配來再現如描繪場景的影像的圖形,該場景在虛擬空間(本文中有時被稱為「世界空間」)中具有二維幾何形狀或較佳三維幾何形狀。管線之早期階段可包括在場景經光柵化且轉換至螢幕空間以作為適合於在顯示裝置616上輸出的一組離散畫面元件之前於虛擬空間中執行的操作。貫穿管線,含於圖形記憶體628中的各種資源可在管線階段處加以利用,且至階段的輸入及輸出可在影像之最終值經判定之前暫時儲存在含於圖形記憶體中的緩衝器中。
再現管線可對輸入資料632操作,該輸入資料可包括由一組頂點定義的一或多個虛擬物件,該組頂點係在虛擬空間中設置且具有關於場景中之坐標定義的幾何形狀。管線之早期階段可包括在圖6B中廣泛地分類為頂點處理階段634的階段,且此可包括各種計算以處理虛擬空間中之物件之頂點。此可包括頂點著色計算636,該等頂點著色計算可操縱場景中之頂點之各種參數值,諸如定位值(例如,X-Y坐標及Z深度值)、色彩值、採光值、紋理坐標等。較佳地,頂點著色計算636係由一或多個可規劃頂點著色器執行。頂點處理階段可選擇性地包括額外頂點處理計算,諸如,鑲嵌及幾何形狀著色器計算638,該等鑲嵌及幾何形狀著色器計算可選擇性地用以產生虛擬空間中之新頂點及新幾何形狀。一旦被稱為頂點處理634
的階段完成,在管線中之此階段處,場景即由一組頂點定義,該組頂點各自具有一組頂點參數值639。
管線630隨後可繼續進行與將場景幾何形狀轉換成螢幕空間及一組離散畫面元件(亦即,像素)相關聯的光柵化處理階段640。虛擬空間幾何形狀可藉由操作變換至螢幕空間幾何形狀,該等操作可實質上計算物件及頂點自虛擬空間至場景之觀察視窗(或「視埠」)的投影。頂點可定義一組基元。
圖6B中所描繪的光柵化處理階段640可包括基元組裝操作642,該等基元組裝操作可設置由場景中之每一組頂點定義的基元。每一頂點可由索引定義,且每一基元可關於此等頂點索引加以定義,該等頂點索引可儲存在圖形記憶體628中之索引緩衝器中。基元可較佳地包括由三個頂點定義的至少三角形,但該三個頂點各自亦可包括點基元、線基元及其他多邊形形狀。在基元組裝階段642期間,可選擇性地剔出某些基元。例如,索引指示一定捲繞順序的該等基元可被視為向後的且可自場景剔出。
在基元經組裝之後,光柵化處理階段可包括掃描轉換操作644,該等掃描轉換操作可對每一像素處的基元取樣,且在樣本由基元覆蓋時,自基元產生片段(有時被稱為像素)以用於進一步處理。選擇性地,在掃描轉換操作644期間在基元內取得用於每一像素的多個樣本,此舉可用於抗混淆目的。在某些實行方案中,不同像素可不同地加以取樣。例如,一些邊緣像素可含有比中心像素
較低的取樣密度,以最佳化用於頭戴式顯示器(HMD)的再現之某些態樣。在掃描轉換644期間自基元產生的片段(或「像素」)可具有參數值,該等參數值可自創建該等片段的基元之頂點的頂點參數值639內插至像素之位置。光柵化階段640可包括參數內插操作646階段以計算此等內插片段參數值649,該等內插片段參數值可用作輸入以用於在管線之較後階段處的進一步處理。
管線630可包括進一步像素處理操作,在圖6B中大體上在650處指示,以進一步操縱內插參數值649,且執行判定片段如何有助於用於顯示的最終像素值的進一步操作。此等像素處理任務中一些可包括像素著色計算652,該等像素著色計算可用以進一步操縱片段之內插參數值649。像素著色計算可由可規劃像素著色器執行,且可基於基元在光柵化處理階段640期間之取樣來發起像素著色器調用648。像素著色計算652可將值輸出至圖形記憶體628中之一或多個緩衝器605,該一或多個緩衝器有時被稱為再現目標,或若有多個緩衝器,則被稱為多個再現目標(MRT)。
MRT允許像素著色器選擇性地輸出至一個以上再現目標,各自具有相同螢幕維但潛在地具有不同像素格式。再現目標格式限制通常意味任何一個再現目標僅可接受多達四個獨立輸出值(通道),且該四個通道之格式彼此緊密相關。MRT允許單個像素著色器以不同格式之混合輸出許多值。再現目標之格式「類似紋理」,因為該等
格式儲存每螢幕空間像素值,但是出於各種效能理由,再現目標格式在近來硬體產生中變得更專門化,有時(並非始終)需要所謂的「解析」來在資料與由紋理單元讀入相容之前重新格式化該資料。
像素處理650可通常以再現輸出操作656結束,該等再現輸出操作可包括通常稱為光柵操作(ROP)的操作。光柵化操作(ROP)簡單地運行每像素多次,多個再現目標(MRT)之中的每一再現目標一次。在再現輸出操作656期間,最終像素值659可在圖框緩衝器中經判定,此舉可選擇性地包括合併片段、應用模板、深度測試及某些每樣本處理任務。最終像素值659包括至所有有效再現目標(MRT)的所收集輸出。GPU 604使用最終像素值659來構成完成的圖框660,該完成的圖框可選擇性地即時顯示在顯示裝置616之像素上。
輸出操作650亦可包括紋理映射操作654,該等紋理映射操作可在某種程度上由一或多個像素著色器PS且在某種程度上由紋理單元606執行。像素著色器計算652包括自螢幕空間坐標XY計算紋理坐標UV,及將紋理坐標發送至紋理操作654,及接收紋理資料TX。紋理坐標UV可以任意方式自螢幕空間坐標XY計算,但通常自內插輸入值計算,或有時自先前紋理操作之結果計算。梯度gr通常係由紋理單元606(紋理操作硬體單元)自紋理坐標之四元組(quad)直接計算,但可選擇性地由像素著色器計算652明確地計算且傳遞至紋理操作654,而非
依賴紋理單元606以執行預設計算。
紋理操作654通常包括以下階段,該等階段可由像素著色器PS及紋理單元606之一些組合執行。首先,每像素位置XY一或多個紋理坐標UV經產生且用來提供用於每一紋理映射操作的坐標集。隨後,產生用於基於螢幕空間中之非正交網格的像素位置的紋理空間梯度值gr。最後,紋理空間梯度值gr藉由調整值trans修改以產生修正紋理空間值Gr。
在一些實行方案中,像素著色器PS可產生每像素位置XY紋理坐標UV且將用於每一紋理映射操作的坐標集提供至紋理單元606,該紋理單元可產生紋理空間梯度值gr且修改該等紋理空間梯度值以產生修正紋理空間梯度值Gr。
在其他實行方案中,像素著色器PS可自像素位置XY計算紋理空間坐標UV及顯式差分gr,且將差分及紋理空間坐標傳遞至紋理單元606(選擇性地具有調整矩陣trans),且向紋理單元606指示該紋理單元必須仍藉由應用變換trans來修正顯式差分gr以得到梯度值Gr。
在其他替代性實行方案中,像素著色器PS可計算紋理空間坐標UV及顯式修正梯度Gr,且將該等紋理空間坐標及顯式修正梯度傳遞至紋理單元,從而向紋理單元606指示使用矩陣trans的任何所需變換已在軟體中應用,且當將選擇LOD時應使用修正梯度Gr。
梯度調整
本揭示案之態樣係針對梯度gr之調整,該等梯度由紋理單元606用來判定用於將要在圖形管線中應用於基元的紋理的mipmap層次(LOD)。基本概念例示於圖2A至圖2C中。圖2A描繪XY空間中之「四元組」中之四個像素樣本。圖2B描繪XY空間中之差分值△xy dx1、dy1、dx2、dy2,該等差分值可根據分別為(x0,y0)、(x1,y1)及(x2,y2)的左上像素、右上像素及左下像素之XY空間中之像素樣本位置以數學方式表達如下:
dx1=x1-x0
dy1=y1-y0
dx2=x2-x0
dy2=y2-y0
圖2C描繪自紋理坐標UV計算的UV空間中之紋理梯度gr。紋理梯度gr可根據分別為(u0,v0),(u1,v1)及(u2,v2)的左上像素、右上像素及左下像素之紋理坐標UV以數學方式表達如下:
du_dx=u1-u0
dv_dx=v1-v0
du_dy=u2-u0
dv_dy=v2-v0
若像素著色器PS並未選擇使用軟體計算出的值置換du_dx=u1-u0等之此等計算,則該等計算可由紋理單元硬體106執行。紋理梯度gr隨後由紋理單元606
用來判定至樣本的mipmap LOD層次。
在此實例中,忽略在(x3,y3)處的像素之位置及其對應紋理坐標UV以用於計算梯度之目的。在此實例中,假定硬體在2x2像素之四元組上工作,但僅需要每紋理坐標一個d_dx及d_dy梯度來判定至樣本的mipmap LOD層次。使用值接近於線性地變化之假定,三個像素足以產生梯度。若紋理單元606使用此簡化假定,則該紋理單元可丟棄來自右下像素樣本(x3,y3)的UV值。在一些實行方案中,若UV值非線性地充分變化,使得考慮第四樣本之值將顯著改良梯度計算,則像素著色器可選擇在軟體中計算梯度gr。
在像素位置之正交集亦即dx1=1、dy1=0、dx2=0且dy2=1的情況下,可在無修改的情況下使用包含gr(du_dx、dv_dx、du_dy及dv_dy)的紋理梯度。在非正交的像素位置之集合的情況下,合乎需要的是,產生由值du_dx’、dv_dx’、du_dy’及dv_dy’組成的修正紋理梯度Gr。此等表示值對紋理坐標UV係在正交像素樣本位置(x0,y0)、(x1’,y1’)及(x2’,y2’)而非實際像素樣本位置(x0,y0)、(x1,y1)及(x2,y2)處產生的情況下梯度將獲取的值之近似。在紋理梯度gr與修正紋理梯度Gr之間使用調整矩陣trans的一般化變換可根據非正交像素樣本位置之XY空間坐標之差分值deltaxy用數學方式表達如下:
D=dx1*dy2-dx2*dy1
trans_xx=dy2/D
trans_xy=-dy1/D
trans_yx=-dx2/D
trans_yy=dx1/D
在此,trans_xx、trans_xy、trans_yx及trans_yy有時被稱為變換係數。
由紋理單元或像素著色器基於所假定正交像素位置計算出的每一紋理坐標梯度gr隨後可由紋理單元藉由應用此變換修正如下:
du_dx’=trans_xx * du_dx+trans_xy * du_dy
du_dy’=trans_yx * du_dx+trans_yy * du_dy
諸如此類,對於2個或3個紋理坐標,根據紋理單元需要:
dv_dx’=trans_xx * dv_dx+trans_xy * dv_dy
dv_dy’=trans_yx * dv_dx+trans_yy * dv_dy
dw_dx’=trans_xx * dw_dx+trans_xy * dw_dy
dw_dy’=trans_yx * dw_dx+trans_yy * dw_dy
當針對四元組設置像素樣本位置XY時,變換矩陣trans之計算通常例如由在CPU 602上運行的CPU代碼603C在GPU 604外部執行。例如,當使用一組特定像素樣本位置或再現目標設定來組配GPU 604之硬體時,CPU代碼603C亦可自差分值dx1、dy1、dx2、dy2計算變換矩陣trans之四個矩陣變換元件。藉由實例而非限制的方式,系統600亦可包括計算變換矩陣trans的專用硬體或軟體。
應注意,dx1、dy1、dx2、dy2在螢幕中共用相同重複樣本分佈的大區域上為恆定的,且變換矩陣trans亦如此。為此,有用的是,在圖形管線630之光柵化階段640處基於螢幕位置在一調色板值之間進行選擇。
時間抗混淆
梯度調整在時間抗混淆中可尤其有用。此狀況之實例可藉由參考圖3A至圖3B、圖4及圖5來理解。在圖3A至圖3b、圖4及圖5中,具有色彩值及深度值的像素指示為灰色圓。僅具有深度值的像素指示為較小黑色圓。在一些實行方案中,可藉由利用連續圖框之間的通用性以在兩個圖框之間分裂影像之處理而加速圖形處理,其中每一圖框由來自影像的像素之交替行構成。
在交替行時間抗混淆組態中,GPU在一個圖框中每隔一行影像中之像素進行再現,且隨後在下一個圖框上進行填補。例如,如圖3A中所示,圖框302在每一行之左側具有色彩樣本及深度樣本,且在右側僅具有深度樣本。在下一個圖框304中,此狀況顛倒。GPU僅著色每一圖框中之一半像素。在一些實行方案中,兩個圖框302、304中之像素可以其他組態交替。熟習此項技術者將認識到,可使用交替列組態,其中有色彩樣本及無色彩樣本的像素之列交替。另外,如圖3B中所示,兩個圖框中之像素可以「棋盤」方式交替,其中有色彩樣本及無色彩樣本的像素跨列且亦沿行交替。另外,GPU僅著色每一
圖框中之一半像素。
圖框302中之具有色彩樣本的像素(灰色圓)之行與圖框304中之對應像素行以使得該等像素行形成單個影像306的方式交錯。當填補圖框304中之間隙以形成單個影像306時,通常由GPU使用像素著色器或計算著色器執行的對圖框302、304之色彩值及深度值之分析允許圖框302之色彩值之完全使用或部分使用。此可為尤其有利的,因為此舉減少需要針對每一圖框處理的像素之數目,藉此降低用以再現每一圖框的工作負荷。此類型的再現在本文中被稱為「降低解析度再現」。在此等時間抗混淆狀況下,觀念為再現圖框,仿佛每一色彩樣本為較高解析度顯示器之部分。
在此時間抗混淆中對調整梯度之需求可參考圖4至圖5來理解。具體而言,在圖3A中所示的狀況下,用於圖框302中之四元組301的梯度係自在XY空間中之(x0,y0)、(x1,y1)及(x2,y2)處的像素之位置計算。由於像素在此圖框中之組態,網格並非正交網格。相反,網格在水平方向上已「拉伸」(或,等效地,在垂直方向上「壓擠」)。此將扭曲梯度分量du_dx及dv_dx。為基於正交網格來計算對應UV空間梯度分量du_dx’及dv_dx’,若(x1,y1)處的像素位於(x1’,y1’)處的「空」行中,則此情況將為合乎需要的。在此實例中,由於圖框302、304之交替像素行組態,UV空間梯度分量du_dy及dv_dy無需調整,且可自實際樣本位置(x0,y0)及(x2,y2)計算。使用
以上方程式,此導致d_dx梯度之平分:
dx1=2.0
dy1=0.0
dx2=0.0
dy2=1.0
D=(2.0)*(1.0)-(0.0)*(0.0)=2.0
trans_xx=1.0/2.0=0.5
trans_xy=-0.0/2.0=0.0
trans_yx=-0.0/2.0=0.0
trans_yy=2.0/2.0=1.0
du_dx’=trans_xx * du_dx+trans_xy * du_dy=0.5 * du_dx
dv_dx’=trans_xx * dv_dx+trans_xy * dv_dy=0.5 * dv_dx
du_dy’=trans_yx * du_dx+trans_yy * du_dy=du_dy
dv_dy’=trans_yx * dv_dx+trans_yy * dv_dy=dv_dy
在圖3B中所示的「棋盤」狀況下,GPU將需要調整UV空間梯度之水平分量及垂直分量兩者。例如,如圖5中所示,將為合乎需要的是,使用點(x0,y0)、(x1’,y1’)及(x0,y0),(x2’,y2’)來計算UV空間梯度。使用以上方程式,此導致d_dx梯度之平分及該等平分自d_dy梯度之相減:
du_dx’=0.5 * du_dx
dv_dx’=0.5 * dv_dx
du_dy’=du_dy-0.5 * du_dx
dv_dy’=dv_dy-0.5 * dv_dx
額外態樣
本揭示案之額外態樣包括圖形處理方法,該圖形處理方法包含:基於螢幕空間中之樣本點之非正交網格接收或產生用於一或多個基元的紋理空間梯度值且應用變換,該變換經組配來產生針對螢幕空間中之非正交性修正的對應正交紋理空間梯度值:以及將變換應用於紋理坐標值之間的差分值以產生梯度值。
另一額外態樣為圖形處理系統,該圖形處理系統經組配來實行前述方法。
另一額外態樣為電腦可讀媒體,該電腦可讀媒體中體現有電腦可執行指令,該等電腦可執行指令在被執行時實行前述方法。
又一態樣為電磁信號或其他信號,該電磁信號或其他信號攜載用於進行前述方法的電腦可讀指令。
一種可自通訊網路下載且/或儲存在電腦可讀媒體及/或微處理器可執行媒體上的電腦程式產品,其特徵在於,該電腦程式產品包含用於實行前述方法的程式碼指令。
雖然以上為本發明之較佳實施例之完整描述,但是有可能使用各種替選方案、修改及等效物。因此,本發明之範疇不應參考以上描述來判定,而是應參考隨附申請專利範圍以及申請專利範圍之等效物之完整範疇來判定。本文所述的任何特徵(無論是否較佳)皆可與本所述的任何其他特徵(無論是否較佳)組合。在以下申請專利
範圍中,不定冠詞「一」係指接在該冠詞後面的項目中之一或多者之數量,除非另有明確說明。隨附申請專利範圍不應解釋為包括構件加功能限制,除非在給定請求項中使用用語「用於......之構件」明確地敘述此限制。
628‧‧‧圖形記憶體
632‧‧‧輸入資料
634‧‧‧頂點著色計算
636‧‧‧頂點著色計算
638‧‧‧鑲嵌/幾何形狀著色器計算
639‧‧‧頂點參數值
640‧‧‧光柵化處理
642‧‧‧基元組裝
644‧‧‧掃描轉換
646‧‧‧參數內插
648‧‧‧像素著色器調用
649‧‧‧內插輸入片段值
650‧‧‧像素處理
652‧‧‧像素著色計算
654‧‧‧紋理操作
656‧‧‧再現輸出操作
658‧‧‧光柵化操作
659‧‧‧最終像素值
660‧‧‧完成的圖框
Claims (19)
- 一種電腦圖形方法,其包含:基於具有紋理單元之圖形處理單元的螢幕空間中之樣本點之非正交網格,接收或產生用於一或多個基元的紋理空間梯度值;以及應用變換至具有該紋理單元的該紋理空間梯度值,其中該變換係配置以產生針對具有紋理單元的螢幕空間中之該等樣本點之該非正交性修正的對應正交紋理空間梯度值,其中該紋理單元係配置以將該變換應用於紋理坐標值之間的差分值以產生該等梯度值。
- 如申請專利範圍第1項所述之方法,其中該紋理單元為特定應用積體電路(ASIC)、現場可規劃閘陣列(FPGA)或系統單晶片(SOC)。
- 如申請專利範圍第1項所述之方法,其中該非正交網格為一交替行模式。
- 如申請專利範圍第1項所述之方法,其中該非正交網格為一交替列模式。
- 如申請專利範圍第1項所述之方法,其中該非正交網格為「棋盤」模式。
- 如申請專利範圍第1項所述之方法,其中調整因子包括每像素修改。
- 如申請專利範圍第1項所述之方法,更包含自具有紋理單元的像素樣本位置差分值計算修正變換。
- 如申請專利範圍第1項所述之方法,更包含使用該等梯度值從將要應用於一或多個基元的紋理之複數個細節層次中選擇一細節層次。
- 如申請專利範圍第8項所述之方法,更包含應用該紋理於該一或多個基元。
- 如申請專利範圍第9項所述之方法,更包含顯示包括應用於具有耦接至該GPU之顯示單元的該一或多個基元的該紋理的影像。
- 一種非暫態電腦可讀取媒體,其具有電腦可執行指令包含其中,當執行時,實施一種用於圖形處理的方法,該方法包含:基於具有紋理單元之圖形處理單元的螢幕空間中之樣本點之非正交網格,接收或產生用於一或多個基元的紋理空間梯度值;以及應用至具有該紋理單元的該紋理空間梯度值之變換,其中該變換係配置以產生針對具有紋理單元的螢幕空間中之該等樣本點之該非正交性修正的對應正交紋理空間梯度值,其中該紋理單元係配置以將該變換應用於紋理坐標值之間的差分值以產生該等梯度值。
- 如申請專利範圍第11項所述之非暫態電腦可讀取媒體,其中該非正交網格為一交替行模式。
- 如申請專利範圍第11項所述之非暫態電腦可讀取媒體,其中該非正交網格為一交替列模式。
- 如申請專利範圍第11項所述之非暫態電腦可讀取媒體,其中該非正交網格為「棋盤」模式。
- 如申請專利範圍第11項所述之非暫態電腦可讀取媒體,其中調整因子包括每像素修改。
- 如申請專利範圍第11項所述之非暫態電腦可讀取媒體,更包含自具有紋理單元的像素樣本位置差分值計算修正變換。
- 如申請專利範圍第11項所述之非暫態電腦可讀取媒體,更包含使用該等梯度值從將要應用於一或多個基元的紋理之複數個細節層次中選擇一細節層次。
- 如申請專利範圍第17項所述之非暫態電腦可讀取媒體,更包含應用該紋理於該一或多個基元。
- 如申請專利範圍第18項所述之非暫態電腦可讀取媒體,更包含顯示單元,其包括應用至具有耦接至該GPU之顯示單元的該一或多個基元的該紋理的影像。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/246,068 US9495790B2 (en) | 2014-04-05 | 2014-04-05 | Gradient adjustment for texture mapping to non-orthonormal grid |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201705086A TW201705086A (zh) | 2017-02-01 |
TWI602148B true TWI602148B (zh) | 2017-10-11 |
Family
ID=54210222
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW105131362A TWI602148B (zh) | 2014-04-05 | 2015-03-19 | 用於紋理映射至非正交網格的梯度調整 |
TW104108775A TWI562095B (en) | 2014-04-05 | 2015-03-19 | Gradient adjustment for texture mapping to non-orthonormal grid |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW104108775A TWI562095B (en) | 2014-04-05 | 2015-03-19 | Gradient adjustment for texture mapping to non-orthonormal grid |
Country Status (6)
Country | Link |
---|---|
US (3) | US9495790B2 (zh) |
EP (1) | EP3129974B1 (zh) |
JP (4) | JP6389274B2 (zh) |
KR (1) | KR101925292B1 (zh) |
TW (2) | TWI602148B (zh) |
WO (1) | WO2015153168A1 (zh) |
Families Citing this family (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015154004A1 (en) | 2014-04-05 | 2015-10-08 | Sony Computer Entertainment America Llc | Method for efficient re-rendering objects to vary viewports and under varying rendering and rasterization parameters |
US9495790B2 (en) | 2014-04-05 | 2016-11-15 | Sony Interactive Entertainment America Llc | Gradient adjustment for texture mapping to non-orthonormal grid |
US10068311B2 (en) | 2014-04-05 | 2018-09-04 | Sony Interacive Entertainment LLC | Varying effective resolution by screen location by changing active color sample count within multiple render targets |
US9652882B2 (en) | 2014-04-05 | 2017-05-16 | Sony Interactive Entertainment America Llc | Gradient adjustment for texture mapping for multiple render targets with resolution that varies by screen location |
US9865074B2 (en) | 2014-04-05 | 2018-01-09 | Sony Interactive Entertainment America Llc | Method for efficient construction of high resolution display buffers |
US10783696B2 (en) | 2014-04-05 | 2020-09-22 | Sony Interactive Entertainment LLC | Gradient adjustment for texture mapping to non-orthonormal grid |
US11302054B2 (en) | 2014-04-05 | 2022-04-12 | Sony Interactive Entertainment Europe Limited | Varying effective resolution by screen location by changing active color sample count within multiple render targets |
US9836816B2 (en) | 2014-04-05 | 2017-12-05 | Sony Interactive Entertainment America Llc | Varying effective resolution by screen location in graphics processing by approximating projection of vertices onto curved viewport |
US9710881B2 (en) | 2014-04-05 | 2017-07-18 | Sony Interactive Entertainment America Llc | Varying effective resolution by screen location by altering rasterization parameters |
US9760113B2 (en) | 2015-02-20 | 2017-09-12 | Sony Interactive Entertainment America Llc | Backward compatibility through use of spoof clock and fine grain frequency control |
US10235219B2 (en) | 2015-07-27 | 2019-03-19 | Sony Interactive Entertainment America Llc | Backward compatibility by algorithm matching, disabling features, or throttling performance |
US11403099B2 (en) | 2015-07-27 | 2022-08-02 | Sony Interactive Entertainment LLC | Backward compatibility by restriction of hardware resources |
US9892024B2 (en) | 2015-11-02 | 2018-02-13 | Sony Interactive Entertainment America Llc | Backward compatibility testing of software in a mode that disrupts timing |
JP6728370B2 (ja) | 2016-01-22 | 2020-07-22 | 株式会社ソニー・インタラクティブエンタテインメント | 下位互換性のためのレガシーバス動作のシミュレーション |
CN108885552B (zh) | 2016-01-22 | 2023-03-14 | 索尼互动娱乐股份有限公司 | 用于向后兼容性的欺骗cpuid |
US10275239B2 (en) | 2016-03-30 | 2019-04-30 | Sony Interactive Entertainment Inc. | Deriving application-specific operating parameters for backwards compatiblity |
US10915333B2 (en) | 2016-03-30 | 2021-02-09 | Sony Interactive Entertainment Inc. | Deriving application-specific operating parameters for backwards compatiblity |
US10303488B2 (en) | 2016-03-30 | 2019-05-28 | Sony Interactive Entertainment Inc. | Real-time adjustment of application-specific operating parameters for backwards compatibility |
CN106339979B (zh) * | 2016-08-30 | 2019-12-10 | 四川大学 | 一种基于哈希函数的计算全息加密方法 |
CN107863087B (zh) * | 2016-09-22 | 2019-12-31 | 青岛海信电器股份有限公司 | 一种显示系统及其显示方法 |
KR20180038793A (ko) * | 2016-10-07 | 2018-04-17 | 삼성전자주식회사 | 영상 데이터 처리 방법 및 장치 |
US10546365B2 (en) * | 2017-03-27 | 2020-01-28 | Advanced Micro Devices, Inc. | Single pass flexible screen/scale rasterization |
US10719912B2 (en) | 2017-04-12 | 2020-07-21 | Microsoft Technology Licensing, Llc | Scaling and feature retention in graphical elements defined based on functions |
US10628995B2 (en) | 2017-04-17 | 2020-04-21 | Microsoft Technology Licensing, Llc | Anti-aliasing of graphical elements defined based on functions |
US10685473B2 (en) * | 2017-05-31 | 2020-06-16 | Vmware, Inc. | Emulation of geometry shaders and stream output using compute shaders |
US10255655B1 (en) | 2017-06-16 | 2019-04-09 | Apple Inc. | Serial pixel processing with storage for overlapping texel data |
KR102545172B1 (ko) * | 2017-12-28 | 2023-06-19 | 삼성전자주식회사 | 샘플링 기반의 렌더링을 수행하는 그래픽 프로세서 및 그 동작방법 |
JP6408180B1 (ja) | 2018-03-20 | 2018-10-17 | ヤフー株式会社 | 端末制御プログラム、端末装置および端末制御方法 |
CN109410302B (zh) * | 2018-09-30 | 2022-12-20 | 先临三维科技股份有限公司 | 纹理映射方法、装置、计算机设备和存储介质 |
US11263805B2 (en) * | 2018-11-21 | 2022-03-01 | Beijing Boe Optoelectronics Technology Co., Ltd. | Method of real-time image processing based on rendering engine and a display apparatus |
CN109947118B (zh) * | 2019-04-19 | 2021-10-26 | 南京大学 | 一种使用gpu加速的代价地图快速更新方法 |
CN112308233A (zh) * | 2019-08-02 | 2021-02-02 | 伊姆西Ip控股有限责任公司 | 用于处理数据的方法、设备和计算机程序产品 |
US11158110B1 (en) * | 2021-01-06 | 2021-10-26 | Arm Limited | Graphics texture mapping |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5602391A (en) * | 1995-02-23 | 1997-02-11 | Hughes Electronics | Quincunx sampling grid for staring array |
US20030086603A1 (en) * | 2001-09-07 | 2003-05-08 | Distortion Graphics, Inc. | System and method for transforming graphical images |
US20030234784A1 (en) * | 2002-06-21 | 2003-12-25 | Radek Grzeszczuk | Accelerated visualization of surface light fields |
US20040036692A1 (en) * | 2002-08-23 | 2004-02-26 | Byron Alcorn | System and method for calculating a texture-mapping gradient |
CN1741070A (zh) * | 2004-07-23 | 2006-03-01 | 微软公司 | 外壳纹理函数 |
US7339594B1 (en) * | 2005-03-01 | 2008-03-04 | Nvidia Corporation | Optimized anisotropic texture sampling |
TW200838316A (en) * | 2007-01-23 | 2008-09-16 | Euclid Discoveries Llc | Computer method and apparatus for processing image data |
US20110134136A1 (en) * | 2009-12-03 | 2011-06-09 | Larry Seiler | Computing Level of Detail for Anisotropic Filtering |
US20120092366A1 (en) * | 2010-10-13 | 2012-04-19 | Qualcomm Incorporated | Systems and methods for dynamic procedural texture generation management |
US8300059B2 (en) * | 2006-02-03 | 2012-10-30 | Ati Technologies Ulc | Method and apparatus for selecting a mip map level based on a min-axis value for texture mapping |
Family Cites Families (104)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4513317A (en) | 1982-09-28 | 1985-04-23 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Retinally stabilized differential resolution television display |
US5224208A (en) | 1990-03-16 | 1993-06-29 | Hewlett-Packard Company | Gradient calculation for texture mapping |
US5130794A (en) | 1990-03-29 | 1992-07-14 | Ritchey Kurtis J | Panoramic display system |
US5422653A (en) | 1993-01-07 | 1995-06-06 | Maguire, Jr.; Francis J. | Passive virtual reality |
GB2278524B (en) * | 1993-05-28 | 1997-12-10 | Nihon Unisys Ltd | Method and apparatus for rendering visual images employing area calculation and blending of fractional pixel lists for anti-aliasing and transparency |
US5719599A (en) * | 1995-06-07 | 1998-02-17 | Seiko Epson Corporation | Method and apparatus for efficient digital modeling and texture mapping |
US5777913A (en) | 1995-12-27 | 1998-07-07 | Ericsson Inc. | Resolution enhancement of fixed point digital filters |
USH1812H (en) | 1997-10-24 | 1999-11-02 | Sun Microsystems, Inc. | Method for encoding bounding boxes of drawing primitives to be rendered for multi-resolution supersampled frame buffers |
AU2868199A (en) | 1998-02-17 | 1999-08-30 | Sun Microsystems, Inc. | Graphics system with variable resolution super-sampling |
US6313838B1 (en) | 1998-02-17 | 2001-11-06 | Sun Microsystems, Inc. | Estimating graphics system performance for polygons |
US6496187B1 (en) | 1998-02-17 | 2002-12-17 | Sun Microsystems, Inc. | Graphics system configured to perform parallel sample to pixel calculation |
US6469700B1 (en) | 1998-06-24 | 2002-10-22 | Micron Technology, Inc. | Per pixel MIP mapping and trilinear filtering using scanline gradients for selecting appropriate texture maps |
AU5688199A (en) | 1998-08-20 | 2000-03-14 | Raycer, Inc. | System, apparatus and method for spatially sorting image data in a three-dimensional graphics pipeline |
JP2000155850A (ja) | 1998-11-20 | 2000-06-06 | Sony Corp | テクスチャ・マッピング装置及びこれを具備したレンダリング装置、並びに情報処理装置 |
US6417861B1 (en) | 1999-02-17 | 2002-07-09 | Sun Microsystems, Inc. | Graphics system with programmable sample positions |
US6781606B2 (en) | 1999-05-20 | 2004-08-24 | Hewlett-Packard Development Company, L.P. | System and method for displaying images using foveal video |
JP2002203254A (ja) * | 2000-08-30 | 2002-07-19 | Usc Corp | 曲面像変換方法及びこの曲面像変換方法を記録した記録媒体 |
US6731298B1 (en) * | 2000-10-02 | 2004-05-04 | Nvidia Corporation | System, method and article of manufacture for z-texture mapping |
US6906723B2 (en) * | 2001-03-29 | 2005-06-14 | International Business Machines Corporation | Generating partials for perspective corrected texture coordinates in a four pixel texture pipeline |
JP3679347B2 (ja) * | 2001-05-11 | 2005-08-03 | 大日本印刷株式会社 | 柄替えシミュレーションシステム |
US6731434B1 (en) | 2001-05-23 | 2004-05-04 | University Of Central Florida | Compact lens assembly for the teleportal augmented reality system |
US7155698B1 (en) | 2001-09-11 | 2006-12-26 | The Regents Of The University Of California | Method of locating areas in an image such as a photo mask layout that are sensitive to residual processing effects |
US7081893B2 (en) | 2001-10-10 | 2006-07-25 | Sony Computer Entertainment America Inc. | System and method for point pushing to render polygons in environments with changing levels of detail |
EP1442390B1 (en) | 2001-10-10 | 2017-09-13 | Sony Computer Entertainment America LLC | System and method for environment mapping |
US6738069B2 (en) | 2001-12-31 | 2004-05-18 | Intel Corporation | Efficient graphics state management for zone rendering |
TWI238975B (en) * | 2003-02-20 | 2005-09-01 | Via Tech Inc | Method of performing cubic mapping with texturing |
US7619626B2 (en) | 2003-03-01 | 2009-11-17 | The Boeing Company | Mapping images from one or more sources into an image for display |
US7336277B1 (en) | 2003-04-17 | 2008-02-26 | Nvidia Corporation | Per-pixel output luminosity compensation |
JP3966832B2 (ja) | 2003-04-28 | 2007-08-29 | 株式会社東芝 | 描画処理装置、及び、描画処理方法 |
US7495638B2 (en) | 2003-05-13 | 2009-02-24 | Research Triangle Institute | Visual display with increased field of view |
US6967663B1 (en) | 2003-09-08 | 2005-11-22 | Nvidia Corporation | Antialiasing using hybrid supersampling-multisampling |
US8085273B2 (en) | 2003-11-19 | 2011-12-27 | Lucid Information Technology, Ltd | Multi-mode parallel graphics rendering system employing real-time automatic scene profiling and mode control |
US8144156B1 (en) | 2003-12-31 | 2012-03-27 | Zii Labs Inc. Ltd. | Sequencer with async SIMD array |
US8090383B1 (en) | 2004-02-17 | 2012-01-03 | Emigh Aaron T | Method and system for charging for a service based on time spent at a facility |
US7817829B2 (en) | 2004-03-15 | 2010-10-19 | Koninklijke Philips Electronics N.V. | Image visualization |
US7554538B2 (en) | 2004-04-02 | 2009-06-30 | Nvidia Corporation | Video processing, such as for hidden surface reduction or removal |
US7426724B2 (en) | 2004-07-02 | 2008-09-16 | Nvidia Corporation | Optimized chaining of vertex and fragment programs |
US7425966B2 (en) * | 2004-10-07 | 2008-09-16 | Nvidia Corporation | Pixel center position displacement |
JP4660254B2 (ja) | 2005-04-08 | 2011-03-30 | 株式会社東芝 | 描画方法及び描画装置 |
US7289119B2 (en) | 2005-05-10 | 2007-10-30 | Sony Computer Entertainment Inc. | Statistical rendering acceleration |
US7511717B1 (en) | 2005-07-15 | 2009-03-31 | Nvidia Corporation | Antialiasing using hybrid supersampling-multisampling |
US20070018988A1 (en) | 2005-07-20 | 2007-01-25 | Michael Guthe | Method and applications for rasterization of non-simple polygons and curved boundary representations |
US8207975B1 (en) | 2006-05-08 | 2012-06-26 | Nvidia Corporation | Graphics rendering pipeline that supports early-Z and late-Z virtual machines |
US7907792B2 (en) | 2006-06-16 | 2011-03-15 | Hewlett-Packard Development Company, L.P. | Blend maps for rendering an image frame |
US8406562B2 (en) | 2006-08-11 | 2013-03-26 | Geo Semiconductor Inc. | System and method for automated calibration and correction of display geometry and color |
WO2008055262A2 (en) | 2006-11-02 | 2008-05-08 | Sensics, Inc. | Systems and methods for a head-mounted display |
US8243069B1 (en) | 2006-11-03 | 2012-08-14 | Nvidia Corporation | Late Z testing for multiple render targets |
US8233004B1 (en) | 2006-11-06 | 2012-07-31 | Nvidia Corporation | Color-compression using automatic reduction of multi-sampled pixels |
US8149242B2 (en) | 2006-11-10 | 2012-04-03 | Sony Computer Entertainment Inc. | Graphics processing apparatus, graphics library module and graphics processing method |
JP5063990B2 (ja) | 2006-11-15 | 2012-10-31 | 任天堂株式会社 | ゲームプログラムおよびゲーム装置 |
US7876332B1 (en) | 2006-12-20 | 2011-01-25 | Nvidia Corporation | Shader that conditionally updates a framebuffer in a computer graphics system |
JP5268271B2 (ja) | 2007-03-23 | 2013-08-21 | 株式会社東芝 | 画像表示装置および画像表示方法 |
US20090033659A1 (en) | 2007-07-31 | 2009-02-05 | Lake Adam T | Real-time luminosity dependent subdivision |
US8044956B1 (en) | 2007-08-03 | 2011-10-25 | Nvidia Corporation | Coverage adaptive multisampling |
US8441497B1 (en) | 2007-08-07 | 2013-05-14 | Nvidia Corporation | Interpolation of vertex attributes in a graphics processor |
US7916155B1 (en) | 2007-11-02 | 2011-03-29 | Nvidia Corporation | Complementary anti-aliasing sample patterns |
JP5050786B2 (ja) | 2007-11-05 | 2012-10-17 | 富士通セミコンダクター株式会社 | 描画処理装置、描画処理方法および描画処理プログラム |
US8922565B2 (en) | 2007-11-30 | 2014-12-30 | Qualcomm Incorporated | System and method for using a secondary processor in a graphics system |
US8643644B2 (en) | 2008-03-20 | 2014-02-04 | Qualcomm Incorporated | Multi-stage tessellation for graphics rendering |
GB0810311D0 (en) | 2008-06-05 | 2008-07-09 | Advanced Risc Mach Ltd | Graphics processing systems |
US8605087B2 (en) | 2008-07-03 | 2013-12-10 | Nvidia Corporation | Hybrid multisample/supersample antialiasing |
US8428326B2 (en) | 2008-10-23 | 2013-04-23 | Immersion Corporation | Systems and methods for ultrasound simulation using depth peeling |
GB0819570D0 (en) * | 2008-10-24 | 2008-12-03 | Advanced Risc Mach Ltd | Methods of and apparatus for processing computer graphics |
US8780131B2 (en) | 2008-12-19 | 2014-07-15 | Xerox Corporation | Systems and methods for text-based personalization of images |
US20100214294A1 (en) | 2009-02-20 | 2010-08-26 | Microsoft Corporation | Method for tessellation on graphics hardware |
US8330767B2 (en) | 2009-03-24 | 2012-12-11 | Advanced Micro Devices, Inc. | Method and apparatus for angular invariant texture level of detail generation |
JP5676092B2 (ja) * | 2009-09-18 | 2015-02-25 | 株式会社ローラン | パノラマ画像生成方法及びパノラマ画像生成プログラム |
US8669999B2 (en) | 2009-10-15 | 2014-03-11 | Nvidia Corporation | Alpha-to-coverage value determination using virtual samples |
US8638342B2 (en) | 2009-10-20 | 2014-01-28 | Apple Inc. | System and method for demosaicing image data using weighted gradients |
EP2510494B1 (en) | 2009-12-11 | 2021-12-22 | Leica Biosystems Imaging, Inc. | Improved signal to noise ratio in digital pathology image analysis |
US8606009B2 (en) | 2010-02-04 | 2013-12-10 | Microsoft Corporation | High dynamic range image generation and rendering |
US8619085B2 (en) | 2010-03-08 | 2013-12-31 | Broadcom Corporation | Method and system for compressing tile lists used for 3D rendering |
CN105847780B (zh) * | 2010-07-21 | 2018-01-09 | 杜比实验室特许公司 | 用于多层帧兼容视频传输的解码方法 |
WO2012037157A2 (en) | 2010-09-13 | 2012-03-22 | Alt Software (Us) Llc | System and method for displaying data having spatial coordinates |
KR101719485B1 (ko) | 2010-09-20 | 2017-03-27 | 삼성전자주식회사 | 그래픽 처리 유닛에서의 사전 픽셀 제거를 위한 장치 및 방법 |
US9122053B2 (en) | 2010-10-15 | 2015-09-01 | Microsoft Technology Licensing, Llc | Realistic occlusion for a head mounted augmented reality display |
JP5751865B2 (ja) * | 2011-03-03 | 2015-07-22 | セコム株式会社 | 顔画像処理装置 |
US8982136B2 (en) | 2011-05-16 | 2015-03-17 | Qualcomm Incorporated | Rendering mode selection in graphics processing units |
JP5885398B2 (ja) | 2011-05-20 | 2016-03-15 | キヤノン株式会社 | 画像処理装置、画像処理方法 |
US9019280B2 (en) | 2011-07-22 | 2015-04-28 | Qualcomm Incorporated | Area-based rasterization techniques for a graphics processing system |
EP2555166B1 (en) * | 2011-08-01 | 2019-10-16 | Harman Becker Automotive Systems GmbH | Space error parameter for 3D buildings and terrain |
KR101926570B1 (ko) | 2011-09-14 | 2018-12-10 | 삼성전자주식회사 | 포스트 프레그먼트 쉐이더를 사용하는 그래픽 처리 방법 및 장치 |
US10089774B2 (en) | 2011-11-16 | 2018-10-02 | Qualcomm Incorporated | Tessellation in tile-based rendering |
JP5979507B2 (ja) | 2011-11-24 | 2016-08-24 | パナソニックIpマネジメント株式会社 | 頭部装着型ディスプレイ装置 |
GB2497302B (en) | 2011-12-05 | 2017-04-12 | Advanced Risc Mach Ltd | Methods of and apparatus for processing computer graphics |
US10535185B2 (en) | 2012-04-04 | 2020-01-14 | Qualcomm Incorporated | Patched shading in graphics processing |
US8581929B1 (en) | 2012-06-05 | 2013-11-12 | Francis J. Maguire, Jr. | Display of light field image data using a spatial light modulator at a focal length corresponding to a selected focus depth |
US9495781B2 (en) | 2012-06-21 | 2016-11-15 | Nvidia Corporation | Early sample evaluation during coarse rasterization |
US9424685B2 (en) | 2012-07-31 | 2016-08-23 | Imagination Technologies Limited | Unified rasterization and ray tracing rendering environments |
US9142005B2 (en) | 2012-08-20 | 2015-09-22 | Nvidia Corporation | Efficient placement of texture barrier instructions |
US10096079B2 (en) | 2013-06-10 | 2018-10-09 | Sony Interactive Entertainment Inc. | Fragment shaders perform vertex shader computations |
US10176621B2 (en) | 2013-06-10 | 2019-01-08 | Sony Interactive Entertainment Inc. | Using compute shaders as front end for vertex shaders |
US10134102B2 (en) | 2013-06-10 | 2018-11-20 | Sony Interactive Entertainment Inc. | Graphics processing hardware for using compute shaders as front end for vertex shaders |
US10102603B2 (en) | 2013-06-10 | 2018-10-16 | Sony Interactive Entertainment Inc. | Scheme for compressing vertex shader output parameters |
US10976986B2 (en) | 2013-09-24 | 2021-04-13 | Blackberry Limited | System and method for forwarding an application user interface |
US9495790B2 (en) | 2014-04-05 | 2016-11-15 | Sony Interactive Entertainment America Llc | Gradient adjustment for texture mapping to non-orthonormal grid |
WO2015154004A1 (en) | 2014-04-05 | 2015-10-08 | Sony Computer Entertainment America Llc | Method for efficient re-rendering objects to vary viewports and under varying rendering and rasterization parameters |
US9710881B2 (en) | 2014-04-05 | 2017-07-18 | Sony Interactive Entertainment America Llc | Varying effective resolution by screen location by altering rasterization parameters |
US9652882B2 (en) | 2014-04-05 | 2017-05-16 | Sony Interactive Entertainment America Llc | Gradient adjustment for texture mapping for multiple render targets with resolution that varies by screen location |
US9836816B2 (en) | 2014-04-05 | 2017-12-05 | Sony Interactive Entertainment America Llc | Varying effective resolution by screen location in graphics processing by approximating projection of vertices onto curved viewport |
US9760113B2 (en) | 2015-02-20 | 2017-09-12 | Sony Interactive Entertainment America Llc | Backward compatibility through use of spoof clock and fine grain frequency control |
US11403099B2 (en) | 2015-07-27 | 2022-08-02 | Sony Interactive Entertainment LLC | Backward compatibility by restriction of hardware resources |
US10235219B2 (en) | 2015-07-27 | 2019-03-19 | Sony Interactive Entertainment America Llc | Backward compatibility by algorithm matching, disabling features, or throttling performance |
US9892024B2 (en) | 2015-11-02 | 2018-02-13 | Sony Interactive Entertainment America Llc | Backward compatibility testing of software in a mode that disrupts timing |
-
2014
- 2014-04-05 US US14/246,068 patent/US9495790B2/en active Active
-
2015
- 2015-03-19 TW TW105131362A patent/TWI602148B/zh active
- 2015-03-19 TW TW104108775A patent/TWI562095B/zh active
- 2015-03-23 JP JP2016560826A patent/JP6389274B2/ja active Active
- 2015-03-23 EP EP15773084.7A patent/EP3129974B1/en active Active
- 2015-03-23 KR KR1020167027634A patent/KR101925292B1/ko active IP Right Grant
- 2015-03-23 WO PCT/US2015/021982 patent/WO2015153168A1/en active Application Filing
-
2016
- 2016-11-14 US US15/351,310 patent/US9786091B2/en active Active
-
2017
- 2017-09-27 US US15/717,041 patent/US10134175B2/en active Active
-
2018
- 2018-08-15 JP JP2018152930A patent/JP6678209B2/ja active Active
-
2020
- 2020-03-16 JP JP2020045666A patent/JP2020113301A/ja active Pending
-
2022
- 2022-03-14 JP JP2022039030A patent/JP2022078281A/ja active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5602391A (en) * | 1995-02-23 | 1997-02-11 | Hughes Electronics | Quincunx sampling grid for staring array |
US20030086603A1 (en) * | 2001-09-07 | 2003-05-08 | Distortion Graphics, Inc. | System and method for transforming graphical images |
US20030234784A1 (en) * | 2002-06-21 | 2003-12-25 | Radek Grzeszczuk | Accelerated visualization of surface light fields |
US20040036692A1 (en) * | 2002-08-23 | 2004-02-26 | Byron Alcorn | System and method for calculating a texture-mapping gradient |
CN1741070A (zh) * | 2004-07-23 | 2006-03-01 | 微软公司 | 外壳纹理函数 |
US7339594B1 (en) * | 2005-03-01 | 2008-03-04 | Nvidia Corporation | Optimized anisotropic texture sampling |
US8300059B2 (en) * | 2006-02-03 | 2012-10-30 | Ati Technologies Ulc | Method and apparatus for selecting a mip map level based on a min-axis value for texture mapping |
TW200838316A (en) * | 2007-01-23 | 2008-09-16 | Euclid Discoveries Llc | Computer method and apparatus for processing image data |
US20110134136A1 (en) * | 2009-12-03 | 2011-06-09 | Larry Seiler | Computing Level of Detail for Anisotropic Filtering |
US20120092366A1 (en) * | 2010-10-13 | 2012-04-19 | Qualcomm Incorporated | Systems and methods for dynamic procedural texture generation management |
Also Published As
Publication number | Publication date |
---|---|
JP2019012535A (ja) | 2019-01-24 |
TWI562095B (en) | 2016-12-11 |
TW201541403A (zh) | 2015-11-01 |
JP2020113301A (ja) | 2020-07-27 |
US20150287232A1 (en) | 2015-10-08 |
JP6678209B2 (ja) | 2020-04-08 |
US20170061671A1 (en) | 2017-03-02 |
WO2015153168A1 (en) | 2015-10-08 |
TW201705086A (zh) | 2017-02-01 |
KR20160130821A (ko) | 2016-11-14 |
US9495790B2 (en) | 2016-11-15 |
JP2022078281A (ja) | 2022-05-24 |
JP2017515219A (ja) | 2017-06-08 |
US10134175B2 (en) | 2018-11-20 |
US9786091B2 (en) | 2017-10-10 |
EP3129974A1 (en) | 2017-02-15 |
KR101925292B1 (ko) | 2018-12-05 |
JP6389274B2 (ja) | 2018-09-12 |
EP3129974A4 (en) | 2018-01-03 |
US20180018809A1 (en) | 2018-01-18 |
EP3129974B1 (en) | 2019-09-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI602148B (zh) | 用於紋理映射至非正交網格的梯度調整 | |
TWI570665B (zh) | 電腦圖形系統及圖形處理方法 | |
US11301956B2 (en) | Varying effective resolution by screen location by altering rasterization parameters | |
US11238639B2 (en) | Gradient adjustment for texture mapping to non-orthonormal grid |