TW201108157A - Graphics analysis techniques - Google Patents

Graphics analysis techniques Download PDF

Info

Publication number
TW201108157A
TW201108157A TW099114379A TW99114379A TW201108157A TW 201108157 A TW201108157 A TW 201108157A TW 099114379 A TW099114379 A TW 099114379A TW 99114379 A TW99114379 A TW 99114379A TW 201108157 A TW201108157 A TW 201108157A
Authority
TW
Taiwan
Prior art keywords
image
over
graphics
pixel
plotted
Prior art date
Application number
TW099114379A
Other languages
English (en)
Other versions
TWI427557B (zh
Inventor
Lawrence E Wickstrom
Christopher J Cormack
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of TW201108157A publication Critical patent/TW201108157A/zh
Application granted granted Critical
Publication of TWI427557B publication Critical patent/TWI427557B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • G06F11/3616Software analysis for verifying properties of programs using software metrics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3636Software debugging by tracing the execution of the program
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/366Software debugging using diagnostics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [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

201108157 六、發明說明: 【發明所屬之技術領域】 、 本發明係關於提供圖形應用分析之技術。 【先前技術】 電腦應用所使用之圖形日趨複雜。例如,遊戲應用通 常提供在即時之基礎上製作動畫的三維圖形。此圖形也越 來越逼真。 隨著此圖形之複雜度增加,應用硏發者之挑戰也加大 °例如,硏發者必須修正圖形著色之誤差,其係因未操作 或操作不當或顯示不正確所致。再者,硏發者必須以有限 之處理能力解決。因此,由圖形著色所生之處理負荷必須 加以分析且經常改善,以在此有限之處理能力內適應。 用於測試、分析、及修正圖形誤差的工具對於圖形應 用之硏發而言是相當重要的。 【發明內容】及【實施方式】 本發明之實施例提供圖形應用之分析技術。例如,一 設備可包括一圖形應用程式介面(API )、一圖形引擎、 及一圖形分析工具。圖形分析工具可以接收到發給圖形 API之多數個繪圖呼叫,並將繪圖呼叫配置成多數個序列 ,各序列係對應於一特定著色目標。由於此項資訊,許多 分析工作即可執行。例如,可以產生過度繪圖影像。再者 ,像素歷史可以基於對應之像素選擇而產生。繪圖呼叫在 -5- 201108157 所選擇像素上之效果也得以決定。此外,這些工作可在每 一著色目標之基礎上執行。 本說明書全文內有關之「某一實施例」或「一實施例 」是指關於該實施例所揭述之一特定特性、結構、或特徵 亦包括在至少一實施例內。因此,「在某一實施例中」或 「在一實施例中」等用語出現在本申請書全文內之不同處 並不需要皆視之爲同一實施例。再者,特定特性、結構、 或特徵可在一或多個實施例中以任意適當方式組合。 圖1係一示範性操作環境1 00之示意圖,其可使用本文 內所述之技術。環境1 00可包括多數個元件。例如,圖1揭 示環境100包括一圖形應用102、一圖形應用程式介面( API) 104、一圖形引擎106、及一圖形分析工具110。這 些元件可以在硬體及/或軟體之任意組合型態中實施。再 者,這些實施例並不拘限於圖1之元件。 在實施例中,圖形應用1 02係一電腦應用(例如一使 用者應用),其使用被輸出至一或多個顯示器上之圖形( 例如三維圖形)。示範性使用者應用包括(但是不限定於 )電動遊戲及模擬工具。 圖形API 104將圖形引擎106之多項服務提供於圖形應 用102。在實施例中,此可透過許多程序、資料結構、物 件等級、及/或協定來提供。圖形API 1〇4之該使用情形 在本文內係稱爲「繪圖呼叫」。這些實施例可以使用(但 是不限定於)市面上有售之APIs。此APIs之範例包括 OpenGL、DirectX、及其他。 -6- 201108157 在一般操作中,圖形應用102可以使用圖形產生中之 多數個著色目標。一著色目標係一受到繪圖操作影響之緩 衝器(由圖形引擎106維持),使圖形應用1〇2經由圖形 API 1 04啓始。 多數個著色目標可依不同方式使用。例如,圖形應用 102可以使用多數個著色目標,其中各著色目標係對應於 一特定效果。示範性效果包括(但是不限定的有)與動作 有關之陰影、起霧、打光、模糊等等。此外或另者,多數 個著色目標各者可以對應於一或多個著色物件或原件。惟 ,這些實施例並不限於著色目標的這些示範性使用情形。 圖形引擎106針對圖形應用1〇2執行圖形操作。如上所 述,這些操作可以反應於所收到之繪圖呼叫而執行,並透 過圖形API 1〇4處理。示範性操作包括著色及輸出影像( 訊框)至一顯示裝置。因此,圖形引擎106使用一圖形管 線(graphics pipeline)。如上所述,圖形引擎106可以在 硬體及/或軟體之任意組合型態中實施使用。因此,在實 施例中,圖形引擎106包括一圖形處理單元(GPU )。 圖1揭示圖形分析工具110聯結於圖形API 104與圖形 引擎106兩者。圖形分析工具1 10可以執行與圖形應用分析 有關之操作。欲達成此目的,圖形分析工具110可以取得 由圖形應用102發出之繪圖呼叫。基於這些繪圖呼叫,圖 形分析工具1 10可以使用圖形引擎106產生與繪圖呼叫有關 之操作資訊。這些資訊可包括(但是不限定的有)過度繪 圖影像及像素歷史。 201108157 再者,圖形分析工具110可以取得(或擷取)由圖形 引擎106提供之訊框。再者,圖形分析工具1 1〇可以取得與 此擷取訊框相關之繪圖呼叫。更有甚者’圖形分析工具 1 1 〇可以控制與圖形應用1 02相對應之訊框產生的速率。透 過此項控制,訊框可依一所需之速度前進。此一速度可由 一使用者建立。 如參考於圖1所述,圖形分析工具11 〇可以執行與圖形 應用分析有關之操作。圖2係一示範性實施方式200之示意 圖,其可包括在圖形分析工具11〇內。圖2揭示實施方式 2 00包括一圖形API截取模組202、一圖形API呼叫日誌資料 庫2 04、一重建模組206、一過度繪圖分析模組207、一像 素歷史分析模組208、一使用者介面模組210、及一訊框儲 存模組2 1 2。這些元件可以在硬體及/或軟體之任意組合 型態中實施。 圖形API截取模組202複製圖形API操作(在本文內稱 之爲繪圖呼叫),以產生一圖形應用(例如圖形應用1 02 )。再者,圖形API截取模組202將複製之繪圖呼叫傳送至 圖形AP I呼叫日誌資料庫2 04。接著,圖形AP I呼叫日誌資 料庫204儲存這些收到的繪圖呼叫。 圖形API呼叫日誌資料庫204可用多種方式儲存所接收 到的繪圖呼叫。例如,圖形A PI呼叫日誌資料庫2 0 4可以按 時間先後儲存繪圖呼叫。另外,此按時間先後之儲存可藉 由繪圖呼叫而配置,以用於多個著色目標之每一者。 重建模組2 06可以基於API呼叫日誌資料庫204中所儲 201108157 存之繪圖呼叫而產生不同影像(訊框)。這些重建牽涉到 一圖形引擎之使用,例如圖形引擎1 〇6。再者’在產生這 些影像時,重建模組206可以指示圖形引擎使用特定之設 定。例如,設定可被改變,使得著色影像指出所發生之特 殊事件(例如過度繪圖)數。再者,重建模組206可以啓 動或停止圖形引擎內之不同管線測試。 過度繪圖分析模組207 (在一單位著色目標之基礎上 )判斷與特定繪圖呼叫相關聯之過度繪圖。這牽涉到指示 重建模組206產生許多以過度繪圖影像爲主而選擇(使用 者選擇或自動選擇)之繪圖呼叫及著色目標。與此特性有 關之示範性操作將參考圖4說明於後。 像素歷史分析模組2 0 8判斷一序列之繪圖呼叫,其可 令一像素被寫入(觸碰這牽涉到指示重建模組2 0 6根 據不同設定以產生特定影像。與此特性有關之示範性操作 將參考圖5、6、及7說明於後。 使用者介面模組210提供使用者可與圖形分析工具11〇 互動。例如’在實施例中,使用者介面模組2 1 0即提供一 圖形使用者介面,以提供本文內所述技術之有效率使用者 操作。 訊框儲存模組2 1 2儲存一或多個由—圖形引擎(例如 圖形引擎1 06 )產生之訊框(影像)。這些訊框包含多數 個像素,其係對應於可在一顯示裝置(圖中未示)上輸出 之位置。這些訊框可以是不同格式。示範性訊框包括(但 是不限定的有)不同之RGB與CMYK格式。再者,訊框擷 201108157 取資料庫1 0 8可以使用不同壓縮及/或編碼架構,以儲存 訊框。 在實施例中,這些訊框可以根據本文內所述之技術產 生。例如,訊框儲存模組2 1 2可以儲存透過應用1 02、圖形 API 104、及圖形引擎106之正常操作而產生之訊框。再者 ,訊框儲存模組2 1 2可以儲存包含有過度繪圖影像訊框、 像素歷史訊框、及其他類型訊框之訊框。 這些實施例皆提供一使用者介面,其將圖形相關之資 訊顯示予一使用者。圖3係一示範性使用者介面(亦稱爲 —介面控制台)3 00之示意圖。介面控制台300可供一使用 者觀看與圖形操作相關聯之不同資訊。如圖3中所示,介 面控制台3 00包括一繪圖呼叫區302、一著色目標區304、 —影像著色區306'及一像素歷史區308。 著色目標區304指出多數個與一特定影像相關聯之著 色目標。在實施例中,這些著色目標可以用圖符(icons ) 或其他圖形表示法表示。一使用者可以透過GUI互動(例 如利用游標定位及雙擊)而選擇一特定之繪圖呼叫。 在實施例中,繪圖呼叫區3 02指出在一按時間先後( 例如從左至右)之條形圖中之繪圖呼叫(例如對應於一在 區3 04選出之著色目標的繪圖呼叫)。因此,各條形即對 應於一特定之繪圖呼叫。再者,各條形之高度表示由對應 之繪圖呼叫造成的圖形引擎操作(例如管線操作)之數量 。在實施例中,一使用者可以透過GUI互動(例如利用游 標定位及雙擊)而選擇一特定之繪圖呼叫。 -10- 201108157 基於一選出之繪圖呼叫,使用者可以觀看影像著色區 3 〇6中之一過度繪圖影像。與過度繪圖影像相關之特性係 參考圖4說明於後。由此過度繪圖影像,使用者可選擇一 特定像素以供分析。由此像素選擇,像素歷史影像可以顯 示於影像著色區3 06中。再者,繪圖呼叫之一相對應像素 歷史可以顯示於像素歷史區308中。有關於像素歷史之示 範性詳細說明將參考圖5-7提供於後。 用於不同實施例之操作可以參考以下圖式及伴隨之範 例而進一步揭述。有些圖式可包括一邏輯流程圖。儘管本 文內所呈現的這些圖式可包括一特定之邏輯流程圖,可以 瞭解的是邏輯流程圖僅提供本文內所述之大致功能如何實 施的一範例。再者,給定之邏輯流程圖並不必然一定要依 其順序執行,除非另有指示。此外,給定之邏輯流程圖可 由一硬體元件、一由一或多個處理器執行之軟體元件、或 其任意組合實施。這些實施例並不拘限於本文。 這些實施例提供許多技術以分析圖形應用。這些技術 是關於過度繪圖、像素歷史、繪圖呼叫等等之分析。再者 ,這些技術可以使用替代性影像重建與表示法。 這些替代性重建與表示法有利於容許性能相關之資訊 較快速地從一圖形背景擷取。這些替代性重建與表示法之 一範例牽涉到在一單位著色目標之基礎上執行的過度繪圖 分析。由此分析’即可產生對應之像素歷史。這些特性有 利於提供作爲從一序列之圖形操作中擷取其他隱藏資訊。 牽涉到此一過度繪圖分析與像素歷史產生之一範例係參考 -11 - 201108157 圖4說明於後。 圖4揭示一邏輯流程圖400’其可以作爲由一或多個實 施例執行之操作的代表。此流程圖揭述於圖1及2之內文中 。惟,此流程圖也可以使用在其他內文中。儘管圖4揭示 一特定序列,但是其他序列也可以使用。再者,所述之操 作可用不同之並行及/或順行組合執行。 在一方塊402,儲存一序列之圖形API呼叫(繪圖呼叫 )。此序列可對應於一特定影像(訊框)。在圖2之內文 中,此牽涉到用於截取這些繪圖呼叫之API截取模組202、 及用於將其儲存之圖形API呼叫日誌資料庫204。 在一方塊4〇4,所儲存之API呼叫序列儲存成多數序列 ,以供多數個著色目標之各者使用。參閱圖2,此牽涉到 用於從各API呼叫中判斷著色目標之重建槙組206。在實施 例中’重建模組206可以使用一圖形引擎(例如圖形引擎 106 )進行此動作。 針對各著色目標群,一過度繪圖影像係在一方塊406 產生。復參閱圖2,此牽涉到用於指示一圖形引擎(例如 圖形引擎106)以針對各著色目標而執行繪圖呼叫之重建 模組2〇6。惟,取代正常操作,圖形引擎係依一方式設定 ’以致使像素値得以累積。較特別的是,圖形引擎可經設 定使繪圖呼叫每當其被寫入(觸碰)時就令對應之著色目 標像素値累積(增加一像素點擊計數)。因此,在每一著 色目標中’各像素即產生一計數。此計數表示像素被觸碰 到多少次》 -12- 201108157 在一方塊408,選擇其中一著色目標。此項選擇可由 一使用者或自動進行。在實施例中,此著色目標可以選自 一顯示器上所提供一列表之多數個著色目標(例如,像是 圖符或其他圖形表示法)。 在一方塊4 09,供該選擇之著色目標用的過度繪圖影 像可在視覺上加強。此加強作用牽涉到增加過度繪圖影像 之動態範圍。有關此加強作用之細節將參考圖8說明於後 〇 在一方塊410,過度繪圖影像係顯示以用於該選擇之 著色目標。如上所述,過度繪圖影像代表像素已被觸碰到 之次數。在實施例中,這些次數可以由顯示過度繪圖影像 中之像素亮度代表。惟,實施例並不限於此特性。 此過度繪圖影像之一或多個對應像素可以在一方塊 412選擇。此項選擇可由一使用者或透過自動技術達成。 使用者選擇牽涉到透過一圖形使用者介面(GUI )而與過 度繪圖影像互動。例如,使用者可以透過一游標、透過圖 形瞄準器、透過數位座標輸入、及/或透過其他技術而選 擇像素。另者,自動選擇牽涉到基於其過度繪圖値而自動 選擇像素。例如,指出最高觸碰次數之像素即可以被自動 選擇。 在一方塊414,一用於一或多個選擇像素各者之像素 歷史係可被取用於使用者。像素歷史可包含影響到(或造 成寫入至)像素之各繪圖呼叫。在實施例中,這些繪圖呼 叫僅受限於會影響到在方塊40 8選出之著色目標者。惟, -13- 201108157 這些實施例可以另行或替代性提供會影響到其他著色目標 的對應繪圖呼叫。 這個像素歷史可在一方塊416顯示。在實施例中,此 顯示可以是一序列圖符之形式且各圖符代表一繪圖呼叫。 —使用者可在此一圖符上選擇(例如雙擊),以觀看有關 於繪圖呼叫之詳細資訊。惟,其他顯示像素歷史(例如文 字列表)之技術也可以使用。 圖4之流程圖有利於提供一直接方式,以從背景中之 最複雜像素擷取資訊。例如,從方塊4 1 0顯示之過度繪圖 影像,即可選擇一被觸碰較多次之像素(亦稱之爲一具有 高複雜度之像素)。如上所述,這些像素可以透過其顯示 亮度而變得明顯。 當選擇一具有高複雜度之像素時,使用者可以看到影 響像素(像素歷史)之API呼叫。此外,使用者可以看到 影像之一正常表示法(並非一過度繪圖表示法)。透過分 析繪圖呼叫,使用者可以判斷是否可以形成一組較有效率 之API呼叫。因此,透過此像素之識別,硏發人員可以改 善應用,以減少像素之繪圖次數。此有利於增加圖形應用 性能。 如上所述,這些實施例提供用於與像素相關之資訊的 擷取。再者,這些實施例可以告知使用者有關於繪圖呼叫 導致像素被觸碰到之次數。一單一繪圖呼叫可以觸碰到一 特定像素一次以上。例如,一命令一圖形引擎(例如圖形 引擎1 06 )著色一三維物件之繪圖呼叫可以使圖形引擎將 -14 - 201108157 重疊於像素位置之表面著色。舉例而言,一著色之立方體 可以有重疊的前與後側面。這些實施例可以(針對一特定 著色目標)每次偵測及指出一已受到一特定繪圖呼叫觸碰 之像素。一牽涉到此特性之範例係參考圖5揭述於後。 圖5揭示一邏輯流程圖500,其可以作爲由一或多個實 施例執行之操作的代表。此流程圖揭述於圖1及2之內文中 。惟,此流程圖也可以使用在其他內文中。儘管圖5揭示 一特定序列,但是其他序列也可以使用。再者,所述之操 作可用不同之並行及/或順行組合執行。 在一方塊5 02,選擇一著色目標。此項選擇可由一使 用者進行。或者,此項選擇可以自動進行。再者,在一方 塊504,選擇一或多個像素。此像素可用多種方式選擇。 例如,此像素可以是使用者選擇或自動選擇式過度繪圖, 如參考圖4所述者。惟,這些實施例並不受限於本文。 在一方塊5 06,使用者選擇一與所選出像素相對應之 繪圖呼叫。例如,使用者可以從多數個在一像素歷史中辨 識的繪圖呼叫(例如,一序列之繪圖呼叫)選擇出此繪圖 呼叫,例如一在圖4之方塊41 4處產生的像素歷史。據此, 如果這是在一序列中之第一次選擇,這些實施例可以在方 塊5 07將其指定爲一初選繪圖呼叫。 此時,關於所選擇像素(在選出之著色目標中)被觸 碰次數之資訊可在一方塊509處決定。在實施例中,這項 決定可以是針對選擇之繪圖呼叫。或者,這項決定可以是 針對一序列之繪圖呼叫,其藉由在方塊507指定之初始繪 -15- 201108157 圖呼叫開始且藉由在方塊5 0 6選擇之繪圖呼叫結束。 如圖5中所示,這些決定可牽涉到多數個操作。例如 ,一第一次操作可牽涉到執行繪圖呼叫且不作動任何圖形 管線試驗。再者,一第二次操作可牽涉到執行繪圖呼叫且 作動特定之圖形管線試驗。再者,一第三次操作可牽涉到 執行繪圖呼叫且具有初始混合(alpha blending)。方塊 5 09內的這三次操作僅爲揭述之目的,而非限制。據此, 這些實施例可以使用操作及/或其他序列之其他組合型態 。關於這些傳送之進一步詳細內容係參考圖6說明於後。 在一方塊510,使用者可選擇下一繪圖呼叫。此下— 繪圖呼叫可以是一按時間先後序列之繪圖呼叫,其影響到 所選擇之著色目標中的選擇像素。例如,此下一繪圖呼叫 可以是一緊跟在最近選出(在方塊506或方塊510)之繪圖 呼叫後的繪圖呼叫。如圖5中所示,如果選出一下一繪圖 呼叫,則操作即回到方塊5 0 9。 因此,圖5之特性可供一使用者選擇一或多個關注之 繪圖呼叫,並分析其(或它們)在特定像素上之影響。這 些特性有利於允許在一特定著色目標之任意像素上之一背 景複雜度被評估。此資訊有利於協助使用者決定是否要減 少一特定背景之複雜度或調整應用設定,以增加特定3D操 作之性能。 如上所述,關於一選擇像素(在選出之著色目標中) 被觸碰次數之資訊可在多數次操作中決定。例如,這些多 次操作之一範例係由圖6提供。 -16- 201108157 特別是,圖6係一流程圖600,其包括一第一次操作 602、一第二次操作604、及一第三次操作606。這些操作 各牽涉到多數個操作。例如,圖6揭示第一次操作602包括 方塊610-614。在方塊610,停止特定之圖形管線試驗(例 如,剪切試驗、長方形試驗、Z形試驗、模版試驗、及/ 或初始試驗)。在方塊612,判斷當這些試驗停止時繪圖 呼叫觸碰到選擇像素多少次。此牽涉到以調整過之著色操 作執行繪圖呼叫。例如,像素遮影器碼可經調整使得每次 像素被繪圖呼叫觸碰時,選擇像素之陰影即增加(例如增 加1 )。惟,實施例並不限於此技術。 這項判斷之結果係在方塊6 1 4時輸出至使用者。這些 結果可以是輸出之圖形形式(例如顯示於選擇之像素位置 ,做爲一相對應之亮度、陰影、或透明度)。或者,這些 結果可以是文字輸出形式。 圖6揭示第二次操作604包括方塊620-632。在方塊620 ,使用者可以開始一特定試驗。例如,使用者可以開始一 系列之剪切試驗、一 Z形試驗、或一模版試驗。在一方塊 622,判斷是否已選擇一試驗。如果是,操作即進行至方 塊624。否則,操作會進行至一第三次操作而在一方塊640 處。 在方塊6 24,將選出之著色目標清除。隨後,在一方 塊626處,選出之試驗係在圖形引擎中被致能。在一方塊 628,執行繪圖呼叫。 在一方塊630處,這些繪圖呼叫之結果係輸出至使用 -17- 201108157 者。這些結果可以是輸出之圖形形式(例如顯示於選擇之 像素位置,做爲一相對應之亮度或透明度)。或者,這些 結果可以是文字輸出形式。如果結果是零(無像素値), 這表示選出之試驗在每次喚起時皆失敗。惟,如果結果不 是零,則選出之試驗在至少一次喚起時會成功。 如一方塊63 2所示,使用者可以選擇另一試驗。如果 是這樣,操作即回到方塊6 2 0。否則,操作會進行至第三 次操作而在方塊640處。 圖6揭示第三次操作包括一方塊640。在此方塊,執行 一正常著色以決定像素之輸出顏色。 進一步參考圖6之流程,現在提供多數個關於一像素 已被觸碰次數之非限制性說明範例。例如,「觸碰」之次 數可以是一著色幾何形狀與像素相交之次數。例如,當被 著色之幾何形狀係一含有二側面三角形之球體時,中央像 素將有一過度繪圖計數値2:—爲前面,一爲背面(Z形試 驗在此情況下係停止)。再者,如果被著色之幾何形狀係 一含有一側面三角形之球體時,中央像素將有一過度繪圖 計數値1:—爲前面,零爲背面(因爲其背面剔除(在此 情況下致動剔除))。 再者,「觸碰」之次數可以是像素實際寫入至緩衝器 之次數(將幾何形狀遭Z形試驗拒絕之次數排除)。例如 ,當將三個從視者觀點來看是在彼此之上的三角形著色時 ,觸碰次數即取決於繪圖順序。例如,如果先畫最遠者、 接著是中間、及接著是最近者,則對於所有三個三角形重 -18- 201108157 疊之像素而言’其計數値爲3。惟,如果先畫最近者、接 著是中間、及接著是最遠者,則對於相同像素而言,其計 數値爲1。這是因爲後兩者已被Z形試驗排除。 如上所述,這些實施例容許使用者決定繪圖呼叫在特 定像素上之效果。再者,這些實施例容許繪圖呼叫之失能 。例如,一使用者可以將一或多個繪圖呼叫失能,及決定 此失能對於像素處理上之影響。因此,計算上之差異即可 確定。例如,可以決定一背景著色是否變較快。再者,使 用者可以決定此失能對於著色影像上之視覺影響。例如, 一使用者可以決定將繪圖呼叫失能是否讓背景看起來令人 難以接受。一牽涉到諸項特性之範例係參考圖7而說明於 後。 圖7揭示一邏輯流程圖700,其可以作爲由一或多個實 施例執行之操作的代表。此流程圖揭述於圖1及2之內文中 。惟,此流程圖也可以使用在其他內文中。儘管圖7揭示 一特定序列,但是其他序列也可以使用。再者,所述之操 作可用不同之並行及/或順行組合執行。 如圖7中所示,在一方塊7 02選擇一著色目標。此項選 擇可由一使用者或透過自動技術達成。再者,在一方塊 7 04,選擇一像素。此像素可用多種方式選擇。例如,此 像素可以是使用者選擇或自動選擇,如以上參考圖4所述 者。惟,這些實施例並不受限於本文。 在一方塊7 06,一使用者選擇一或多個待失能之繪圖 呼叫。此項選擇可以是來自於一序列之繪圖呼叫。在—方 -19 - 201108157 塊708,像素歷史係經決定以用於該序列之繪圖呼叫。在 實施例中,此牽涉到以上參考圖5所述之執行操作。因此 ,一像素被失能之繪圖呼叫所觸碰的次數可以被決定。如 以上參考圖5所述,這些決定可以藉由不同圖形管線試驗 (例如,剪切試驗、長方形試驗、Z形試驗、模版試驗、 及/或初始試驗)致動或停止而達成。因爲失能之繪圖呼 叫並未著色,用於後續繪圖呼叫之試驗則會有不同之試驗 結果。因此,失能之繪圖呼叫即提供一動態之像素歷史。 在一方塊7 1 0,一影像係針對該序列之繪圖呼叫著色 ,而所選擇之繪圖呼叫係爲失能。在一方塊712處,此著 色之影像則顯示於使用者。 如上所述,這些實施例提供過度繪圖之影像》再者, 這些實施例提供將任意使用者選擇之繪圖呼叫致能或失能 的能力,以停止一過度繪圖影像之合成且更深入檢查所著 色之像素。 過度繪圖之影像可含有難以目視辨別之細微差異。例 如,某一區域可能比一相鄰區域略暗(此表示該區域被觸 碰到之次數差異)。這些實施例可在視覺上加強這些差異 。例如,在圖4之方塊409,一過度繪圖影像即經過加強。 此項加強可以增加一過度繪圖影像之動態範圍。結果 ,過度繪圖影像中之細微差異即變得更易於看見。許多技 術皆可用於提供動態範圍中之此項增加。例如,這些實; 例可以使用箝制操作。 圖8揭不一邏細流程圖800'其可以作爲由一或多個實 -20- 201108157 施例執行之操作的代表。儘管圖8揭示一特定序列,但是 其他序列也可以使用。再者,所述之操作可用不同之並行 及/或順行組合執行。 在一方塊8 02,提供一過度繪圖影像。在一方塊8 04, 決定過度繪圖影像中之最小値及最大値。 在一方塊806,一矩陣係基於該最小値及最大値而產 生。在一方塊806處,過度繪圖影像隨後被以該矩陣處理 。此項處理則產生一加強之過度繪圖,其可顯示於一方塊 8 1 0處。 現在提供此技術之一範例。此範例牽涉到一 5x5矩陣 。這是用於在影像資料上執行線性運算之標準技術。假設 像素値在[0,25 5]範圍內,且矩陣値爲浮點比例因數( floating point scale factors),則使用以下公式: [Or ] [ Mrr Mrg Mrb Mra 0 ] [〇g ] [ Mgr Mgb Mgb Mga 0 ] [Ob]= [ Ir Ig lb la 1] [ Mbr Mbg Mbb Mba 0 ] [〇a ] [ Mar Mag Mab Maa 0 ] [〇] [TlrTlgTlbTlal ] 這是一個基本的矩陣乘法運算,其中RGB A影像原色 (11*,18,11),1〇乘以5\5矩陣]^,以計算出調整過之11〇8八影 像顔色(Or,Og,Ob,0a)。藉由調整Μ之20個變數元素之値 ’即可執行許多色彩調整操作。對於過度繪圖影像,矩陣 値係經調整以將過度繪圖影像依比例縮放,使重要資料之 範圍擴大。 舉例而言,假設整個著色目標中之每一像素被寫入20 次(假設全部著色目標組皆在彼此之頂部上混合),則假 -21 - 201108157 設3個以上之小三角形被寫至著色目標,其中二者有些重 豐。在此例子中,大部分像素將有一過度繪圖値20,少數 有一過度繪圖値2 1 (其係受到小三角形觸碰者),及少數 有一過度繪圖値22 (其係在二個重疊之小三角形相交處者 )0 如果一使用者在正常情況下看此影像,則看起來是暗 的,而且很難看到具有過度繪圖値21及22之訊框部分。在 此實施例中,看見一調整影像,其中正常影像中之各像素 乘以矩陣Μ,以計算出過度繪圖影像之調整色彩。在此有 使用過之値,假設8位元色彩頻道(原始及過度繪圖影像 中之R G Β Α値之每者各有値在[0,2 5 5 ]中),但是此技術並 不限於此狀況,如果使用不同色彩深度時亦可作用: 令min = 2 0//過度繪圖影像中之最小値 令max = 22//過度繪圖影像中之最大値 令△ S ( min-max) //-△ 若(△ =〇) Δ = -1; //確定△不爲零 令 ( -25 5/Δ ) /3 ; //比例 令 min/Δ ; //轉變 將Μ設定爲:
ί ! t s s s o t s s s o t Γ L rL r J rL rL 1J 1 ] ). _ 00001] 根據此範例,在矩陣計算後,影像中有三個唯一之原 -22- 201108157 値: [20/255 20/255 20/255 1 1 ] [21/255 21/255 21/255 1 1 ] [22/255 22/255 22/255 1 1 ] 藉由矩陣乘法而經過以下轉換: [20s/255 + 20s/255 + 20s/255 + 0 +1 ] [20s/255 + 20s/255 + 20s/255 + 0 +1 ] [20s/255 + 20s/255 + 20s/255 + 0 +1 ] [0 +0 +0 +0+1] [0 +0 +0 +0+1] 2 5 5 0/2 2 5 11 11 5 5 s s s Γί [[
o t rL rL t s s s o t
s s S ο 1 1 1J —r _ 00001] ο ο ο ο 1 由於‘· 3*(20/255)s = 3 * (20/255) * ((-255 / -2) / 3) = (20) * ((1 / 2)) = 10 t = 20/-2 = -10 因此: [0] [s s s 0 0] [0] [s s s 0 0] [0 ] = [ 20/255 20/255 20/255 1 1 ] [ s s s 0 0 ] [1 ] [0 0 0 0 0] [1 ] [t t t 1 1] 針對中間値(2 1 ),進行下列運算: 3*(21/255)s = 3 * (21/255) * ((-255 / -2) / 3) = (21) * ((1 / 2)) = 10.5 t = 20/-2 = -10 此據 TJ TJ 1J 5 TJ TJ 0·°·°·1 1 n rL rL rL n
s rL s 5 5 1/2 21 5 5 /2 2 5 5 /2 2 1
s s o t s s o t .--* rL rL o o o s s s o o u i 1 ) o o o o 針對最大値(22 ),進行下列運算·· -23- 201108157 3*(22/255)s = 3 * (22/255) * ((-255 / -2) / 3) = (22) * ((1 / 2)) = 11 t = 20 / -2 = -10 因此: [s s s 0 0 ] [s s s 0 0 ] [1] [1] [1] [22/255 22/255 22/255 1 1 ] [ s s s 0 0 ] [00000] [t t t 1 1] 上述技術有利於容許一小範圍値擴充至一最大範圍, 使得能見度達到最大。此項技術係提供用於說明,而非限 制。據此,其他技術也可以用於增加影像之能見度。 如上所述,這些實施例之元件(例如圖1及2之元件) 可以在硬體及/或軟體之任意組合型態中實施。據此,圖 10係一示範性平台1 002之示意圖,其中可供實施本文內所 述之本發明功能。 如上所述,這些實施例提供擷取訊框之技術。此外, 這些實施例提供單步執行通過圖形訊框(例如,一次爲單 一圖形訊框)的技術,此圖形訊框由一應用所產生。這些 特性有利於容許一應用之工作量被「即時」擷取,因而可 以擷取一關注之確切訊框。 在實施例中,此單步執行可以藉由使用者互動而控制 。例如,一使用者可以備有一暫停鈕、一單步鈕、及一擷 取鈕。這些鈕可以透過一圖形使用者介面(例如,圖3之 介面控制台300)而提供。惟,這些實施例並不拘限於本 文。再者,這些實施例並不拘限於採用圖形使用者介面。 暫停鈕特徵可供使用者遠距地暫停在其目前訊框之一 201108157 應用(例如,圖形應用102 )。依此,單步鈕特徵可供使 者單步前進恰好一個訊框。捕捉鈕特徵可供使用者決定 儲存訊框資料(以及其相對應之繪圖呼叫),以利分析。 圖9揭示一邏輯流程圖900,其可以作爲牽涉到此單步 執行及訊框擷取特徵等操作的代表。此流程圖揭述於圖1 及2之內文中。惟,此流程圖也可以使用在其他內文中。 再者’儘管圖9揭示一特定序列,但是其他序列也可以使 用。再者,所述之操作可用不同之並行及/或順行組合執 行。 在一方塊9 0 2,開始一圖形應用(例如,一遊戲)。 例如,在圖1之內文中,此可包含圖形應用1 〇 2之開始執行 〇 在一方塊9 04,使用者致動一暫停鈕。結果,在—方 塊906處,當其目前訊框完成時,圖形應用即停止操作。 此項特徵可牽涉到圖形分析工具1 1 0,其等候應用1 02做出 —「目前呼叫」(透過圖形API 1〇4)。此一呼叫表示針 對目前訊框之其繪圖呼叫已完成,且目前訊框已準備好供 圖形引擎106著色。一旦做出此一呼叫,圖形分析工具n〇 將圖形應用1 02暫停。此例如可以透過一或多個操作系統 呼叫而執行。例如,圖形分析工具1 1 0可將所有與圖形應、 用相關聯之運行CPU軟體線程停止。暫停時,目前訊框即 可以顯示。 在一方塊907,使用者致動一按鈕。如果它是單步鈕 ’則操作前進至一方塊909,圖形應用在此處重新開始且 -25- 201108157 下一訊框變成目前訊框。在圖1之內文中,此可牽涉到做 出一或多個操作系統呼叫之圖形分析工具110。隨後,操 作回到方塊906,且一旦其完成訊框時圖形應用即再次暫 停。 惟,如果使用者致動捕捉鈕,則在一方塊910,儲存 由圖形引擎(例如圖形引擎1 06 )產生之訊框。請參閱圖2 ’此可包含將目前訊框之像素資料儲存於訊框儲存模組 212中。再者,在一方塊912’儲存與目前訊框相關之其他 資訊。此資訊可包括(但是不限定的有)對應於目前訊框 之繪圖呼叫、狀態資訊-牽涉到圖形引擎(例如,管線狀 態資訊)、圖形API、及/或圖形應用。再者,此資訊可 包括由應用提供之資源(例如,世界模型資訊、頂端資訊 、明暗資訊、紋理資訊等等)。實施例不限於這些範例。 在圖2之內文中,此資訊有一些可由圖形API繪圖呼叫截取 模組202截取及識別,並儲存於圖形API呼叫日誌資料庫 204 中 〇 圖9揭示流程方塊910及912,操作可前進至方塊909, 圖形應用在此處重新開始且下一訊框變成目前訊框。隨後 ,操作回到方塊906,且一旦其完成訊框時圖形應用即再 次暫停。 如另一替代型式,圖9揭示如果使用者致動暫停鈕, 則在一方塊9 1 4,重新開始圖形應用之正常操作。在圖1之 內文中,此可牽涉到圖形分析工具1 1 0做出一或多個操作 系統呼叫。隨後,一方塊9 1 6指出操作可回到方塊9 0 4,以 -26- 201108157 執行其他訊框單步操作及訊框捕捉操作。 因此,這些訊框單步操作及訊框捕捉技術可容許一使 用者對於哪個確切訊框要修正與描繪輪廓有細腻的控制》 結果,一使用者即可發現及定位出瓶頸,及/或去除冗餘 或不重要之圖形操作。圖9之流程揭述於GUI鈕之內文中。 此係用於說明而非限制。據此,可以使用其他使用者互動 技術/裝置。因此,這些實施例可以提供不同之使用者控 制’以用於前述暫停、單步操作、擷取、及重新開始等特 徵。 在實施例中,平台1 002可包含一中央處理單元(CPU )1〇12、一圖形處理單元(GPU) 1013、一或多個驅動 器1014、一或多個網路連接1〇15、一操作系統1016、儲存 器1018、一顯示裝置1019。 CPU 101 2可包含一或多個處理器,例如雙核心處理器 。雙核心處理器之範例包括Pentium® D處理器及Pentium® 處理器Extreme Edition,兩者皆由Intel®公司製造,其例 如可以稱爲Intel Core Duo®處理器。 GPU 1013可包含不同圖形處理器,例如—周邊元件互 連快捷(PCI Express )顯示卡。惟,實施例並不拘限於此 範例。請參閱圖1,GPU 101 3可以具備圖形引擎1〇6之特徵 〇 在一實施例中,網路連接1015可包含PRO/1000 pm或 PRO/100 VE/VM網路連接,兩者皆由Intel®公司製造。 在實施例中,操作系統1016可包含由Microsoft®公司 -27- 201108157 製造之Window® XP Media Center。在另外之實施例中, 操作系統101 6可包含Linux®,以及其他類型之操作系統。 在一實施例中,儲存器1018可包含不同之實體儲存媒 體。這些儲存媒體可包括資料(例如影像或訊框)以及指 令或控制邏輯(例如軟體),以實施本文內所述之不同特 徵(例如圖1及2之元件)。這些指令或控制邏輯可由CPU 1012及/或GPU 101 3執行。儲存媒體之範例將進一步揭述 於後。 顯不裝置1 0 1 9可以輸出資訊給一使用者。此外,顯示 裝置1019可以提供使用者互動,如本文內所述者。例如, 此使用者互動可以透過示範性之使用者介面3 00。 如本文內所述,許多實施例可以使用硬體元件、軟體 元件、或其任意組合實施。硬體元件之範例可包括處理器 、微處理器、電路、電路元件(例如,電晶體、電阻器、 電容器、電感器等等)、積體電路、專用積體電路(ASIC )、可編程邏輯裝置(PLD)、數位訊號處理器(DSP) 、場可編程閘陣列(FPGA )、邏輯閘、暫存器、半導體 裝置、晶片、微晶片、晶片組等等。 軟體元件之範例可包括軟體組件、程式、應用、電腦 程式、應用程式、系統程式、機器程式、操作系統軟體、 中間軟體、韌體、軟體模組、子程式、副程式、函數、方 法、程序、軟體介面、應用程式介面(A PI )、指令組、 計算碼、計算機碼、碼區段、計算機碼區段、字元、値、 符號、或其任意組合。 -28- 201108157 有些實施例在實施上例如可以使用一儲存一指令或一 組指令之實體機器可讀取媒體(儲存媒體)或物件,如果 該指令是由一機器執行’其可根據本實施例而使該機器執 行一方法及/或操作。此一機器例如可包括任意適當之處 理平台、計算平台、計算裝置、處理裝置、計算系統、處 理系統、計算機、處理器、或類似者,及可以使用硬體及 /或軟體之任意組合型態實施。 機器可讀取媒體(儲存媒體)或物件例如可包括任意 適當類型之記億單元、記億裝置、記億物件、記憶媒體' 儲存裝置、儲存物件、儲存媒體及/或儲存單元,例如記 億體、可移除或不可移除式媒體、可抹除或不可抹除式媒 體、可寫入或可重寫式媒體、數位或類比式媒體、硬碟機 、軟碟機、唯讀記憶光碟(CD-ROM)、可錄光碟(CD-R )、可重寫光碟(CD-RW )、光碟、磁性媒體、磁-光學 性媒體、可移除記億卡或碟片、不同類型之數位多功能光 碟(DVD )、錄音帶、錄音匣、或類似者。指令可包括任 意適當類型之碼,例如原始碼、編譯碼、直譯碼、可執行 碼、靜態碼、動態碼、加密碼、及類似者,並且使用任意 適當之高階、低階 '物件導向、視覺、編譯及/或直譯程 式語言執行。 有些實施例可以使用「聯結」及「連接」等詞並配合 其衍生字以說明之。這些用詞並非做爲彼此之同義字。例 如’有些實施例可以使用「連接」及/或「聯結」等詞以 說明二或多個元件以直接實體性或電氣性彼此接觸。惟, -29 - 201108157 「聯結」一詞也指二或多個元件不直接接觸於彼此,而是 彼此合作或互動。 儘管本發明之多項實施例已揭述於上,應該瞭解的是 其僅爲舉例說明,而非限制。據此,習於此技者將瞭解到 ,在不脫離本發明之精神及範疇下,在形式及細部結構上 尙可達成多種變化。因此,本發明之寬廣性及範疇不應由 上述任一示範性實施例限制,而是僅依據文後之申請專利 範圍及其等效技術而界定。 【圖式簡單說明】 在圖式中,相似參考編號大體上表示相同、功能相似 、及/或結構相似之元件。圖式中一元件首次出現時係以 參考編號之最左側數字表示。本發明將參考附圖以說明之 ’其中: 圖1係一示範性操作環境之示意圖; 圖2係一可包括在圖形分析工具內之實施方式之示意 圖: 圖3係一示範性使用者介面之示意圖; 圖4-9係邏輯流程圖;及 圖1 〇係一示範性平台之示意圖。 【主要元件符號說明】 100 :示範性操作環境 102 :圖形應用 -30- 201108157 104 :圖形應用程式介面(API) 106 :圖形引擎 1 1 0 :圖形分析工具 200 :示範性實施方式 202 :圖形API截取模組 204 :圖形API呼叫日誌資料庫 206 :重建模組 207 :過度繪圖分析模組 208 :像素歷史分析模組 210 :使用者介面'模組 2 1 2 :訊框儲存模組 3 0 0 :介面控制台 3 0 2 :繪圖呼叫區 304 :著色目標區 3 06 :影像著色區 3 0 8 :像素歷史區 1002:平台 1012:中央處理單元(CPU ) 1013:圖形處理單元(GPU ) 1 0 1 4 :驅動器 1015 :網路連接 1 0 1 6 :操作系統 1 〇 1 8 :儲存器 1019 :顯示裝置 -31 -

