OpenVG 名詞解釋
OpenVG 名詞解釋- 矢量圖形算法標準。OpenVG 是針對諸如Flash和SVG的矢量圖形算法庫提供底層硬體支持界面的免授權費、跨平台應用程式接口API。OpenVG 現仍處於發展階段,其初始目標主要面向需要高質量矢量圖形算法技術的便攜手持設備,用以在小螢幕設備上實現動人心弦的用戶界面和文本顯示效果,並支持硬體實現,這樣可以在在極低的處理器功率級別下實現流暢的互動性能。通常在640x480的顯示解析度上都可以達到最好的效果。
OpenVG 來歷
在過去,由於嵌入式系統上並沒有繪製2D矢量圖形的統一規格,因此在創作2D矢量圖形的相關內容時,各家業者(如:Adobe、Macromedia)都會開發自己專屬的2D API來進行底層的繪製。這樣的作法必須仰賴CPU進行大量的運算,對電力的消耗是一大考驗;再者,當開發者欲移植到不同的平台時,可能又得多花一份力氣。有鑒於此,2004年第四季,Khronos組織首先提出適合於硬體加速(hardware-accelerated)的2D矢量圖形處理標準函式庫—OpenVG。
目前OpenVG規格由Khronos組織所主導,結合多家行動裝置大廠及圖學組織,包括Nokia、Motorola、Bitboys、Hybrid Graphics、Symbian、Sun Microsystems、3Dlabs等公司,目標在於規範適合嵌入式系統上簡單、輕便且低階的2D矢量圖形繪圖功能。藉由公開、標準、統一的規格,不但硬體製造商可依據其規格設計出2D矢量圖形硬體加速器,同時也能加快2D矢量圖形展現技術與硬體加速器垂直整合的速度。說穿了,OpenVG的目的就是在提供硬體抽象層,達到跨平台的功能,使得使用OpenVG APIs開發的套用程式,在不同平台執行時,皆可取得2D矢量圖形硬體加速的功能。
OpenVG 優缺點
優點可以在較低的CPU頻率下實現較好的效果, 大部分flash運算都由HW完成.即使主CPU不到100Mhz,也有可能播放swf檔案。
如果可以搭配2D矢量圖形展現模組, 減少HW加速受限於主頻的影響,效果更好。
因為是標準算法,對記憶體的需求較高,記憶體越大,效果越好,記憶體較小時可能會有限制,建議最小64M DRAM。
OpenVG 模組組成
1. Coordinate Systems and Transformations (Image drawing uses a 3x3 perspective transformation matrix)
2. Paths
3. Images
4. Image Filters
5. Paint (gradient and pattern)
6. Blending and Masking
7. Higher-level Geometric Primitives
8. Image Warping