日本一级在线观看_久久精品一区四区_日本一区二区在线看_自拍欧美日韩_成人精品高清在线_亚洲精品第一国产综合野_亚洲乱码中文字幕综合_亚洲电影一区二区三区


您的位置:中華顯示網 > 行業追蹤 > 市場行情 >

OpenVG API發威 嵌入式系統繪圖效果更逼真

編輯:admin 2014-04-28 08:51:17 瀏覽:1234  來源: 新電子

嵌入式系統顯示效能可望大幅提升。OpenVG應用程式介面(API),由于系以硬體方式處理向量及點陣圖形,可加快繪圖運算速度,并讓2D動畫影像更加流暢,呈現更吸睛的視覺效果,因而已逐漸受到嵌入式系統開發商青睞。

  OpenVG是一種應用程式介面(API),系由Khronos Group所研制,用來顯示向量化格式及點陣影像,并以硬體加速方式操作。

  OpenVG處理兩種主要的上層物件。首先是點陣圖,這是一種記憶體架構,用來儲存/繪制影像。每個x和y座標都對應到一個畫素;而每個畫素都擁有一個Alpha、紅、綠與藍(ARGB)數值,因此一個解析度200×200的影像就需要200×200(色階深度)個位元組來儲存。點陣圖對于照片畫質的繪圖尤其有用。在后面運用范例(Use Case)里所介紹的Coverflow應用,就有影像處理程式碼及功能可供參閱。  

  另一種則是向量格式。向量是一種以起點和終點來描述的數學算式,根據各點互連方式,可能還須要加上其他如曲線控制點、弧線半徑、弧度之類的參數。這種特性讓向量非常適于延展,因為它并不須要靠每一個畫素的資料來呈現影像。  

  圖1所描繪的是兩個原本在一般大小時看似無異的圓圈,隨著畫面放大,點陣圖逐漸失真,但向量影像卻仍能保持滑順而清晰的輪廓。  

OpenVG API發威 嵌入式系統繪圖效果更逼真0

  圖1 向量與點陣圖比較

  向量并不一定在所有場合都勝過點陣圖。點陣圖在固定大小時比較清晰,但是在放大后就會變得失真。點陣圖處理起來較快,但是較耗費記憶體。向量則可以在任何縮放尺寸下保有影像畫質,耗費記憶體也較少。向量影像只能以向量設計工具繪制,點陣圖則可以來自相片、任何影像源,或制圖工具。  

  OpenVG繪圖效能更出色

  理想的OpenVG管線(Pipeline)包括一套八段式的程序。雖然不是所有的實作手段都確實按照這套理想的管線,然而實作的成果卻都應根據Khronos所定義測試程序,以確保一定的容錯程度。其程序分別為:路徑定義與API參數的設定;筆劃;轉換;畫素轉換;修剪與遮蔽;著色;影像內插;色彩轉換;混合及防止失真。  

  以全球衛星導航(GPS)地圖來說,要呈現可任意縮放的地圖,標準方式就是透過向量。線上有很多種免費的地圖軟體工具,大多數都允許使用者將地圖匯出為SVG檔案,這個檔案須再解譯,并轉換為OpenVG一般的架構,才能繼續使用。  

  此外,以OpenVG加速過的使用介面,可以產生出流暢、易于延伸的人機介面(HMI),并提供一套完整的動態字型繪制引擎,具備各種混合及繪制功能。  

  OpenGL可以完成多項繪圖作業,例如字型、2D GUI及HMI等等;而其最大的優點為處理多邊形及紋路。OpenGL是點陣圖導向,因此即使是以強大的OpenGL核心做簡易的繪圖,也須耗費寶貴的時間。  

  OpenVG補足了繪圖的需求。它本身就是絕佳的應用,如果配合OpenGL,就能同時管理字型、向量及大部分的2D和虛擬3D組件,讓OpenGL核心把時間用在它最擅長的項目上。  

  即使單獨使用OpenVG時,也僅需少量電流及耗用記憶體,便可完成多項作業。若配合OpenGL使用,OpenVG便可轉而管理OpenGL核心并不擅長的作業。  

  點陣影像繪制范例

  以OpenVG處理影像相當簡易,按照以下步驟即可在所需的表面上繪制影像:  

  .1.宣告一個VGImage物件。

  .2.產生一個VGImage,并為VGImage物件指定處理程式。

  .3.以點陣圖資料填滿影像。

  .4.為VG_MATRIX_IMAGE_USER_TO_SURFACE設定矩陣模式,以便轉換影像(3×3仿射轉換)。

  .5.繪制影像。

  對虛擬程式碼亦采取相同步驟:  

  .1.VGImage ovgarticle_image

  .2.ovgarticle_image=vgCreateImage (VGImageFormat format, VGint width, VGint height, VGbitfield allowedQuality)

  .3.vgImageSubData(VGImage image, const void data, VGint dataStride, VGImageFormat dataFormat, VGint x, VGint y, VGint width, VGint height)

  .4.vgSeti(VG_MATRIX_MODE, VG_MATRIX_IMAGE_USER_TO_SURFACE);

  .5.vgDrawImage(ovgarticle_image)

  要進行這種操作,必須了解若干點陣圖特性,例如Stride、位元深度及設置混色之類的API屬性。  

  [@B]向量路徑加速圖形繪制[@C] 向量路徑加速圖形繪制

  路徑構成了向量加速繪圖的核心(圖2)。要完全掌握這個概念,必須了解以下觀點:  