Claims (1)

  1. 201108157 七、申請專利範圍: 1 . 一種方法,包含: 基於複數個圖形應用程式介面(API)繪圖呼叫以產 生一過度繪圖影像; 從該產生之過度繪圖影像產生一視覺上加強之過度繪 圖影像;及 顯示該視覺上加強之過度繪圖影像。 2. 如申請專利範圍第1項之方法,其中產生該視覺上 加強之過度繪圖影像包含在該產生之過度繪圖影像內增加 一動態範圍。 3. 如申請專利範圍第1項之方法,其中產生該過度繪 圖影像包含每次寫入時即累積一像素値。 4. 如申請專利範圍第1項之方法,進一步包含將該產 生過度繪圖影像儲存於一實體之儲存媒體中。 5-如申請專利範圍第1項之方法,進一步包含將該視 覺上加強之過度繪圖影像儲存於一實體之儲存媒體中。 6. —種設備,包含: 一圖形應用程式介面(API); 一圖形引擎;及 一圖形分析工具,用以 基於複數個圖形應用程式介面(API)繪圖呼叫以 產生一過度繪圖影像, 從該產生之過度繪圖影像產生一視覺上加強之過度 繪圖影像。 -32- 201108157 顯示該視覺上加強之過度繪圖影像。 7. 如申請專利範圍第6項之設備,其中產生該視覺上 加強之過度繪圖影像包含增加該產生之過度繪圖影像的— 動態範圍。 8. 如申請專利範圍第6項之設備,其中該圖形引擎包 含一圖形處理單元(GPU )。 9. 如申請專利範圍第6項之設備,進一步包含一顯示 裝置,供圖形分析工具將該視覺上加強之過度繪圖影像顯 示於該顯示裝置上。 10. 如申請專利範圍第6項之設備,進一步包含一實 體之儲存媒體,用以儲存視覺上加強之過度繪圖影像。 11. 一種物件,包含一機器可存取媒體,該媒體具有 儲存於其上之指令,該等指令在供一機器執行時令該機器 基於複數個圖形應用程式介面(API )繪圖呼叫以產 生一過度繪圖影像; 從該產生之過度繪圖影像產生一視覺上加強之過度繪 圖影像;及 顯示該視覺上加強之過度繪圖影像。 1 2.如申請專利範圍第丨丨項之物件,其中該視覺上加 強之過度繪圖影像具有一較大於該產生之過度繪圖影像的 動態範圍。 -33-
