TWI587213B - 航空電子顯示系統 - Google Patents

航空電子顯示系統 Download PDF

Info

Publication number
TWI587213B
TWI587213B TW105107807A TW105107807A TWI587213B TW I587213 B TWI587213 B TW I587213B TW 105107807 A TW105107807 A TW 105107807A TW 105107807 A TW105107807 A TW 105107807A TW I587213 B TWI587213 B TW I587213B
Authority
TW
Taiwan
Prior art keywords
vertex
graphics
cpu
scene
shader
Prior art date
Application number
TW105107807A
Other languages
English (en)
Other versions
TW201640324A (zh
Inventor
路易斯 威廉 卡騰
Original Assignee
奇異航空系統有限公司
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 奇異航空系統有限公司 filed Critical 奇異航空系統有限公司
Publication of TW201640324A publication Critical patent/TW201640324A/zh
Application granted granted Critical
Publication of TWI587213B publication Critical patent/TWI587213B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/80Shading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/20Drawing from basic elements, e.g. lines or circles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/12Indexing scheme for image data processing or generation, in general involving antialiasing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/22Cropping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/52Parallel processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Image Generation (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Image Processing (AREA)

Description

航空電子顯示系統
本發明大體上係關於使用在各種形態的航空器中之一航空電子顯示系統。
在過去的幾十年裡,用於航空器之玻璃駕駛艙(在其中,已用螢幕電子儀器顯示代替傳統的模擬式儀器顯示)的使用已變得愈加普遍,甚至在輕型航空器中亦然[1]。事實上,自從1980年代末以來,包含此電子儀器顯示之經認證的電子飛行儀器系統(EFIS)已變成多數Boeing®及Airbus®民航客機上之標準設備。
然而近來,計算能力的提高、及顯示螢幕及導航感測器(諸如全球定位衛星(GPS)系統、姿態航向參考系統等)之成本的降低已給EFIS帶來一更廣闊的市場,通常其等仍使用特定製造商的專利技術以提供提供需用於航空器中之特定基本顯示組件(諸如姿態指示器(ADI)、水平狀態指示器(HSI)等)所需之複雜的高分辨率圖形。
因此,當將增加的功能、複雜度及分辨率添加至此EFIS顯示器時,僅要求專利技術處理器有更強的處理能力以便為飛行員產生提供於顯示器上之景象。此不僅使得使用操作有更高時脈速率之新一代處理器之一些優勢盡失,例如,而且在程式化顯示輸出時增加編碼複雜度及編碼長度。此因此增加開發者所需的時間且亦在提供新一代經認證或未經認證的EFIS時增加錯誤被引入至編碼中之可能性。
本發明由此試圖提供一種改良的航空電子顯示系統,該航空電子顯示系統既易於組態又在操作上比習知EFIS顯示器快。下列描述將亦使各種其他優勢變得顯而易見。
根據本發明之一第一態樣,由此提供一種用於在一航空器駕駛艙中顯示一景象之航空電子顯示系統。景象可例如包含由數千個圖形基元組成之用於一EFIS之一複雜的儀器顯示。航空電子顯示系統包括一中央處理單元(CPU)、一圖形處理單元(GPU)及可操作耦合至一圖框緩衡器之一顯示器。
GPU可操作耦合至CPU且包括至少一個頂點著色器。在操作中,CPU將表示至少一個圖形基元之頂點資料提供至頂點著色器,且呼叫頂點著色器以便將表示景象之至少一部分之至少一個圖形基元轉列至圖框緩衡器中。
根據本發明之一第二態樣,亦提供一種用於在一航空器駕駛艙中顯示一景象之方法。方法包括操作一CPU以將表示至少一個圖形基元之頂點資料提供至至少一個頂點著色器,呼叫至少一個頂點著色器以便將表示景象之至少一部分之至少一個圖形基元轉列至一圖框緩衡器中,且在一顯示器上顯示來自圖框緩衡器之景象。
藉由用一頂點著色器代替習知CPU轉列編碼,減少為了轉列圖形基元而需要在CPU與一GPU之間傳遞之資料的量。此外,亦簡化編碼且轉列程序亦係相當快的。
此外,CPU需要較低的處理能力且由此可經簡化。此例如允許用低功率標準現成的處理器(諸如一基於RISC處理器或例如,通常被使用在行動電話應用中之其他形態的處理器[2])取代習知專用處理器。此等處理器亦具有降低冷卻需求且由此不需要大散熱器及大體積有動力裝置的冷卻設備,藉此降低航空器需要運輸之電子封裝之總重量。
當考慮下文所描述之本發明之各種實施例時,對於熟悉此項技術者而言,各種額外的優勢將變得顯而易見。
10‧‧‧中央處理單元(CPU)
12‧‧‧航空電子匯流排
16‧‧‧系統記憶體
18‧‧‧圖形匯流排
20‧‧‧航空電子
50‧‧‧圖形卡
52‧‧‧應用程式設計介面(API)
54‧‧‧圖形處理單元(GPU)
56‧‧‧圖框緩衡器
58‧‧‧視訊記憶體
90‧‧‧顯示器
100‧‧‧航空電子顯示系統
200‧‧‧轉列管線
202‧‧‧頂點著色器
204‧‧‧曲線細分階段
206‧‧‧幾何著色器
208‧‧‧修剪階段
210‧‧‧光柵化階段
212‧‧‧片段著色器
214‧‧‧後期處理階段
216‧‧‧階段
300‧‧‧圖形基元
302‧‧‧中心頂點
304‧‧‧頂點
305‧‧‧圖形基元
306‧‧‧三角形網格
310‧‧‧圖形基元
315‧‧‧圖形基元
330‧‧‧鋸齒圖形
340‧‧‧反鋸齒圖形
350‧‧‧圖形基元
360‧‧‧圖形基元
370‧‧‧圖形基元
380‧‧‧圖形基元
390‧‧‧圖形基元
392‧‧‧填充線
394‧‧‧輪廓
396‧‧‧光暈
398‧‧‧反鋸齒線
400‧‧‧反鋸齒線
402‧‧‧反鋸齒線
410‧‧‧圖形基元
412‧‧‧頂點
414‧‧‧三角形
420‧‧‧柵格
422‧‧‧填充線
424‧‧‧輪廓
425‧‧‧背景
426‧‧‧光暈
428‧‧‧顏色邊界
430‧‧‧顏色邊界
432‧‧‧顏色邊界
500‧‧‧圖形基元
600‧‧‧方法
610‧‧‧操作
620‧‧‧呼叫
630‧‧‧顯示
現將結合隨附圖式來描述本發明之各種態樣及各種實施例,其中:圖1展示根據本發明之一實施例之一航空電子顯示系統;圖2展示圖1之根據本發明之一實施例之航空電子顯示系統之GPU所使用之轉列管線;圖3展示使用習知CPU轉列編碼界定之一圖形基元;圖4展示使用習知CPU轉列編碼產生之變化精確度轉列之圖形基元;圖5展示可由本發明之各種實施例產生之一鋸齒圖形及一反鋸齒圖形;圖6展示可由本發明之各種實施例產生之圖形基元;圖7展示可與本發明之各種實施例一起使用之複雜圖形基元;圖8展示可由本發明之各種實施例產生之一複雜圖形基元之一展開視圖;圖9展示可與本發明之各種實施例一起使用之另一圖形基元;圖10展示用根據本發明之一實施例之一轉列管線之一片段著色器來處理圖9之圖形基元;圖11展示片段著色器如何將反鋸齒應用至圖9之根據本發明之一實施例之圖形基元;圖12展示經寫入至一顯示器上之一景象之圖9之已轉列之圖形基元;及圖13展示可根據本發明之各種實施例加以實施之一方法。
圖1展示根據本發明之一實施例之一航空電子顯示系統100。航空電子顯示系統100使用用於在一航空器駕駛艙中顯示一景象之一改良的圖形處理技術。額外地,其使早已經標準認證、更便宜、更簡單及/或更輕之標準組件能夠使用,使得可靠性改良且使得整個系統更有可能得到各種民航當局(FAA、CAA等)的認證。
航空電子顯示系統100包含一中央處理單元(CPU)10。CPU 10透過航空電子匯流排12連接至航空電子20。與飛行儀器相關之資料透過航空電子匯流排12傳輸至CPU 10,隨後由CPU 10處理且接著用於在一顯示器90上顯示飛行資料。在特定實施例中,CPU 10可係例如,包含實質上處理相同資訊之複數個類似的CPU之一冗餘系統之部件,比較及/或錯誤校驗該相同資訊以確保系統可靠性及容錯度。當使用諸多此等處理器來提供一冗餘系統時,處理器的重量及其等聯結的冷卻設備之減少由此更加重要。
CPU 10提供有系統記憶體16。記憶體16可包含揮發性記憶體(例如,RAM)及/或非揮發性記憶體(例如,快閃記憶體)。在各種實施例中,CPU 10係一Intel® Baytrail SoC,E3827版本的處理器[2]。此具有8瓦特之一功率消耗且重量輕。低功率消耗意味著產生更少的熱,且CPU 10由此更可靠。額外地,E3827處理器[2]輕、便宜、易於獲得、且已在其他應用領域中經過良好測試。
CPU 10經由圖形匯流排18額外地耦合至一圖形卡50。圖形匯流排18可例如,包含一周邊組件互連(PCI)介面、一快速PCI(PCIe)介面或一加速圖形埠(AGP)。在一項實施例中,圖形卡50係一GeForce GTX 750 Ti[3]且圖形匯流排18使用快速PCI 3.0操作。
圖形卡50提供用於將CPU 10介接至一圖形處理單元(GPU)54之一應用程式設計介面API 52。GPU 54包含至少一個處理器核心,以及快速視訊記憶體58。例如,可提供640個獨立的CUDA核心[3]以利於 GPU 54中之單指令多資料(SIMD)並行處理。此等處理器核心提供快速且強大的基於硬體之浮點電路,該浮點電路由此很好地適合於複雜的數學資料處理。
各個此處理器核心可經由API 52程式化以提供一轉列管線之各種階段,諸如一頂點著色器。頂點著色器係操作在界定一圖形基元之邊界之一組頂點上之一程式,以將其之3D虛擬空間位置以數學方式轉變至2D座標中,在該2D座標處,其等將顯現在一圖框緩衡器56中且接著顯現在顯示器90上。除位置外,頂點著色器亦可經程式化以操縱頂點之顏色及紋理座標。其之頂點及/或各種屬性由表示至少一個圖形基元之頂點資料界定。
頂點著色器可例如,根據OpenGL規範經程式化。當編碼頂點著色器時可使用各種已知的OpenGL適用程式庫。在各種實施例中,使用C-like OpenGL著色語言(GLSL)來產生頂點資料,該頂點資料作為用於程式化可程式化GPU轉列管線之頂點著色器之一組編譯串以便提供客製化影像效應。對頂點著色器之一呼叫執行由頂點資料界定之圖形基元之轉列,並將所得輸出寫入至圖框緩衡器56中。
顯示器90可操作耦合至圖框緩衡器56且能夠將圖框緩衡器56之內容顯示為包括一起描繪之多個已轉列的圖形基元之一全屏景象,例如,一ADI、HSI等。
由此本發明開發出可程式化GPU轉列管線之可客製化種類以使工作負荷能夠自CPU 10卸載至GPU 54。額外地,因為將各種功能(例如,判定界定各種圖形基元所需之額外的頂點資料)授權給GPU 54,所以整體處理有可能更快,由此確保CPU 10未將時間耗費在發送指令及資料至GPU 54及隨後等待GPU 54完成上。
此外,由於執行轉列最終景象所必需之圖形處理功能需要一降低數量的指令及資料點,所以為開發者簡化了編碼。
藉由實例,發明者已在測試中發現,即使針對一非最佳化的實施例,至少兩個因素也可加速景象處理。此無關於實施本發明所需之編碼線之數量係約6至12,相比之下,當以習知方法轉列景象時,事先所需之編碼線之數量係200至500。
圖2展示可由上文所描述之航空電子顯示系統100之GPU 54使用之一轉列管線200。轉列管線200界定由GPU 54執行之一操作序列以便轉列用於顯示之一物件,諸如一圖形基元。轉列管線係可由一GPU 54之一個處理器核心實施之一實例。當頂點資料相互獨立時,可提供用於各自的並行處理器核心之諸多此等管線,使得可執行一SIMD操作。圖形基元係可包含,例如,三角形、直線、點、凸面、圓形等之基礎圖形。
CPU 10最初可準備包含頂點資料之一頂點陣列。此針對固定顯示組件,諸如,舉例而言,一HSI之輪廓而言,可包含儲存在頂點之一預組態陣列中之靜態資料,該等頂點界定在最終景象中描繪固定顯示組件所需之必需的圖形基元。
一頂點著色器202隨後自頂點資料陣列載入界定各自的頂點之資料。習知航空電子顯示系統並不在用於在其中產生景象之一GPU轉列管線中提供此一頂點著色器。界定各自的頂點之屬性資料在虛擬空間中針對各頂點n,包含至少一三維位置(xvn、yvn、zvn),且提供將被發送至轉列管線200之一有序的頂點列表。在轉列管線200之一稍後階段處處理如何將頂點列表轉列成一圖形基元之轉列。
在各種實施例中,使用儲存在系統記憶體16中之頂點陣列以使用API呼叫將頂點屬性資料傳遞至GPU 54。然而,亦有可能使用儲存在視訊記憶體58中之頂點緩衡器物件,此具有為了轉列頂點而需要來自CPU 10之更少API呼叫之優勢。例如,CPU 10可在系統記憶體16中局部地界定頂點屬性,隨後使用glBufferData()或glBufferSubData函數 在傳遞頂點屬性之前產生一緩衡器物件,或藉由使用glMapBuffer()或glMapBufferRange函數映射緩衡器。
頂點著色器202基於一使用者定義的程式將各輸入頂點轉換成一輸出頂點。此通常包括立體的3D至2D轉變,例如,在虛擬空間中旋轉物件。然而,在此應用中,由於頂點著色器202主要用於與所支援之轉列功能相關之增重率效應,所以位置轉變通常不係必需的。藉由不需要對頂點資料使用位置轉變,亦進一步加速處理。下文更詳細地描述使用頂點著色器202之頂點處理之此態樣。
隨後針對基元總成使用頂點著色器202之輸出。根據使用者已轉列之基元之形態,隨後將基元總成分解成一有序的簡單基元(即,線、點或三角形)序列。在各種使用OpenGL之實施例中,由可由一預設版本提供或使用者定義之一幾何著色器提供此功能。
視需要,隨後可使用一曲線細分階段204來曲線細分簡單基元序列。曲線細分階段204使用一固定功能曲線細分器階段在曲線細分其等之前將一曲線細分控制著色器應用至簡單基元序列。使用一曲線細分評定著色器來進一步處理固定功能曲線細分器階段之輸出以自曲線細分階段204提供最終輸出。
若存在一另外的可選幾何著色器206,則其隨後亦可用於處理頂點著色器202之輸出或可選曲線細分階段204。幾何著色器206提供可處理由例如,頂點之輸入列表界定之圖形基元之一使用者定義之程式化階段。自幾何著色器206輸出零或更多簡單的基元。此一幾何著色器206可例如,遵照OpenGL 3.2或之後的規範操作。
幾何著色器206可操作以將基元自輸入列表上移除或藉由針對一單個輸入產生多個基元而曲線細分其等。亦可操縱頂點且可將基元從一種形態轉換至另一種,例如,線至點、點至三角形等。在輸入資料上操作之程式提供諸如幾何著色器206之著色器以提供適當的輸出資 料。
在特定實施例中,在一轉變回饋模式中,可將由幾何著色器206產生或由基元總成所得之簡單基元寫入至一組預定義的緩衡器物件中。由此產生之資料可經保留用於之後的使用,藉此加速轉列景象所需之整體處理。此一轉變回饋模式可額外地有效地用作轉列管線200之最終輸出。
替代地,可視需要將幾何著色器206之輸出用作至一修剪階段208之輸入。修剪階段將處於一視野容體之外部與內部之間之一邊界上之基元分裂成多個基元。將處於邊界之外部之基元自輸出資料組上剔除。
隨後藉由光柵化階段210使簡單基元經受光柵化。光柵化將進入之基元序列轉換成被稱為一片段之各自的二維影像。此等片段之各點含有諸如顏色及深度之資訊。
一基元之光柵化由兩步驟組成。第一步判定基元佔據視窗/顯示器座標中之一整數柵格之哪些方形。第二步將一顏色及一深度值指派至此方形各者。
將由光柵化階段210產生之片段提供為至一片段著色器212(有時被稱為一像素著色器)之輸入。片段著色器212將各片段處理成一三種顏色組及一深度值,且亦視需要添加模板值資料。深度值(z-值)界定片段在3D空間中之深度位置且顏色值提供在顯示器90上顯示片段所必需之習知RGB顏色資料。
一後期處理階段214隨後作用在片段著色器212之輸出資料上以判定將哪個寫入至圖框緩衡器56中以用於顯示在顯示器90上。必要時,後期處理階段214最初應用各種剔除測試。若經此組態,則可將一模板測試應用至片段且將未通過測試之該等片段剔除。亦可應用一深度測試,其中以類似方式將未通過測試之任何片段剔除且不將其等 添加至圖框緩衡器56中。
隨後將片段寫入至圖框緩衡器混合物的同時,在相同的位置處,將圖框緩衡器混合物應用於正被寫入至圖框緩衡器56中之片段與早已在圖框緩衡器56中之任何顏色值之間。
隨後在階段216處,將片段資料寫入至圖框緩衡器56以用於顯示在顯示器90上。視需要,使用者亦可應用各種遮光操作,諸如深度、顏色、模板等以在最終已轉列的景象中產生各種效應。
圖3展示使用習知CPU轉列編碼界定之一圖形基元300。圖形基元300係由一中心頂點302界定之一圓,三十個進一步周向定位之頂點304呈放射狀環繞中心頂點302。界定圖形基元300之一頂點陣列包含對應於按順序放置之頂點302、304之頂點資料以便界定一連續的三角形306網格,連續的三角形306近似於以頂點302為中心的一圓。
亦可使用一三角形網格來界定各種其他的圖形基元。例如,此等其他圖形基元可包括一橢圓、凸面,弧、長方形、帶圓角的長方形、單條線、多條線、文字等。
CPU產生所有的頂點、三角形及顏色列表。隨後發送其等以用於轉列。為了改良EFIS顯示,勾勒圖形需要反鋸齒線。此等線增加所需之頂點之數量。額外地,一圓形圖形,例如,需要予以近似以幫助減少界定圓周長所需之三角形的數量。因此使用預定義的頂點以避免執行三角計算之需要。
習知系統由此需要提供函數之圖形移植層以繪製每次被呼叫時需要計算頂點之複雜基元。當執行一梯度填色時,各頂點需要其之顏色被界定或紋理被使用。無論在何種情況下,此需要計算且發送額外的頂點資訊。此複雜性意味著即使使用習知技術來編碼一相當簡單的複雜基元,也需要不止一百條編碼線。
圖4展示三種變化精確度轉列之圖形基元305、310、315,描繪 可使用圖3所示之習知轉列編碼而產生之圓。此等圖形基元305、310、315在轉列之後使用不同數量的頂點作為頂點陣列之輸入來描繪一圓。
在各自的各個三角形網格中,使用若干直線將圖形基元305、310、315有效地轉列成具有一近似圓周之圓。因此為了提高轉列之精確度,需要增加由頂點之數量界定之線的數量及由此三角形基元之數量。
然而,若每個基元使用的線太多,則此將影響轉列速度。與之相反,若使用的線太少,則使用者將能夠察覺出圖形基元係一N邊多邊形(所謂的50p效應,可見於圖4中,隨著圖形基元的移動,在圖形基元305中使用三十個圓周頂點,在圖形基元310中使用二十個,在圖形基元315中使用十個)。因此,當使用先前技術時,近似與轉列速度之間有一折衷。
圖5展示可由本發明之各種實施例產生之一鋸齒圖形330及一反鋸齒圖形340。自提供於至轉列管線200之一頂點陣列中之相同的輸入頂點產生圖形330、340兩者。
藉由片段著色器在轉列管線中應用反鋸齒。在如下之一逐像素(pixel-per-pixel)基礎上計算:i)若像素完全在圖形基元內,則將全部顏色應用至各自的像素;ii)若像素完全在圖形基元外,則將其丟棄;且iii)若像素部分包含於圖形基元內,則視其處於圖形基元內之百分比隨後應用反鋸齒效應。
在圖形330中,當將由頂點陣列界定之圖形基元顯示在顯示器90上時(後期轉列),看見鋸齒假影(鋸齒狀邊緣)。藉由應用一反鋸齒轉列,藉由使用基於由圖形基元覆蓋之一像素區域之一部分指派像素顏色之轉列技術而可消除鋸齒狀邊緣。此一技術提供見於圖形340中之更軟的邊緣。
通常,習知反鋸齒技術由於通常需要多次(例如,藉由重複地使用圖3之CPU轉列編碼)繪製圖形基元而將對速度有一大影響。當使用習知CPU驅動的轉列時,此可由此成問題,但是不針對本發明,在本發明中,可使用轉列管線200之片段著色器。
圖6展示可由本發明之各種實施例產生之圖形基元。圓形圖形基元350可由在頂點陣列中界定一三角形網格或作為界定一圓之周長之一頂點序列之一組頂點界定。
無論在何種情況下,已顯示轉列管線200已將圖形基元350轉列成一一色填充的圓。與之相反,使用相同的輸入頂點陣列資料作為每個圖形基元350來程式化轉列管線200以僅用一輪廓來轉列圖形基元360。
圖7展示可與本發明之各種實施例一起使用之複雜圖形基元370、380。複雜圖形基元370、380使用相同的基礎頂端陣列資料作為每個圖形基元350及360。
然而,因為使用各種額外的屬性參數將若干基礎基元控制成一單個圖形基元,所以圖形基元370、380係複雜圖形基元。此等屬性參數可界定,例如,輪廓寬度、輪廓點刻型樣、輪廓顏色、填充顏色、填充梯度、光暈顏色、光暈寬度等。
在所展示之實例中,複雜圖形基元370使用輪廓寬度、輪廓點刻型樣、輪廓顏色、填充顏色、光暈顏色及光暈寬度屬性參數。複雜圖形基元380使用輪廓寬度、輪廓點刻型樣、輪廓顏色、光暈顏色及光暈寬度屬性參數。
圖8展示可由本發明之各種實施例產生之一複雜圖形基元390之一展開視圖。複雜圖形基元390係經填充、經勾勒、經生暈且提供有反鋸齒之一複雜圓。藉由使用轉列管線200來轉列一頂點陣列資料而產生複雜圖形基元390且複雜圖形基元390包含一填充線392、輪廓 394、光暈396及三條反鋸齒線398、400、402。可將此一已轉列之複雜圖形基元390例如,用作經描繪成一航空電子EFIS顯示器中之一景象之部分之一HSI之部件。
藉由使用本發明之技術,在該技術中,將三角形產生邏輯自CPU 10上移除且使其進入至頂點著色器202中,CPU 10僅需要發送幾個點以界定相同圖形基元之輪廓。亦由頂點著色器202內之一逐像素上之GPU 54計算反鋸齒。亦逐像素界定一圓周長,且因此極其平滑。 GPU 54中之查詢表提供精確嵌入之正弦函數及餘弦函數,且由此很快。由此不需要頂點資料之高速存取,且GPU 54有效地執行梯度填色。此外,編碼經簡化且需要更少的線來編碼相同的複雜圖形基元(在本情況下,少於一百個)。
圖9展示可與本發明之各種實施例一起使用之另一圖形基元410,例如,以藉由使用轉列管線200而提供用於一EFIS顯示之一景象之部分。用於程式化頂點著色器202之一橢圓程式提供圖形基元410。由此經程式化之頂點著色器202亦可用於轉列圓、凸面及弧。
CPU 10藉由產生一四個頂點412組而界定兩個三角形414。將此等三角形提供為頂點陣列中傳遞至轉列管線200之連續的頂點。
CPU 10隨後用以下資料呼叫頂點著色器202:圓之中心、橢圓長軸(A)、橢圓短軸(B)、凸面寬度、開始角度、結束角度、輪廓顏色、輪廓寬度、光暈顏色、光暈寬度及填充顏色。
頂點著色器202可操作以基於頂點412界定一外部長方形。而非像習知方法一樣(例如,見於圖3)填充/轉列多個個別的三角形,頂點著色器202可操作以著色界定於外部長方形之邊界內之圖形基元410之內部及外部兩者。例如,在將要將圖形基元放置在一景象中之情況下,可丟棄(即,不變化其等以便將其等轉列為透明)在橢圓之外部但在外部長方形內之區域。此使頂點著色器202之全部功能能夠被用於 將2D影像轉列提供於外部長方形內,同時最小化命令之數量及所需之頂點陣列之尺寸。
圖10展示轉列管線200之片段著色器212處理圖9之圖形基元。片段著色器212判定像素之一柵格420中之各像素px,y落在像素中之橢圓中之何處。柵格420與橢圓之相對位置判定像素px,y之顏色,若像素px,y落在橢圓內,則根據其之位置設定顏色,或者,若其落在橢圓外部,則使其透明425。將柵格420顯示為上覆於填充線422,輪廓424及光暈426。
因此CPU 10發送一降低數量(例如,用於界定一長方形之最少數量)的點以有效地界定一帆布。片段著色器212隨後在帆布上繪製所需的形狀,而CPU 10不需要發送所有的頂點。
圖11展示片段著色器212如何將反鋸齒應用至圖9之圖形基元。片段著色器212在分別發現於填充線422、輪廓424、光暈426及背景425之各者之間之顏色邊界428、430及432之間執行反鋸齒。在此情況下,藉由在兩個各自的顏色之各者之間使用一簡單線性坡面而實施此。
圖12展示寫入至圖框緩衡器56以用於展示於顯示器90上之一景象中之最終已轉列之圖形基元500。圖12經進一步註解以展示用作轉列管線200中之屬性參數之長軸(A)、短軸(B)及開始及結束角度。
圖13展示可根據本發明之各種實施例而予以實施之一方法600。方法600使用一航空電子顯示系統在一航空器駕駛艙中顯示一景象,且包括操作610一CPU以將表示至少一個圖形基元之頂點資料提供至至少一個頂點著色器;呼叫620至少一個頂點著色器以便將表示景象之至少一部分之至少一個圖形基元轉列至一圖框緩衡器中;且在一顯示器上顯示630來自圖框緩衡器之景象。頂點資料可經提供為一頂點緩衡器物件且儲存在視訊記憶體中。在各種實施例中,可將頂點資料 自一三維的映射至一二維資料組。
在各種實施例中,可將方法600用於判定一景象中之一像素是否落在任何特定圖形基元之內部或外部。可由此將基於像素而非基於頂點之界定用於各種圖形基元。此具有當使用習知轉列時,藉由實質上消除存在的近似而可產生更平整的圖形基元之優勢,及可近似地著色處於圖形基元之邊界上之像素來降低最終已轉列景象中之光禿邊緣效應之優勢。
可提供用於介接CPU與一GPU之一特定應用介面(API)。API可例如,根據OpenGL規範操作。
方法600可進一步包括在已儲存之像素資料上執行一反鋸齒操作及/或使用多重並行頂點著色器管線以並行方式轉列表示一景象之至少一部分之複數個圖形基元。
方法600使CPU工作負載能夠降低以呼叫一GPU中之頂點著色器在。GPU中之加速硬體提供更快的三角函數、矢量數學及矩陣計算。相較於CPU等效技術,亦以非常小的額外負擔實現反鋸齒,以及提供像素精確度而非CPU頂點精確轉列。額外地,本發明使一完成的圖形基元,及甚至一複雜圖形基元能夠在一單次操作中加以轉列。亦可執行圍繞一圖形基元之一整個影像區域之二維(2D)轉列。例如,使用此技術可更輕易地產生帶有圓角之長方形。
本發明之實施例之各種優勢亦包含藉由使用藉由降低所需之計算功率而被稱為一晶片上系統(SoC)之低成本、低功率的行動電話部件而降低航空電子顯示系統之成本、重量及功率消耗之能力。
已在文中描述本發明之各種實施例。熟悉此項技術者將很好地意識到,藉由使用例如,軟體、硬體及/或基於韌體之元件之一或多者而可視需要實施此等實施例。
例如,熟悉此項技術者將意識到,使用界定於各種著色器中之 演算法可即時改變用於構建一最終景象之所有像素、頂點或紋理之位置、色相、飽和度、亮度及對比度,且當呼叫著色器時,由CPU引入之外部變量可修改位置、色相、飽和度、亮度及對比度。可在特定的硬體/韌體(例如,頂點/像素/幾何體)上或藉由使用能夠執行任何形態的著色器之通用處理單元(例如,一GeForce GTX 750 Ti[3]之CUDA核心)執行此等著色器。
參考文獻
1. 見於,例如Garmin G1000®,可從美國,KS 66062-3426堪薩斯市,奧拉西(Olathe),1200E第151街,Garmin國際公司購得,www.Garmin.com。
2. Intel® Baytrail SoC,第E3827版處理器,可從美國,CA 95054-1549,聖克拉拉,2200教會學院大道,Intel公司購得。
3. GeForce GTX 750 Ti圖形卡,可從美國,加利福尼亞CA 95050,聖克拉拉,2701聖托馬斯快速公路,NVIDIA®公司購得。
在准許之情況下,上文提及之參考文獻之內容之全文在此亦以引用的方式併入本申請案中。
10‧‧‧中央處理單元(CPU)
12‧‧‧航空電子匯流排
16‧‧‧系統記憶體
18‧‧‧圖形匯流排
20‧‧‧航空電子
50‧‧‧圖形卡
52‧‧‧應用程式設計介面(API)
54‧‧‧圖形處理單元(GPU)
56‧‧‧圖框緩衡器
58‧‧‧視訊記憶體
90‧‧‧顯示器
100‧‧‧航空電子顯示系統