OpenVG API發威 嵌入式系統繪圖效果更逼真1

  圖2 向量路徑示意圖

  .1.路徑:是一連串以段落串連起來的點。

  .2.點:座標值。

  .3.段落:兩點之間的運算型態,有時需要很多個點才能形成段落的控制值。

  在此用一個簡單的三角路徑來說明。首先,須定義構成整個路徑的段落。構成路徑的段落則須以一連串的指令來描述,并以位元組陣列的方式儲存。每個指令都會消耗一個或多個點。  

  復雜的路徑甚至須要動用到弧線和Bezier曲線的概念,在OpenVG里產生并繪制一個路徑的步驟包括:  

  .1.宣告一個VGPath物件。

  .2.宣告一個區段和點陣列。

  .3.產生一個空的路徑,以便接收段落資料(vgCreatePath)。

  .4.將圖像段落及點的資料填入路徑(vgAppendPathData)。

  .5.繪出路徑(vgDrawPath)。

  Cover Flow動畫范例說明

  最常見但也最為人所注目的動畫,就是2D視角轉換,經常用來呈現音響播放裝置的唱片封面。這種動畫會讓人覺得影像在3D空間中沿著x、y及z軸移動或旋轉。  

  這種轉換并非真正透過3D繪圖處理器(GPU)或3D處理引擎來實現動畫效果,而是先在2D空間中定義,再由OpenVG提供必要的API來達到動畫效果。  

  在數學觀念里,這種效果稱為「3D投射」,事實上是將一連串的3D點集合對應到一個2D平面上。觀念本身很簡單。試想一下,有一個平坦、方形的物體,譬如一片紙或是一張圖,你可以將這張圖放在面前,讓它看起來是矩形。如果你把紙張挪近些,紙張看起來就會變大,如果移遠些,又會變小。接著嘗試順著垂直軸轉動一下,結果當然看起來就不再是矩形。它會出現一些銳角,因此外觀上會像是菱形,甚至會是一直線。這就是3D物體將自身的每個點投影在你眼中的結果。  

  在繪圖技術里,空間影像處理終究不脫陣列型態的演算。要展開陣列,你必須以陣列與影像相乘。如果要簡化影像轉換,也要仰賴陣列乘法。要產生一個Cover Flow動畫,也必須要用到陣列。在OpenVG里,所有的空間處理都要以陣列變換為之。  

  設計關鍵就在于如何得出所需的「透視陣列(Perspective Matrix)」,以便得到3D的效果。這須要用到一些數學演算。在OpenVG API里也有提供其他設備,可計算出產生透視轉換所需的陣列。  

  這些OpenVG API的工具函數可協助你計算出透視轉換的陣列,不論是四邊形轉換為四邊形,還是把矩形影像轉換為給定的四邊形,甚至反向而行。如此一來你就可以將影像中任意一點移動到任何想要的位置。在執行Cover Flow動畫時,只須透過這些函數,就可以簡化演算。  

  此外,OpenVG里一共有兩種字型:點陣和向量(表1)。這兩種字型OpenVG API都有辦法處理,也有函數可以定義和登錄字型(vgCreateFont)。一旦完成,就可以透過vgDrawGlyphs函數輕松使用字型。  