TW099114379A 2009-06-26 2010-05-05 圖形分析技術 TWI427557B (zh)

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 true TW201108157A (en) 2011-03-01
TWI427557B 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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012109770A1 (en) * 2011-02-18 2012-08-23 Intel Corporation (A Corporation Of Delaware) Techniques to request stored data from a memory
CN104169820B (zh) * 2013-01-15 2016-10-26 发纮电机株式会社 可编程控制器系统、其可编程显示器、作图编辑装置、程序
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 北京字跳网络技术有限公司 一种图像生成方法、装置、计算机设备及存储介质

Family Cites Families (20)

* Cited by examiner, † Cited by third party
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
JP2003052160A (ja) * 2001-08-06 2003-02-21 Tokyo R & D Co Ltd モータ
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 色データ変換装置および色データ変換方法
TWI314424B (en) * 2006-06-23 2009-09-01 Marketech Int Corp System and method for image signal contrast adjustment and overflow compensation
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
US8448067B2 (en) * 2006-12-07 2013-05-21 Sony Computer Entertainment America, LLC Graphics command management tool and methods for analyzing performance for command changes before application modification
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
JP4461164B2 (ja) * 2007-08-17 2010-05-12 三菱電機株式会社 色変換装置および色変換方法
GB0908506D0 (en) * 2009-05-18 2009-06-24 Imagination Tech Ltd Method and apparatus for drawing polygons