Claims (16)

  1. 一種用於在一航空器駕駛艙(aircraft cockpit)中顯示一景象(scene)之航空電子顯示(avionics display)系統,該航空電子顯示系統包括:一中央處理單元(CPU);一圖形處理單元(GPU),其可操作耦合至該CPU,該GPU包括至少一個頂點著色器(vertex shader),其中該CPU經組態以將表示至少一個圖形基元(graphics primitive)之頂點資料提供至該至少一個頂點著色器且呼叫該至少一個頂點著色器,以便將表示景象之至少一部分之該至少一個圖形基元轉列(render)至一圖框緩衡器中;及一顯示器,其可操作耦合至該圖框緩衡器以用於顯示該景象。
  2. 如請求項1之航空電子顯示系統,其中進一步包含視訊記憶體之一圖形卡提供該GPU及該圖框緩衡器,且其中該圖形卡亦可操作以提供用於介接該CPU與該GPU之一應用程式設計介面(API)。
  3. 如請求項2之航空電子顯示系統,其中該CPU產生作為一頂點緩衡器物件或作為儲存在該視訊記憶體中之一點列表之該頂點資料。
  4. 如請求項2或請求項3之航空電子顯示系統,其中該API根據OpenGL規範操作。
  5. 如請求項1至3中任一項之航空電子顯示系統,其中將該頂點資料映射至一二維資料組。
  6. 如請求項1至3中任一項之航空電子顯示系統,其中該GPU可操作以在儲存在該圖框緩衡器中之像素資料上執行一反鋸齒操作。
  7. 如請求項1至3中任一項之航空電子顯示系統,其中該GPU合併具有一幾何著色器之一頂點著色器管線。
  8. 如請求項1至3中任一項之航空電子顯示系統,其中該GPU合併多重並行頂點著色器管線。
  9. 一種使用一航空電子顯示系統在一航空器駕駛艙中顯示一景象之方法,該方法包括:操作一CPU以將表示至少一個圖形基元之頂點資料提供至至少一個頂點著色器;呼叫該至少一個頂點著色器以便將表示該景象之至少一部分之該至少一個圖形基元轉列至一圖框緩衡器中;及在一顯示器上顯示來自該圖框緩衡器之該景象。
  10. 如請求項9之方法,其進一步包括提供用於介接該CPU與一GPU之一應用程式設計介面(API)。
  11. 如請求項10之方法,其中該API根據該OpenGL規範操作。
  12. 如請求項9至11之任一項之方法,其進一步包括產生作為一頂點緩衡器物件之該頂點資料且將該頂點緩衡器物件儲存在視訊記憶體中。
  13. 如請求項9至11之任一項之方法,其進一步包括將該頂點資料從一三維的映射至一二維的資料組。
  14. 如請求項9至11之任一項之方法,其進一步包括在儲存在該圖框緩衡器中之像素資料上執行一反鋸齒操作。
  15. 如請求項9至11之任一項之方法,其進一步包括使用多重並行頂點著色器管線來以並行方式轉列表示該景象之至少一部分之複數個圖形基元。
  16. 如請求項9至11之任一項之方法,其進一步包括校驗該景象中之各像素是否包括該至少一個圖形基元以便避免近似該景象中之該至少一個圖形基元。
