TWI427557B - 圖形分析技術 - Google Patents
圖形分析技術 Download PDFInfo
- Publication number
- TWI427557B TWI427557B TW099114379A TW99114379A TWI427557B TW I427557 B TWI427557 B TW I427557B TW 099114379 A TW099114379 A TW 099114379A TW 99114379 A TW99114379 A TW 99114379A TW I427557 B TWI427557 B TW I427557B
- Authority
- TW
- Taiwan
- Prior art keywords
- image
- over
- pixel
- graphics
- plotted
- Prior art date
Links
- 238000004458 analytical method Methods 0.000 title claims description 44
- 238000000034 method Methods 0.000 title claims description 36
- 238000004040 coloring Methods 0.000 claims description 50
- 239000011159 matrix material Substances 0.000 claims description 18
- 238000012545 processing Methods 0.000 claims description 15
- 238000005516 engineering process Methods 0.000 claims description 4
- 239000000872 buffer Substances 0.000 claims description 3
- 230000002708 enhancing effect Effects 0.000 claims 1
- 238000012360 testing method Methods 0.000 description 26
- 238000010586 diagram Methods 0.000 description 15
- 230000003993 interaction Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 2
- 239000003086 colorant Substances 0.000 description 2
- 238000004883 computer application Methods 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000013101 initial test Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 235000012431 wafers Nutrition 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000010561 standard procedure Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3604—Software analysis for verifying properties of programs
- G06F11/3616—Software analysis for verifying properties of programs using software metrics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/3636—Software debugging by tracing the execution of the program
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/366—Software debugging using diagnostics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
Description
本發明係關於提供圖形應用分析之技術。
電腦應用所使用之圖形日趨複雜。例如,遊戲應用通常提供在即時之基礎上製作動畫的三維圖形。此圖形也越來越逼真。
隨著此圖形之複雜度增加,應用研發者之挑戰也加大。例如,研發者必須修正圖形著色之誤差,其係因未操作或操作不當或顯示不正確所致。再者,研發者必須以有限之處理能力解決。因此,由圖形著色所生之處理負荷必須加以分析且經常改善,以在此有限之處理能力內適應。
用於測試、分析、及修正圖形誤差的工具對於圖形應用之研發而言是相當重要的。
本發明之實施例提供圖形應用之分析技術。例如,一設備可包括一圖形應用程式介面(API)、一圖形引擎、及一圖形分析工具。圖形分析工具可以接收到發給圖形API之多數個繪圖呼叫,並將繪圖呼叫配置成多數個序列,各序列係對應於一特定著色目標。由於此項資訊,許多分析工作即可執行。例如,可以產生過度繪圖影像。再者,像素歷史可以基於對應之像素選擇而產生。繪圖呼叫在所選擇像素上之效果也得以決定。此外,這些工作可在每一著色目標之基礎上執行。
本說明書全文內有關之「某一實施例」或「一實施例」是指關於該實施例所揭述之一特定特性、結構、或特徵亦包括在至少一實施例內。因此,「在某一實施例中」或「在一實施例中」等用語出現在本申請書全文內之不同處並不需要皆視之為同一實施例。再者,特定特性、結構、或特徵可在一或多個實施例中以任意適當方式組合。
圖1係一示範性操作環境100之示意圖,其可使用本文內所述之技術。環境100可包括多數個元件。例如,圖1揭示環境100包括一圖形應用102、一圖形應用程式介面(API)104、一圖形引擎106、及一圖形分析工具110。這些元件可以在硬體及/或軟體之任意組合型態中實施。再者,這些實施例並不拘限於圖1之元件。
在實施例中,圖形應用102係一電腦應用(例如一使用者應用),其使用被輸出至一或多個顯示器上之圖形(例如三維圖形)。示範性使用者應用包括(但是不限定於)電動遊戲及模擬工具。
圖形API 104將圖形引擎106之多項服務提供於圖形應用102。在實施例中,此可透過許多程序、資料結構、物件等級、及/或協定來提供。圖形API 104之該使用情形在本文內係稱為「繪圖呼叫」。這些實施例可以使用(但是不限定於)市面上有售之APIs。此APIs之範例包括OpenGL、DirectX、及其他。
在一般操作中,圖形應用102可以使用圖形產生中之多數個著色目標。一著色目標係一受到繪圖操作影響之緩衝器(由圖形引擎106維持),使圖形應用102經由圖形API 104啟始。
多數個著色目標可依不同方式使用。例如,圖形應用102可以使用多數個著色目標,其中各著色目標係對應於一特定效果。示範性效果包括(但是不限定的有)與動作有關之陰影、起霧、打光、模糊等等。此外或另者,多數個著色目標各者可以對應於一或多個著色物件或原件。惟,這些實施例並不限於著色目標的這些示範性使用情形。
圖形引擎106針對圖形應用102執行圖形操作。如上所述,這些操作可以反應於所收到之繪圖呼叫而執行,並透過圖形API 104處理。示範性操作包括著色及輸出影像(訊框)至一顯示裝置。因此,圖形引擎106使用一圖形管線(graphics pipeline)。如上所述,圖形引擎106可以在硬體及/或軟體之任意組合型態中實施使用。因此,在實施例中,圖形引擎106包括一圖形處理單元(GPU)。
圖1揭示圖形分析工具110聯結於圖形API 104與圖形引擎106兩者。圖形分析工具110可以執行與圖形應用分析有關之操作。欲達成此目的,圖形分析工具110可以取得由圖形應用102發出之繪圖呼叫。基於這些繪圖呼叫,圖形分析工具110可以使用圖形引擎106產生與繪圖呼叫有關之操作資訊。這些資訊可包括(但是不限定的有)過度繪圖影像及像素歷史。
再者,圖形分析工具110可以取得(或擷取)由圖形引擎106提供之訊框。再者,圖形分析工具110可以取得與此擷取訊框相關之繪圖呼叫。更有甚者,圖形分析工具110可以控制與圖形應用102相對應之訊框產生的速率。透過此項控制,訊框可依一所需之速度前進。此一速度可由一使用者建立。
如參考於圖1所述,圖形分析工具110可以執行與圖形應用分析有關之操作。圖2係一示範性實施方式200之示意圖,其可包括在圖形分析工具110內。圖2揭示實施方式200包括一圖形API截取模組202、一圖形API呼叫日誌資料庫204、一重建模組206、一過度繪圖分析模組207、一像素歷史分析模組208、一使用者介面模組210、及一訊框儲存模組212。這些元件可以在硬體及/或軟體之任意組合型態中實施。
圖形API截取模組202複製圖形API操作(在本文內稱之為繪圖呼叫),以產生一圖形應用(例如圖形應用102)。再者,圖形API截取模組202將複製之繪圖呼叫傳送至圖形API呼叫日誌資料庫204。接著,圖形API呼叫日誌資料庫204儲存這些收到的繪圖呼叫。
圖形API呼叫日誌資料庫204可用多種方式儲存所接收到的繪圖呼叫。例如,圖形API呼叫日誌資料庫204可以按時間先後儲存繪圖呼叫。另外,此按時間先後之儲存可藉由繪圖呼叫而配置,以用於多個著色目標之每一者。
重建模組206可以基於API呼叫日誌資料庫204中所儲存之繪圖呼叫而產生不同影像(訊框)。這些重建牽涉到一圖形引擎之使用,例如圖形引擎106。再者,在產生這些影像時,重建模組206可以指示圖形引擎使用特定之設定。例如,設定可被改變,使得著色影像指出所發生之特殊事件(例如過度繪圖)數。再者,重建模組206可以啟動或停止圖形引擎內之不同管線測試。
過度繪圖分析模組207(在一單位著色目標之基礎上)判斷與特定繪圖呼叫相關聯之過度繪圖。這牽涉到指示重建模組206產生許多以過度繪圖影像為主而選擇(使用者選擇或自動選擇)之繪圖呼叫及著色目標。與此特性有關之示範性操作將參考圖4說明於後。
像素歷史分析模組208判斷一序列之繪圖呼叫,其可令一像素被寫入(觸碰)。這牽涉到指示重建模組206根據不同設定以產生特定影像。與此特性有關之示範性操作將參考圖5、6、及7說明於後。
使用者介面模組210提供使用者可與圖形分析工具110互動。例如,在實施例中,使用者介面模組210即提供一圖形使用者介面,以提供本文內所述技術之有效率使用者操作。
訊框儲存模組212儲存一或多個由一圖形引擎(例如圖形引擎106)產生之訊框(影像)。這些訊框包含多數個像素,其係對應於可在一顯示裝置(圖中未示)上輸出之位置。這些訊框可以是不同格式。示範性訊框包括(但是不限定的有)不同之RGB與CMYK格式。再者,訊框擷取資料庫108可以使用不同壓縮及/或編碼架構,以儲存訊框。
在實施例中,這些訊框可以根據本文內所述之技術產生。例如,訊框儲存模組212可以儲存透過應用102、圖形API 104、及圖形引擎106之正常操作而產生之訊框。再者,訊框儲存模組212可以儲存包含有過度繪圖影像訊框、像素歷史訊框、及其他類型訊框之訊框。
這些實施例皆提供一使用者介面,其將圖形相關之資訊顯示予一使用者。圖3係一示範性使用者介面(亦稱為一介面控制台)300之示意圖。介面控制台300可供一使用者觀看與圖形操作相關聯之不同資訊。如圖3中所示,介面控制台300包括一繪圖呼叫區302、一著色目標區304、一影像著色區306、及一像素歷史區308。
著色目標區304指出多數個與一特定影像相關聯之著色目標。在實施例中,這些著色目標可以用圖符(icons)或其他圖形表示法表示。一使用者可以透過GUI互動(例如利用游標定位及雙擊)而選擇一特定之繪圖呼叫。
在實施例中,繪圖呼叫區302指出在一按時間先後(例如從左至右)之條形圖中之繪圖呼叫(例如對應於一在區304選出之著色目標的繪圖呼叫)。因此,各條形即對應於一特定之繪圖呼叫。再者,各條形之高度表示由對應之繪圖呼叫造成的圖形引擎操作(例如管線操作)之數量。在實施例中,一使用者可以透過GUI互動(例如利用游標定位及雙擊)而選擇一特定之繪圖呼叫。
基於一選出之繪圖呼叫,使用者可以觀看影像著色區306中之一過度繪圖影像。與過度繪圖影像相關之特性係參考圖4說明於後。由此過度繪圖影像,使用者可選擇一特定像素以供分析。由此像素選擇,像素歷史影像可以顯示於影像著色區306中。再者,繪圖呼叫之一相對應像素歷史可以顯示於像素歷史區308中。有關於像素歷史之示範性詳細說明將參考圖5-7提供於後。
用於不同實施例之操作可以參考以下圖式及伴隨之範例而進一步揭述。有些圖式可包括一邏輯流程圖。儘管本文內所呈現的這些圖式可包括一特定之邏輯流程圖,可以瞭解的是邏輯流程圖僅提供本文內所述之大致功能如何實施的一範例。再者,給定之邏輯流程圖並不必然一定要依其順序執行,除非另有指示。此外,給定之邏輯流程圖可由一硬體元件、一由一或多個處理器執行之軟體元件、或其任意組合實施。這些實施例並不拘限於本文。
這些實施例提供許多技術以分析圖形應用。這些技術是關於過度繪圖、像素歷史、繪圖呼叫等等之分析。再者,這些技術可以使用替代性影像重建與表示法。
這些替代性重建與表示法有利於容許性能相關之資訊較快速地從一圖形背景擷取。這些替代性重建與表示法之一範例牽涉到在一單位著色目標之基礎上執行的過度繪圖分析。由此分析,即可產生對應之像素歷史。這些特性有利於提供作為從一序列之圖形操作中擷取其他隱藏資訊。牽涉到此一過度繪圖分析與像素歷史產生之一範例係參考圖4說明於後。
圖4揭示一邏輯流程圖400,其可以作為由一或多個實施例執行之操作的代表。此流程圖揭述於圖1及2之內文中。惟,此流程圖也可以使用在其他內文中。儘管圖4揭示一特定序列,但是其他序列也可以使用。再者,所述之操作可用不同之並行及/或順行組合執行。
在一方塊402,儲存一序列之圖形API呼叫(繪圖呼叫)。此序列可對應於一特定影像(訊框)。在圖2之內文中,此牽涉到用於截取這些繪圖呼叫之API截取模組202、及用於將其儲存之圖形API呼叫日誌資料庫204。
在一方塊404,所儲存之API呼叫序列儲存成多數序列,以供多數個著色目標之各者使用。參閱圖2,此牽涉到用於從各API呼叫中判斷著色目標之重建模組206。在實施例中,重建模組206可以使用一圖形引擎(例如圖形引擎106)進行此動作。
針對各著色目標群,一過度繪圖影像係在一方塊406產生。復參閱圖2,此牽涉到用於指示一圖形引擎(例如圖形引擎106)以針對各著色目標而執行繪圖呼叫之重建模組206。惟,取代正常操作,圖形引擎係依一方式設定,以致使像素值得以累積。較特別的是,圖形引擎可經設定使繪圖呼叫每當其被寫入(觸碰)時就令對應之著色目標像素值累積(增加一像素點擊計數)。因此,在每一著色目標中,各像素即產生一計數。此計數表示像素被觸碰到多少次。
在一方塊408,選擇其中一著色目標。此項選擇可由一使用者或自動進行。在實施例中,此著色目標可以選自一顯示器上所提供一列表之多數個著色目標(例如,像是圖符或其他圖形表示法)。
在一方塊409,供該選擇之著色目標用的過度繪圖影像可在視覺上加強。此加強作用牽涉到增加過度繪圖影像之動態範圍。有關此加強作用之細節將參考圖8說明於後。
在一方塊410,過度繪圖影像係顯示以用於該選擇之著色目標。如上所述,過度繪圖影像代表像素已被觸碰到之次數。在實施例中,這些次數可以由顯示過度繪圖影像中之像素亮度代表。惟,實施例並不限於此特性。
此過度繪圖影像之一或多個對應像素可以在一方塊412選擇。此項選擇可由一使用者或透過自動技術達成。使用者選擇牽涉到透過一圖形使用者介面(GUI)而與過度繪圖影像互動。例如,使用者可以透過一游標、透過圖形瞄準器、透過數位座標輸入、及/或透過其他技術而選擇像素。另者,自動選擇牽涉到基於其過度繪圖值而自動選擇像素。例如,指出最高觸碰次數之像素即可以被自動選擇。
在一方塊414,一用於一或多個選擇像素各者之像素歷史係可被取用於使用者。像素歷史可包含影響到(或造成寫入至)像素之各繪圖呼叫。在實施例中,這些繪圖呼叫僅受限於會影響到在方塊408選出之著色目標者。惟,這些實施例可以另行或替代性提供會影響到其他著色目標的對應繪圖呼叫。
這個像素歷史可在一方塊416顯示。在實施例中,此顯示可以是一序列圖符之形式且各圖符代表一繪圖呼叫。一使用者可在此一圖符上選擇(例如雙擊),以觀看有關於繪圖呼叫之詳細資訊。惟,其他顯示像素歷史(例如文字列表)之技術也可以使用。
圖4之流程圖有利於提供一直接方式,以從背景中之最複雜像素擷取資訊。例如,從方塊410顯示之過度繪圖影像,即可選擇一被觸碰較多次之像素(亦稱之為一具有高複雜度之像素)。如上所述,這些像素可以透過其顯示亮度而變得明顯。
當選擇一具有高複雜度之像素時,使用者可以看到影響像素(像素歷史)之API呼叫。此外,使用者可以看到影像之一正常表示法(並非一過度繪圖表示法)。透過分析繪圖呼叫,使用者可以判斷是否可以形成一組較有效率之API呼叫。因此,透過此像素之識別,研發人員可以改善應用,以減少像素之繪圖次數。此有利於增加圖形應用性能。
如上所述,這些實施例提供用於與像素相關之資訊的擷取。再者,這些實施例可以告知使用者有關於繪圖呼叫導致像素被觸碰到之次數。一單一繪圖呼叫可以觸碰到一特定像素一次以上。例如,一命令一圖形引擎(例如圖形引擎106)著色一三維物件之繪圖呼叫可以使圖形引擎將重疊於像素位置之表面著色。舉例而言,一著色之立方體可以有重疊的前與後側面。這些實施例可以(針對一特定著色目標)每次偵測及指出一已受到一特定繪圖呼叫觸碰之像素。一牽涉到此特性之範例係參考圖5揭述於後。
圖5揭示一邏輯流程圖500,其可以作為由一或多個實施例執行之操作的代表。此流程圖揭述於圖1及2之內文中。惟,此流程圖也可以使用在其他內文中。儘管圖5揭示一特定序列,但是其他序列也可以使用。再者,所述之操作可用不同之並行及/或順行組合執行。
在一方塊502,選擇一著色目標。此項選擇可由一使用者進行。或者,此項選擇可以自動進行。再者,在一方塊504,選擇一或多個像素。此像素可用多種方式選擇。例如,此像素可以是使用者選擇或自動選擇式過度繪圖,如參考圖4所述者。惟,這些實施例並不受限於本文。
在一方塊506,使用者選擇一與所選出像素相對應之繪圖呼叫。例如,使用者可以從多數個在一像素歷史中辨識的繪圖呼叫(例如,一序列之繪圖呼叫)選擇出此繪圖呼叫,例如一在圖4之方塊414處產生的像素歷史。據此,如果這是在一序列中之第一次選擇,這些實施例可以在方塊507將其指定為一初選繪圖呼叫。
此時,關於所選擇像素(在選出之著色目標中)被觸碰次數之資訊可在一方塊509處決定。在實施例中,這項決定可以是針對選擇之繪圖呼叫。或者,這項決定可以是針對一序列之繪圖呼叫,其藉由在方塊507指定之初始繪圖呼叫開始且藉由在方塊506選擇之繪圖呼叫結束。
如圖5中所示,這些決定可牽涉到多數個操作。例如,一第一次操作可牽涉到執行繪圖呼叫且不作動任何圖形管線試驗。再者,一第二次操作可牽涉到執行繪圖呼叫且作動特定之圖形管線試驗。再者,一第三次操作可牽涉到執行繪圖呼叫且具有初始混合(alpha blending)。方塊509內的這三次操作僅為揭述之目的,而非限制。據此,這些實施例可以使用操作及/或其他序列之其他組合型態。關於這些傳送之進一步詳細內容係參考圖6說明於後。
在一方塊510,使用者可選擇下一繪圖呼叫。此下一繪圖呼叫可以是一按時間先後序列之繪圖呼叫,其影響到所選擇之著色目標中的選擇像素。例如,此下一繪圖呼叫可以是一緊跟在最近選出(在方塊506或方塊510)之繪圖呼叫後的繪圖呼叫。如圖5中所示,如果選出一下一繪圖呼叫,則操作即回到方塊509。
因此,圖5之特性可供一使用者選擇一或多個關注之繪圖呼叫,並分析其(或它們)在特定像素上之影響。這些特性有利於允許在一特定著色目標之任意像素上之一背景複雜度被評估。此資訊有利於協助使用者決定是否要減少一特定背景之複雜度或調整應用設定,以增加特定3D操作之性能。
如上所述,關於一選擇像素(在選出之著色目標中)被觸碰次數之資訊可在多數次操作中決定。例如,這些多次操作之一範例係由圖6提供。
特別是,圖6係一流程圖600,其包括一第一次操作602、一第二次操作604、及一第三次操作606。這些操作各牽涉到多數個操作。例如,圖6揭示第一次操作602包括方塊610-614。在方塊610,停止特定之圖形管線試驗(例如,剪切試驗、長方形試驗、Z形試驗、模版試驗、及/或初始試驗)。在方塊612,判斷當這些試驗停止時繪圖呼叫觸碰到選擇像素多少次。此牽涉到以調整過之著色操作執行繪圖呼叫。例如,像素遮影器碼可經調整使得每次像素被繪圖呼叫觸碰時,選擇像素之陰影即增加(例如增加1)。惟,實施例並不限於此技術。
這項判斷之結果係在方塊614時輸出至使用者。這些結果可以是輸出之圖形形式(例如顯示於選擇之像素位置,做為一相對應之亮度、陰影、或透明度)。或者,這些結果可以是文字輸出形式。
圖6揭示第二次操作604包括方塊620-632。在方塊620,使用者可以開始一特定試驗。例如,使用者可以開始一系列之剪切試驗、一Z形試驗、或一模版試驗。在一方塊622,判斷是否已選擇一試驗。如果是,操作即進行至方塊624。否則,操作會進行至一第三次操作而在一方塊640處。
在方塊624,將選出之著色目標清除。隨後,在一方塊626處,選出之試驗係在圖形引擎中被致能。在一方塊628,執行繪圖呼叫。
在一方塊630處,這些繪圖呼叫之結果係輸出至使用者。這些結果可以是輸出之圖形形式(例如顯示於選擇之像素位置,做為一相對應之亮度或透明度)。或者,這些結果可以是文字輸出形式。如果結果是零(無像素值),這表示選出之試驗在每次喚起時皆失敗。惟,如果結果不是零,則選出之試驗在至少一次喚起時會成功。
如一方塊632所示,使用者可以選擇另一試驗。如果是這樣,操作即回到方塊620。否則,操作會進行至第三次操作而在方塊640處。
圖6揭示第三次操作包括一方塊640。在此方塊,執行一正常著色以決定像素之輸出顏色。
進一步參考圖6之流程,現在提供多數個關於一像素已被觸碰次數之非限制性說明範例。例如,「觸碰」之次數可以是一著色幾何形狀與像素相交之次數。例如,當被著色之幾何形狀係一含有二側面三角形之球體時,中央像素將有一過度繪圖計數值2:一為前面,一為背面(Z形試驗在此情況下係停止)。再者,如果被著色之幾何形狀係一含有一側面三角形之球體時,中央像素將有一過度繪圖計數值1:一為前面,零為背面(因為其背面剔除(在此情況下致動剔除))。
再者,「觸碰」之次數可以是像素實際寫入至緩衝器之次數(將幾何形狀遭Z形試驗拒絕之次數排除)。例如,當將三個從視者觀點來看是在彼此之上的三角形著色時,觸碰次數即取決於繪圖順序。例如,如果先畫最遠者、接著是中間、及接著是最近者,則對於所有三個三角形重疊之像素而言,其計數值為3。惟,如果先畫最近者、接著是中間、及接著是最遠者,則對於相同像素而言,其計數值為1。這是因為後兩者已被Z形試驗排除。
如上所述,這些實施例容許使用者決定繪圖呼叫在特定像素上之效果。再者,這些實施例容許繪圖呼叫之失能。例如,一使用者可以將一或多個繪圖呼叫失能,及決定此失能對於像素處理上之影響。因此,計算上之差異即可確定。例如,可以決定一背景著色是否變較快。再者,使用者可以決定此失能對於著色影像上之視覺影響。例如,一使用者可以決定將繪圖呼叫失能是否讓背景看起來令人難以接受。一牽涉到諸項特性之範例係參考圖7而說明於後。
圖7揭示一邏輯流程圖700,其可以作為由一或多個實施例執行之操作的代表。此流程圖揭述於圖1及2之內文中。惟,此流程圖也可以使用在其他內文中。儘管圖7揭示一特定序列,但是其他序列也可以使用。再者,所述之操作可用不同之並行及/或順行組合執行。
如圖7中所示,在一方塊702選擇一著色目標。此項選擇可由一使用者或透過自動技術達成。再者,在一方塊704,選擇一像素。此像素可用多種方式選擇。例如,此像素可以是使用者選擇或自動選擇,如以上參考圖4所述者。惟,這些實施例並不受限於本文。
在一方塊706,一使用者選擇一或多個待失能之繪圖呼叫。此項選擇可以是來自於一序列之繪圖呼叫。在一方塊708,像素歷史係經決定以用於該序列之繪圖呼叫。在實施例中,此牽涉到以上參考圖5所述之執行操作。因此,一像素被失能之繪圖呼叫所觸碰的次數可以被決定。如以上參考圖5所述,這些決定可以藉由不同圖形管線試驗(例如,剪切試驗、長方形試驗、Z形試驗、模版試驗、及/或初始試驗)致動或停止而達成。因為失能之繪圖呼叫並未著色,用於後續繪圖呼叫之試驗則會有不同之試驗結果。因此,失能之繪圖呼叫即提供一動態之像素歷史。
在一方塊710,一影像係針對該序列之繪圖呼叫著色,而所選擇之繪圖呼叫係為失能。在一方塊712處,此著色之影像則顯示於使用者。
如上所述,這些實施例提供過度繪圖之影像。再者,這些實施例提供將任意使用者選擇之繪圖呼叫致能或失能的能力,以停止一過度繪圖影像之合成且更深入檢查所著色之像素。
過度繪圖之影像可含有難以目視辨別之細微差異。例如,某一區域可能比一相鄰區域略暗(此表示該區域被觸碰到之次數差異)。這些實施例可在視覺上加強這些差異。例如,在圖4之方塊409,一過度繪圖影像即經過加強。
此項加強可以增加一過度繪圖影像之動態範圍。結果,過度繪圖影像中之細微差異即變得更易於看見。許多技術皆可用於提供動態範圍中之此項增加。例如,這些實施例可以使用箝制操作。
圖8揭示一邏輯流程圖800,其可以作為由一或多個實施例執行之操作的代表。儘管圖8揭示一特定序列,但是其他序列也可以使用。再者,所述之操作可用不同之並行及/或順行組合執行。
在一方塊802,提供一過度繪圖影像。在一方塊804,決定過度繪圖影像中之最小值及最大值。
在一方塊806,一矩陣係基於該最小值及最大值而產生。在一方塊806處,過度繪圖影像隨後被以該矩陣處理。此項處理則產生一加強之過度繪圖,其可顯示於一方塊810處。
現在提供此技術之一範例。此範例牽涉到一5x5矩陣。這是用於在影像資料上執行線性運算之標準技術。假設像素值在[0,255]範圍內,且矩陣值為浮點比例因數(floating point scale factors),則使用以下公式:
這是一個基本的矩陣乘法運算,其中RGBA影像原色(Ir,Ig,Ib,Ia)乘以5x5矩陣M,以計算出調整過之RGBA影像顏色(Or,Og,Ob,Oa)。藉由調整M之20個變數元素之值,即可執行許多色彩調整操作。對於過度繪圖影像,矩陣值係經調整以將過度繪圖影像依比例縮放,使重要資料之範圍擴大。
舉例而言,假設整個著色目標中之每一像素被寫入20次(假設全部著色目標組皆在彼此之頂部上混合),則假設3個以上之小三角形被寫至著色目標,其中二者有些重疊。在此例子中,大部分像素將有一過度繪圖值20,少數有一過度繪圖值21(其係受到小三角形觸碰者),及少數有一過度繪圖值22(其係在二個重疊之小三角形相交處者)。
如果一使用者在正常情況下看此影像,則看起來是暗的,而且很難看到具有過度繪圖值21及22之訊框部分。在此實施例中,看見一調整影像,其中正常影像中之各像素乘以矩陣M,以計算出過度繪圖影像之調整色彩。在此有使用過之值,假設8位元色彩頻道(原始及過度繪圖影像中之RGBA值之每者各有值在[0,255]中),但是此技術並不限於此狀況,如果使用不同色彩深度時亦可作用:
令min=20//過度繪圖影像中之最小值
令max=22//過度繪圖影像中之最大值
令Δ≦(min-max)//-Δ
若(Δ=0)
Δ=-1;//確定Δ不為零
令s≦(-255/Δ)/3;//比例
令t≦min/Δ;//轉變
將M設定為:
根據此範例,在矩陣計算後,影像中有三個唯一之原值:
藉由矩陣乘法而經過以下轉換:
由於:
3*(20/255)s=3*(20/255)*((-255/-2)/3)=(20)*((1/2))=10
t=20/-2=-10
因此:
針對中間值(21),進行下列運算:
3*(21/255)s=3*(21/255)*((-255/-2)/3)=(21)*((1/2))=10.5
t=20/-2=-10
據此:
針對最大值(22),進行下列運算:
3*(22/255)s=3*(22/255)*((-255/-2)/3)=(22)*((1/2))=11
t=20/-2=-10
因此:
上述技術有利於容許一小範圍值擴充至一最大範圍,使得能見度達到最大。此項技術係提供用於說明,而非限制。據此,其他技術也可以用於增加影像之能見度。
如上所述,這些實施例之元件(例如圖1及2之元件)可以在硬體及/或軟體之任意組合型態中實施。據此,圖10係一示範性平台1002之示意圖,其中可供實施本文內所述之本發明功能。
如上所述,這些實施例提供擷取訊框之技術。此外,這些實施例提供單步執行通過圖形訊框(例如,一次為單一圖形訊框)的技術,此圖形訊框由一應用所產生。這些特性有利於容許一應用之工作量被「即時」擷取,因而可以擷取一關注之確切訊框。
在實施例中,此單步執行可以藉由使用者互動而控制。例如,一使用者可以備有一暫停鈕、一單步鈕、及一擷取鈕。這些鈕可以透過一圖形使用者介面(例如,圖3之介面控制台300)而提供。惟,這些實施例並不拘限於本文。再者,這些實施例並不拘限於採用圖形使用者介面。
暫停鈕特徵可供使用者遠距地暫停在其目前訊框之一應用(例如,圖形應用102)。依此,單步鈕特徵可供使用者單步前進恰好一個訊框。捕捉鈕特徵可供使用者決定儲存訊框資料(以及其相對應之繪圖呼叫),以利分析。
圖9揭示一邏輯流程圖900,其可以作為牽涉到此單步執行及訊框擷取特徵等操作的代表。此流程圖揭述於圖1及2之內文中。惟,此流程圖也可以使用在其他內文中。再者,儘管圖9揭示一特定序列,但是其他序列也可以使用。再者,所述之操作可用不同之並行及/或順行組合執行。
在一方塊902,開始一圖形應用(例如,一遊戲)。例如,在圖1之內文中,此可包含圖形應用102之開始執行。
在一方塊904,使用者致動一暫停鈕。結果,在一方塊906處,當其目前訊框完成時,圖形應用即停止操作。此項特徵可牽涉到圖形分析工具110,其等候應用102做出一「目前呼叫」(透過圖形API 104)。此一呼叫表示針對目前訊框之其繪圖呼叫已完成,且目前訊框已準備好供圖形引擎106著色。一旦做出此一呼叫,圖形分析工具110將圖形應用102暫停。此例如可以透過一或多個操作系統呼叫而執行。例如,圖形分析工具110可將所有與圖形應用相關聯之運行CPU軟體線程停止。暫停時,目前訊框即可以顯示。
在一方塊907,使用者致動一按鈕。如果它是單步鈕,則操作前進至一方塊909,圖形應用在此處重新開始且下一訊框變成目前訊框。在圖1之內文中,此可牽涉到做出一或多個操作系統呼叫之圖形分析工具110。隨後,操作回到方塊906,且一旦其完成訊框時圖形應用即再次暫停。
惟,如果使用者致動捕捉鈕,則在一方塊910,儲存由圖形引擎(例如圖形引擎106)產生之訊框。請參閱圖2,此可包含將目前訊框之像素資料儲存於訊框儲存模組212中。再者,在一方塊912,儲存與目前訊框相關之其他資訊。此資訊可包括(但是不限定的有)對應於目前訊框之繪圖呼叫、狀態資訊-牽涉到圖形引擎(例如,管線狀態資訊)、圖形API、及/或圖形應用。再者,此資訊可包括由應用提供之資源(例如,世界模型資訊、頂端資訊、明暗資訊、紋理資訊等等)。實施例不限於這些範例。在圖2之內文中,此資訊有一些可由圖形API繪圖呼叫截取模組202截取及識別,並儲存於圖形API呼叫日誌資料庫204中。
圖9揭示流程方塊910及912,操作可前進至方塊909,圖形應用在此處重新開始且下一訊框變成目前訊框。隨後,操作回到方塊906,且一旦其完成訊框時圖形應用即再次暫停。
如另一替代型式,圖9揭示如果使用者致動暫停鈕,則在一方塊914,重新開始圖形應用之正常操作。在圖1之內文中,此可牽涉到圖形分析工具110做出一或多個操作系統呼叫。隨後,一方塊916指出操作可回到方塊904,以執行其他訊框單步操作及訊框捕捉操作。
因此,這些訊框單步操作及訊框捕捉技術可容許一使用者對於哪個確切訊框要修正與描繪輪廓有細膩的控制。結果,一使用者即可發現及定位出瓶頸,及/或去除冗餘或不重要之圖形操作。圖9之流程揭述於GUI鈕之內文中。此係用於說明而非限制。據此,可以使用其他使用者互動技術/裝置。因此,這些實施例可以提供不同之使用者控制,以用於前述暫停、單步操作、擷取、及重新開始等特徵。
在實施例中,平台1002可包含一中央處理單元(CPU) 1012、一圖形處理單元(GPU) 1013、一或多個驅動器1014、一或多個網路連接1015、一操作系統1016、儲存器1018、一顯示裝置1019。
CPU 1012可包含一或多個處理器,例如雙核心處理器。雙核心處理器之範例包括D處理器及處理器Extreme Edition,兩者皆由公司製造,其例如可以稱為Intel Core處理器。
GPU 1013可包含不同圖形處理器,例如一周邊元件互連快捷(PCI Express)顯示卡。惟,實施例並不拘限於此範例。請參閱圖1,GPU 1013可以具備圖形引擎106之特徵。
在一實施例中,網路連接1015可包含PRO/1000 PM或PRO/100 VE/VM網路連接,兩者皆由公司製造。
在實施例中,操作系統1016可包含由公司製造之XP Media Center。在另外之實施例中,操作系統1016可包含,以及其他類型之操作系統。
在一實施例中,儲存器1018可包含不同之實體儲存媒體。這些儲存媒體可包括資料(例如影像或訊框)以及指令或控制邏輯(例如軟體),以實施本文內所述之不同特徵(例如圖1及2之元件)。這些指令或控制邏輯可由CPU 1012及/或GPU 1013執行。儲存媒體之範例將進一步揭述於後。
顯示裝置1019可以輸出資訊給一使用者。此外,顯示裝置1019可以提供使用者互動,如本文內所述者。例如,此使用者互動可以透過示範性之使用者介面300。
如本文內所述,許多實施例可以使用硬體元件、軟體元件、或其任意組合實施。硬體元件之範例可包括處理器、微處理器、電路、電路元件(例如,電晶體、電阻器、電容器、電感器等等)、積體電路、專用積體電路(ASIC)、可編程邏輯裝置(PLD)、數位訊號處理器(DSP)、場可編程閘陣列(FPGA)、邏輯閘、暫存器、半導體裝置、晶片、微晶片、晶片組等等。
軟體元件之範例可包括軟體組件、程式、應用、電腦程式、應用程式、系統程式、機器程式、操作系統軟體、中間軟體、韌體、軟體模組、子程式、副程式、函數、方法、程序、軟體介面、應用程式介面(API)、指令組、計算碼、計算機碼、碼區段、計算機碼區段、字元、值、符號、或其任意組合。
有些實施例在實施上例如可以使用一儲存一指令或一組指令之實體機器可讀取媒體(儲存媒體)或物件,如果該指令是由一機器執行,其可根據本實施例而使該機器執行一方法及/或操作。此一機器例如可包括任意適當之處理平台、計算平台、計算裝置、處理裝置、計算系統、處理系統、計算機、處理器、或類似者,及可以使用硬體及/或軟體之任意組合型態實施。
機器可讀取媒體(儲存媒體)或物件例如可包括任意適當類型之記憶單元、記憶裝置、記憶物件、記憶媒體、儲存裝置、儲存物件、儲存媒體及/或儲存單元,例如記憶體、可移除或不可移除式媒體、可抹除或不可抹除式媒體、可寫入或可重寫式媒體、數位或類比式媒體、硬碟機、軟碟機、唯讀記憶光碟(CD-ROM)、可錄光碟(CD-R)、可重寫光碟(CD-RW)、光碟、磁性媒體、磁-光學性媒體、可移除記憶卡或碟片、不同類型之數位多功能光碟(DVD)、錄音帶、錄音匣、或類似者。指令可包括任意適當類型之碼,例如原始碼、編譯碼、直譯碼、可執行碼、靜態碼、動態碼、加密碼、及類似者,並且使用任意適當之高階、低階、物件導向、視覺、編譯及/或直譯程式語言執行。
有些實施例可以使用「聯結」及「連接」等詞並配合其衍生字以說明之。這些用詞並非做為彼此之同義字。例如,有些實施例可以使用「連接」及/或「聯結」等詞以說明二或多個元件以直接實體性或電氣性彼此接觸。惟,「聯結」一詞也指二或多個元件不直接接觸於彼此,而是彼此合作或互動。
儘管本發明之多項實施例已揭述於上,應該瞭解的是其僅為舉例說明,而非限制。據此,習於此技者將瞭解到,在不脫離本發明之精神及範疇下,在形式及細部結構上尚可達成多種變化。因此,本發明之寬廣性及範疇不應由上述任一示範性實施例限制,而是僅依據文後之申請專利範圍及其等效技術而界定。
100...示範性操作環境
102...圖形應用
104...圖形應用程式介面(API)
106...圖形引擎
110...圖形分析工具
200...示範性實施方式
202...圖形API截取模組
204...圖形API呼叫日誌資料庫
206...重建模組
207...過度繪圖分析模組
208...像素歷史分析模組
210...使用者介面模組
212...訊框儲存模組
300...介面控制台
302...繪圖呼叫區
304...著色目標區
306...影像著色區
308...像素歷史區
1002...平台
1012...中央處理單元(CPU)
1013...圖形處理單元(GPU)
1014...驅動器
1015...網路連接
1016...操作系統
1018...儲存器
1019...顯示裝置
在圖式中,相似參考編號大體上表示相同、功能相似、及/或結構相似之元件。圖式中一元件首次出現時係以參考編號之最左側數字表示。本發明將參考附圖以說明之,其中:
圖1係一示範性操作環境之示意圖;
圖2係一可包括在圖形分析工具內之實施方式之示意圖;
圖3係一示範性使用者介面之示意圖;
圖4-9係邏輯流程圖;及
圖10係一示範性平台之示意圖。
102...圖形應用
104...圖形應用程式介面(API)
106...圖形引擎
110...圖形分析工具
Claims (19)
- 一種圖形分析技術之方法,包含:選擇至少一具有一序列的圖形應用程式介面(API)繪圖呼叫的著色目標;基於選擇的著色目標以產生一過度繪圖影像,其中該過度繪圖影像代表著色目標的每一像素,亮度對應至每一像素已被寫入的次數;在產生該過度繪圖影像後,使用之前產生之過度繪圖影像,藉由在該之前產生之過度繪圖影像內增加一動態範圍以產生一視覺上加強之過度繪圖影像;及顯示該視覺上加強之過度繪圖影像。
- 如申請專利範圍第1項之方法,進一步包含將該產生過度繪圖影像儲存於一實體之儲存媒體中。
- 如申請專利範圍第1項之方法,進一步包含將該視覺上加強之過度繪圖影像儲存於一實體之儲存媒體中。
- 如申請專利範圍第1項之方法,其中產生一視覺上加強之過度繪圖影像,進一步包含:決定該過度繪圖影像中之最小值及最大值;基於決定的該最小值及最大值產生矩陣乘法;及使用該矩陣乘法處理該過度繪圖影像,以產生該加強之過度繪圖影像。
- 如申請專利範圍第4項之方法,其中產生矩陣乘法包含調整該矩陣乘法值以將該過度繪圖影像依比例縮放,使獨特的原始值之範圍擴大。
- 如申請專利範圍第1項之方法,其中選擇著色目標包含從多個著色目標的列表中選擇一著色目標。
- 如申請專利範圍第1項之方法,更包含:在該過度繪圖影像上選擇至少一像素;選擇至少一對應至選擇的該像素之繪圖呼叫;及執行選擇的該至少一繪圖呼叫以決定用以該選擇的至少一繪圖呼叫之該選擇的至少一像素被觸碰的次數。
- 如申請專利範圍第7項之方法,更包含:在產生該過度繪圖影像前使至少一著色目標的繪圖呼叫失能。
- 如申請專利範圍第1項之方法,其中增加一動態範圍包含擴充獨特的原始亮度值的小範圍至最大範圍。
- 如申請專利範圍第1項之方法,其中增加一動態範圍包含採用箝制操作。
- 一種圖形分析技術之設備,包含:一圖形應用程式介面(API);一圖形引擎,用以將圖形應用程式介面(API)繪圖呼叫分類至用於多個著色目標的每一者之序列,該圖形引擎維持每一個對應至一著色目標的複數個緩衝器;及一圖形分析工具,用以接收至少一具有一序列的圖形應用程式介面(API)繪圖呼叫的著色目標之一選擇;基於選擇的著色目標以產生一過度繪圖影像,其中該過度繪圖影像代表著色目標的每一像素,亮度對應至每一像素已被寫入的次數, 在產生該過度繪圖影像後,使用之前產生之過度繪圖影像,藉由在該之前產生之過度繪圖影像內增加一動態範圍以產生一視覺上加強之過度繪圖影像,及顯示該視覺上加強之過度繪圖影像。
- 如申請專利範圍第11項之設備,其中該圖形引擎包含一圖形處理單元(GPU)。
- 如申請專利範圍第11項之設備,進一步包含一顯示裝置,供圖形分析工具將該視覺上加強之過度繪圖影像顯示於該顯示裝置上。
- 如申請專利範圍第11項之設備,進一步包含一實體之儲存媒體,用以儲存視覺上加強之過度繪圖影像。
- 如申請專利範圍第11項之設備,其中該圖形分析工具進一步藉由擴充獨特的原始亮度值的小範圍至最大範圍以增加該動態範圍。
- 一種圖形分析技術之物件,包含一機器可存取媒體,該媒體具有儲存於其上之指令,該等指令在供一機器執行時令該機器:選擇至少一具有一序列的圖形應用程式介面(API)繪圖呼叫的著色目標;基於選擇的著色目標以產生一過度繪圖影像,其中該過度繪圖影像代表著色目標的每一像素,亮度對應至每一像素已被寫入的次數;在產生該過度繪圖影像後,使用之前產生之過度繪圖影像,藉由在該之前產生之過度繪圖影像內增加一動態範 圍以產生一視覺上加強之過度繪圖影像;及顯示該視覺上加強之過度繪圖影像。
- 如申請專利範圍第16項之物件,其中為產生一視覺上加強之過度繪圖影像,進一步的令該機器:決定該過度繪圖影像中之最小值及最大值;基於決定的該最小值及最大值產生矩陣乘法;及使用該矩陣乘法處理該過度繪圖影像,以產生該加強之過度繪圖影像。
- 如申請專利範圍第17項之物件,其中為產生矩陣乘,該矩陣乘法值係經調整以將該過度繪圖影像依比例縮放,使獨特的原始值之範圍擴大。
- 如申請專利範圍第16項之物件,進一步的令該機器:在該過度繪圖影像上選擇至少一像素;選擇至少一對應至選擇的該像素之繪圖呼叫;及執行選擇的該至少一繪圖呼叫以決定用以該選擇的至少一繪圖呼叫之該選擇的至少一像素被觸碰的次數。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/459,265 US8624907B2 (en) | 2009-06-26 | 2009-06-26 | Graphics analysis techniques |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201108157A TW201108157A (en) | 2011-03-01 |
TWI427557B true TWI427557B (zh) | 2014-02-21 |
Family
ID=42315163
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW102144275A TWI603292B (zh) | 2009-06-26 | 2010-05-05 | 圖形分析技術 |
TW099114379A TWI427557B (zh) | 2009-06-26 | 2010-05-05 | 圖形分析技術 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW102144275A TWI603292B (zh) | 2009-06-26 | 2010-05-05 | 圖形分析技術 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8624907B2 (zh) |
CN (1) | CN101937573B (zh) |
DE (1) | DE102010019226A1 (zh) |
GB (1) | GB2471360B (zh) |
TW (2) | TWI603292B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9304933B2 (en) | 2011-02-18 | 2016-04-05 | Intel Corporation | Techniques to request stored data from a memory |
JP5883953B2 (ja) * | 2013-01-15 | 2016-03-15 | 発紘電機株式会社 | プログラマブルコントローラシステム、そのプログラマブル表示器、作画エディタ装置、プログラム |
US9928564B2 (en) * | 2014-06-26 | 2018-03-27 | Intel Corporation | Efficient hardware mechanism to ensure shared resource data coherency across draw calls |
CN106354455B (zh) * | 2016-08-17 | 2019-09-13 | 青岛海信电器股份有限公司 | 人机界面显示处理装置及其方法 |
CN112130731A (zh) * | 2019-06-24 | 2020-12-25 | 财付通支付科技有限公司 | 数据处理方法、装置及电子设备 |
CN114332311B (zh) * | 2021-12-05 | 2023-08-04 | 北京字跳网络技术有限公司 | 一种图像生成方法、装置、计算机设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7095146B2 (en) * | 2001-08-06 | 2006-08-22 | Tokyo R&D Co., Ltd. | Motor having housing member |
TW200803534A (en) * | 2006-06-23 | 2008-01-01 | Marketech Int Corp | System and method for image signal contrast adjustment and overflow compensation |
US20080141131A1 (en) * | 2006-12-07 | 2008-06-12 | Sony Computer Entertainment America Inc. | Graphics command management tool and methods for analyzing performance for command changes before application modification |
US20090046332A1 (en) * | 2007-08-17 | 2009-02-19 | Mitsubishi Electric Corporation | Color conversion apparatus and method |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1021122A (ja) | 1996-07-05 | 1998-01-23 | Mitsubishi Electric Corp | プロセッサモニタ装置 |
US6594387B1 (en) * | 1999-04-30 | 2003-07-15 | Texas Instruments Incorporated | Enhanced color correction |
US6891533B1 (en) | 2000-04-11 | 2005-05-10 | Hewlett-Packard Development Company, L.P. | Compositing separately-generated three-dimensional images |
US7286138B2 (en) | 2001-05-08 | 2007-10-23 | Microsoft Corporation | Discontinuity edge overdraw |
US7034849B1 (en) * | 2001-12-31 | 2006-04-25 | Apple Computer, Inc. | Method and apparatus for image blending |
US7451457B2 (en) * | 2002-04-15 | 2008-11-11 | Microsoft Corporation | Facilitating interaction between video renderers and graphics device drivers |
US7324116B2 (en) * | 2002-06-20 | 2008-01-29 | Microsoft Corporation | Systems and methods for providing controllable texture sampling |
US7095416B1 (en) * | 2003-09-22 | 2006-08-22 | Microsoft Corporation | Facilitating performance analysis for processing |
US20050195198A1 (en) | 2004-03-03 | 2005-09-08 | Anderson Michael H. | Graphics pipeline and method having early depth detection |
US7586492B2 (en) * | 2004-12-20 | 2009-09-08 | Nvidia Corporation | Real-time display post-processing using programmable hardware |
JP2007116237A (ja) * | 2005-10-18 | 2007-05-10 | Mitsubishi Electric Corp | 色データ変換装置および色データ変換方法 |
US20080007563A1 (en) | 2006-07-10 | 2008-01-10 | Microsoft Corporation | Pixel history for a graphics application |
US8607151B2 (en) | 2006-08-01 | 2013-12-10 | Nvidia Corporation | Method and system for debugging a graphics pipeline subunit |
JP2009020610A (ja) | 2007-07-10 | 2009-01-29 | Mitsubishi Electric Corp | 解析装置及び解析方法及びプログラム |
US7992137B2 (en) | 2007-07-30 | 2011-08-02 | Nvidia Corporation | Client server system for analysis and performance tuning of remote graphics devices |
GB0908506D0 (en) * | 2009-05-18 | 2009-06-24 | Imagination Tech Ltd | Method and apparatus for drawing polygons |
-
2009
- 2009-06-26 US US12/459,265 patent/US8624907B2/en not_active Expired - Fee Related
-
2010
- 2010-05-04 DE DE102010019226A patent/DE102010019226A1/de not_active Ceased
- 2010-05-05 TW TW102144275A patent/TWI603292B/zh active
- 2010-05-05 TW TW099114379A patent/TWI427557B/zh active
- 2010-05-11 GB GB1007881.4A patent/GB2471360B/en not_active Expired - Fee Related
- 2010-06-25 CN CN2010102142920A patent/CN101937573B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7095146B2 (en) * | 2001-08-06 | 2006-08-22 | Tokyo R&D Co., Ltd. | Motor having housing member |
TW200803534A (en) * | 2006-06-23 | 2008-01-01 | Marketech Int Corp | System and method for image signal contrast adjustment and overflow compensation |
US20080141131A1 (en) * | 2006-12-07 | 2008-06-12 | Sony Computer Entertainment America Inc. | Graphics command management tool and methods for analyzing performance for command changes before application modification |
US20090046332A1 (en) * | 2007-08-17 | 2009-02-19 | Mitsubishi Electric Corporation | Color conversion apparatus and method |
Also Published As
Publication number | Publication date |
---|---|
GB2471360A (en) | 2010-12-29 |
GB201007881D0 (en) | 2010-06-23 |
GB2471360B (en) | 2013-10-09 |
DE102010019226A1 (de) | 2011-01-05 |
US20100328324A1 (en) | 2010-12-30 |
TW201415416A (zh) | 2014-04-16 |
CN101937573A (zh) | 2011-01-05 |
US8624907B2 (en) | 2014-01-07 |
TWI603292B (zh) | 2017-10-21 |
TW201108157A (en) | 2011-03-01 |
CN101937573B (zh) | 2013-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101206548B1 (ko) | 그래픽 분석 기법들 | |
US20230334761A1 (en) | Foveated Rendering | |
TWI427557B (zh) | 圖形分析技術 | |
US11238640B2 (en) | Early culling for ray tracing | |
TW201108152A (en) | Displaying a visual representation of performance metrics for rendered graphics elements | |
TW201702993A (zh) | 圖形處理系統 | |
US10776996B2 (en) | Method and apparatus for processing image | |
CN116210029A (zh) | 深度缓冲区预处理 | |
JP5242788B2 (ja) | グラフィックス・イメージングのためのパーティション・ベースのパフォーマンス解析 | |
CN111932689B (zh) | 一种采用id像素图的三维对象快速选取方法 | |
KR20230032826A (ko) | 멀티-프래그먼트 렌더링에서 가상 두께 기반 레이어 병합 방법, 이를 수행하는 장치 및 컴퓨터 프로그램 | |
US20100332987A1 (en) | Graphics analysis techniques | |
US9128519B1 (en) | Method and system for state-based control of objects | |
US20240212259A1 (en) | Traversing multiple regions of a bounding volume hierarchy in parallel | |
JP2024098403A (ja) | 情報処理装置、情報処理方法及びプログラム | |
Kaveney | Advanced Visualization and Interactive Display Rapid Innovation and Discovery Evaluation Research (VISRIDER) Program Task 6: Point Cloud Visualization Techniques for Desktop and Web Platforms | |
CN118447146A (zh) | 用于计算3d场景中对象可见性的方法 | |
CN118556253A (zh) | 具有动态多节点迭代的基于栈的光线遍历 |