OpenVG API發威 嵌入式系統繪圖效果更逼真2

  一旦考量到這些資訊,程式設計師就必須決定要在應用中采用何種字型。通常視不同的繪圖需求,可以混用兩種字型。舉例來說,可縮放的文字就要用向量字型,而大小固定不變的字型,例如按鍵標示,就可以改用點陣字型。  

  OpenVG加速動畫效果制作

  OpenVG的主要優勢,就是可以用既有API輕松做出動畫效果。一旦你有了可以繪制的EGL表面,只需要幾行指令就可以讓影像帶到幕前,再加幾行就可以令它動起來。  

  以汽車應用為例,最常見的需求之一就是要做出生動逼真的指針或儀表。直覺化的OpenVG運算可以用最高的畫面刷新速率(如60fps)做到這一點。  

  此外,也可以透過常見的轉換來達成延展之類的轉換效果。延展不僅可以放大或縮小整體外型,也可以沿著個別的x軸和y軸進行。再以指針動畫為例,通常指針并不會越過儀表板的藍色邊框,只會淡入或淡出。  

  反射則是另一種驚人的效果,同樣可以用OpenVG輕松做到。只要對水平影像做一點通透的光滑表面效果,就可以達到反射的效果。既定函數可以反轉出一個原本不存在的影像。  

  目前已有廠商研制出完全采用向量導向的車用儀表板。在圖3兩個展示版本當中,車速表是以大字型展示速度資訊,亦即在將現有字型畫在表面之前,還要先做放大處理。OpenGL都不見得有這種功力。  

OpenVG API發威 嵌入式系統繪圖效果更逼真3

  圖3 以OpenVG開發之向量車用儀表板示意圖

  此外,業者還研制了簡易的動畫引擎,以便處理延展、旋轉及轉換。透過這種繪圖引擎,儀表板上的每種路徑及點陣影像都可以輕易動畫化。 至于像是GPS逐步轉向導航之類的復雜動畫,也可以透過vgInterpolatePath函數輕易完成。  

  此種函數可以接收起始及結束路徑(具備類似段落)、終點路徑及你想要加入的內插量。終點路徑資料會根據選定的數量,以內插方式植入至起點和終點之間。如此一來,僅須定義兩個路徑狀態,便可產生出復雜的路徑轉換。  

  (本文作者皆任職于飛思卡爾)

   

標簽:

關注我們

公眾號:china_tp

微信名稱:亞威資訊

顯示行業頂級新媒體

掃一掃即可關注我們