TW105107807A 2015-04-02 2016-03-14 航空電子顯示系統 TWI587213B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB201505780A GB2536964B (en) 2015-04-02 2015-04-02 Avionics display system

Publications (2)

Publication Number Publication Date
TW201640324A TW201640324A (zh) 2016-11-16
TWI587213B true TWI587213B (zh) 2017-06-11

Family

ID=53190167

Family Applications (1)

Application Number Title Priority Date Filing Date
TW105107807A TWI587213B (zh) 2015-04-02 2016-03-14 航空電子顯示系統

Country Status (5)

Country Link
US (1) US9892551B2 (zh)
JP (1) JP6266678B2 (zh)
FR (1) FR3034515B1 (zh)
GB (1) GB2536964B (zh)
TW (1) TWI587213B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117078838B (zh) * 2023-07-07 2024-04-19 上海散爆信息技术有限公司 一种对象渲染方法、装置、存储介质及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090073168A1 (en) * 2007-09-14 2009-03-19 Qualcomm Incorporated Fragment shader bypass in a graphics processing unit, and apparatus and method thereof
TW200933522A (en) * 2008-01-25 2009-08-01 Via Tech Inc Graphics processing systems, cache systems and data-handling methods
US20090213128A1 (en) * 2008-02-22 2009-08-27 Qualcomm Incorporated System and method for instruction latency reduction in graphics processing
TW201216200A (en) * 2010-10-15 2012-04-16 Via Tech Inc Multi-shader system and processing method thereof

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07121730A (ja) * 1993-10-27 1995-05-12 Sony Corp 円描画装置
US6018350A (en) * 1996-10-29 2000-01-25 Real 3D, Inc. Illumination and shadow simulation in a computer graphics/imaging system
JP2881735B1 (ja) * 1998-02-03 1999-04-12 株式会社超高速ネットワーク・コンピュータ技術研究所 三次元動画データ転送方法
WO2000011607A1 (en) * 1998-08-20 2000-03-02 Apple Computer, Inc. Deferred shading graphics pipeline processor
US20080068389A1 (en) * 2003-11-19 2008-03-20 Reuven Bakalash Multi-mode parallel graphics rendering system (MMPGRS) embodied within a host computing system and employing the profiling of scenes in graphics-based applications
US20080094403A1 (en) * 2003-11-19 2008-04-24 Reuven Bakalash Computing system capable of parallelizing the operation graphics processing units (GPUs) supported on a CPU/GPU fusion-architecture chip and one or more external graphics cards, employing a software-implemented multi-mode parallel graphics rendering subsystem
US7978205B1 (en) * 2004-05-03 2011-07-12 Microsoft Corporation Systems and methods for providing an enhanced graphics pipeline
US6972769B1 (en) * 2004-09-02 2005-12-06 Nvidia Corporation Vertex texture cache returning hits out of order
JP4462132B2 (ja) * 2005-07-04 2010-05-12 ソニー株式会社 画像特殊効果装置,グラフィックスプロセッサ,プログラム
US7612775B2 (en) * 2005-07-28 2009-11-03 The Boeing Company Real-time conformal terrain rendering
US7589735B2 (en) * 2005-08-24 2009-09-15 Innovative Solutions & Support (Iss) Aircraft flat panel display system with graphical image integrity
US20090051687A1 (en) * 2005-10-25 2009-02-26 Mitsubishi Electric Corporation Image processing device
US7612783B2 (en) * 2006-05-08 2009-11-03 Ati Technologies Inc. Advanced anti-aliasing with multiple graphics processing units
US20100214294A1 (en) * 2009-02-20 2010-08-26 Microsoft Corporation Method for tessellation on graphics hardware
US9578299B2 (en) * 2011-03-14 2017-02-21 Qualcomm Incorporated Stereoscopic conversion for shader based graphics content
US8933934B1 (en) * 2011-06-17 2015-01-13 Rockwell Collins, Inc. System and method for assuring the proper operation of a programmable graphics processing unit
US8754786B2 (en) * 2011-06-30 2014-06-17 General Electric Company Method of operating a synthetic vision system in an aircraft
US8988434B1 (en) * 2012-04-12 2015-03-24 Google Inc. Text rendering for browsers and mobile based applications
US8982124B2 (en) * 2012-09-29 2015-03-17 Intel Corporation Load balancing and merging of tessellation thread workloads
US9230518B2 (en) * 2013-09-10 2016-01-05 Qualcomm Incorporated Fault-tolerant preemption mechanism at arbitrary control points for graphics processing
JP6341986B2 (ja) 2013-09-11 2018-06-13 株式会社スクウェア・エニックス・ホールディングス 描画装置、その描画方法、プログラム及び記録媒体

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090073168A1 (en) * 2007-09-14 2009-03-19 Qualcomm Incorporated Fragment shader bypass in a graphics processing unit, and apparatus and method thereof
TW200933522A (en) * 2008-01-25 2009-08-01 Via Tech Inc Graphics processing systems, cache systems and data-handling methods
US20090213128A1 (en) * 2008-02-22 2009-08-27 Qualcomm Incorporated System and method for instruction latency reduction in graphics processing
TW201216200A (en) * 2010-10-15 2012-04-16 Via Tech Inc Multi-shader system and processing method thereof