Also Published As

Publication number Publication date
TWI603292B (zh) 2017-10-21
US8624907B2 (en) 2014-01-07
GB2471360A (en) 2010-12-29
TW201415416A (zh) 2014-04-16
TWI427557B (zh) 2014-02-21
US20100328324A1 (en) 2010-12-30
CN101937573B (zh) 2013-07-31
GB201007881D0 (en) 2010-06-23
GB2471360B (en) 2013-10-09
DE102010019226A1 (de) 2011-01-05
CN101937573A (zh) 2011-01-05

Similar Documents

Publication Publication Date Title
US8581916B2 (en) Graphics analysis techniques
US9678616B2 (en) Graphics command management tool and methods for analyzing performance for command changed before application modification
EP3179448B1 (en) Foveated rendering
CN110969685B (zh) 使用渲染图的可定制渲染管线
TWI603292B (zh) 圖形分析技術
CN115769265A (zh) 光线跟踪的早期剔除
JP6230076B2 (ja) 仮想サーフェス割り当て
KR102250254B1 (ko) 영상 처리 방법 및 장치
CN116210029A (zh) 深度缓冲区预处理
CN113870408A (zh) 渲染一个或多个片段的方法和图形处理系统
JP5242788B2 (ja) グラフィックス・イメージングのためのパーティション・ベースのパフォーマンス解析
US20100332987A1 (en) Graphics analysis techniques
US9069905B2 (en) Tool-based testing for composited systems
De Macedo et al. Realistic rendering in 3D walkthroughs with high quality fast reflections
US20230419597A1 (en) Binning pass with hierarchical depth data determination
WO2024103756A1 (zh) 一种三维模型的显示方法、装置、电子设备及存储介质
US20240005602A1 (en) Pipeline delay reduction for coarse visibility compression
US9128519B1 (en) Method and system for state-based control of objects
JP2002049932A (ja) ポリゴンモデルの影を表示する方法
CN1632755A (zh) 显示卡超频使用的测试方法及显示卡系统
CN114578972A (zh) Vr场景中兼容平面与曲面ui事件的触发方法及系统
SAWCZUK et al. TEXTURES THAT FOOL