日日摸夜夜添夜夜添国产精品| 亚洲一区二区三区视频在线| 狠狠色狠狠色合久久伊人| 五月天久久777| 国模吧精品视频| 图片一区二区| 国产精品网站在线看| 国产精品伦一区二区| 水中色av综合| 日韩精品欧美国产精品忘忧草| 日韩成人在线观看| 国产不卡精品| 狂野欧美性猛交xxxx| 99re8精品视频在线观看| 亚洲精品一区二区三区中文字幕| 日韩成人影音| 黄色一级影院| 狠狠干五月天| 天堂资源在线观看| 日韩美女视频在线| 精品处破学生在线二十三| 黑人极品videos精品欧美裸| 激情五月播播久久久精品| 国产精品不卡| 亚洲图区在线| 欧美日韩电影免费看| 午夜免费播放观看在线视频| 蜜桃传媒在线观看免费进入| 国产一区二区三区四区五区| 韩国欧美国产1区| 欧美视频三区在线播放| 在线免费观看的av网站| 日韩精品免费一区二区三区竹菊 | 欧美性大战久久久久久久蜜臀| 欧美二区在线观看| 日韩电影在线看| av成人免费在线观看| av亚洲产国偷v产偷v自拍| 亚洲免费成人av| 亚洲国产精品一区二区尤物区| 成人美女视频在线看| 日本中文字幕不卡| 亚洲一区二区三区高清| 欧美日韩综合| 欧美激情麻豆| av电影在线观看一区| 亚洲伦在线观看| 欧美一二三区在线| 日韩精品中文字幕一区| 日本粉色视频在线观看| 亚洲欧洲xxxx| 国产精品69xx| 亚洲精品欧洲| 亚洲一区二区视频在线观看| 精品乱码一区二区三四区视频| 欧美日本精品| 亚洲一区二区偷拍精品| av播放在线观看| 欧美xo影院| 欧美国产91| 4438x成人网全国最大| 偷拍自拍在线看| 欧美精品中文| 蜜臀久久久99精品久久久久久| 午夜精品久久久久久久蜜桃app| 中文字幕亚洲精品在线观看 | 国产精品久久久久久久久晋中| 国产精品久久久久天堂| 亚洲男同1069视频| 在线亚洲高清视频| yjizz视频网站在线播放| 91在线一区| 思热99re视热频这里只精品| 国产二区国产一区在线观看| 亚洲国产日产av| 69视频在线| 欧美三级视频在线观看| 国产清纯白嫩初高生在线观看91 | 六月婷婷一区| 欧美日韩性在线观看| 亚洲人体在线| heyzo高清在线| 黄色网址在线播放| avlululu| 日韩一卡二卡三卡| 欧美性猛交xxxx黑人| 国产精品久久午夜| 懂色av一区二区夜夜嗨| 巨乳诱惑日韩免费av| 91精品啪在线观看国产81旧版| av成人资源网| 免费在线观看一区| 欧洲在线视频| 无遮挡的视频在线观看| 色资源网站在线观看| 亚洲毛茸茸少妇高潮呻吟| 7777精品伊人久久久大香线蕉完整版| 亚洲电影一区二区| 国产精品国产三级国产三级人妇| 国产91丝袜在线观看| 免费成人av在线| 亚洲一区日韩| 狠狠入ady亚洲精品| 久久中文字幕av| 久久资源综合| 精品一区二区三区中文字幕在线 | 国产精品三级视频| 91蜜桃在线免费视频| 国产精品1024久久| 喷白浆一区二区| 久久精品九九| 在线亚洲成人| 亚洲久久成人| 欧美午夜一区| 亚洲a一区二区三区| 国产亚洲一区二区三区不卡| 国模大尺度私拍在线视频| 伊人青青综合网| 日韩av在线网| 久色成人在线| 亚洲福利久久| 亚洲精品成人在线| 91在线亚洲| 亚洲丝袜精品丝袜在线| 免费观看成人高潮| 成人不卡免费av| 韩国中文字幕在线| 亚洲欧美国产三级| 日韩av懂色| 欧美日韩国产美| 国产精选一区| 91精品国产91综合久久蜜臀| 加勒比中文字幕精品| 欧洲视频一区二区| 羞羞视频在线免费国产| 91色综合久久久久婷婷| 精品国产网站在线观看| 欧美在线免费| 欧美一区二区三区四区高清| 91精品丝袜国产高跟在线| 亚洲精品视频在线观看免费| 伊人色综合网| 女人色偷偷aa久久天堂| 欧美在线一区二区三区| av在线小说| 亚洲国产欧美一区二区三区丁香婷| 精品午夜视频| 亚洲制服丝袜在线| 免费av在线网址| 国产成人h网站| 色综合久久影院| 久久久久久久久97黄色工厂| 伊人75在线| 欧美日韩看看2015永久免费 | 3d成人h动漫网站入口| 亚洲一区 二区| 黄色成人在线播放| 国产精品啊啊啊| 菠萝菠萝蜜在线观看| 欧美日韩视频在线| 国模一区二区三区| 国产精选在线| 精品国产91乱高清在线观看| 亚洲免费高清| 九色91在线| 国产精品国产三级国产aⅴ无密码| av丝袜在线| 亚洲mv在线观看| 成人自拍av| 色呦呦网站一区| 视频福利一区| 欧美人体做爰大胆视频| 欧美日韩国产亚洲一区| 老司机精品久久| 久久精品久久久精品美女| 中文字幕中文字幕在线中文字幕三区 | 免费黄色网页在线观看| 国产女主播一区| 天堂久久一区| 欧美极品少妇xxxxⅹ高跟鞋 | 日韩三级毛片| 色综合久久网女同蕾丝边| 亚洲精品乱码久久久久| 中文在线一区| 国产精品99| 有色激情视频免费在线| 亚洲1区2区3区4区| 蜜桃视频一区二区三区| 精品肉辣文txt下载| 香蕉视频色版| 95精品视频在线| 51亚洲精品| 亚洲免费视频网站| 韩国视频一区二区| 欧美裸体视频| 欧美久久久久久久久| 亚洲免费黄色| 免费在线观看av| 日本黄色一区二区| 国产精品视频一二|