Also Published As

Publication number Publication date
GB201505780D0 (en) 2015-05-20
GB2536964B (en) 2019-12-25
JP2016196290A (ja) 2016-11-24
US20160292914A1 (en) 2016-10-06
GB2536964A (en) 2016-10-05
US9892551B2 (en) 2018-02-13
FR3034515A1 (fr) 2016-10-07
FR3034515B1 (fr) 2019-07-12
JP6266678B2 (ja) 2018-01-24
TW201640324A (zh) 2016-11-16

Similar Documents

Publication Publication Date Title
KR102455696B1 (ko) 그래픽 처리 시스템
US9558585B2 (en) Hidden surface removal in graphics processing systems
US9299181B2 (en) Target independent stenciling in graphics processing
TWI592902B (zh) 來自片段著色器程式之樣本遮罩的控制
US8704830B2 (en) System and method for path rendering with multiple stencil samples per color sample
US9177351B2 (en) Multi-primitive graphics rendering pipeline
US10204391B2 (en) Method of and apparatus for processing graphics
US9536333B2 (en) Method and apparatus for improved processing of graphics primitives
CN111066066B (zh) 可变比率着色
TWI728986B (zh) 圖形處理系統、運行圖形處理系統的方法及執行該方法的電腦軟體碼
KR20190125515A (ko) 단일 패스 유연 스크린/스케일 래스터화
JP2022512082A (ja) 可変レートシェーディングとスーパーサンプリングシェーディングの統合
KR20160046614A (ko) 텍스쳐를 처리하는 방법 및 장치
KR20180037838A (ko) 텍스쳐를 처리하는 방법 및 장치
TWI587213B (zh) 航空電子顯示系統
US10937233B2 (en) Graphics processing systems
JP6214350B2 (ja) 地図描画装置
ES2967590T3 (es) Procesador gráfico y procedimiento asociado de visualización de un conjunto de píxeles, plataforma y sistema aviónico asociados
US20220067871A1 (en) Graphics processing

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees