OpenVG

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук
OpenVG
Official logo of OpenVG
Тип API
Розробник Khronos Group, Inc.
Стабільний випуск 1.1 (3 грудня 2008 г.)
Версії 1.1
Операційна система Багатоплатформне
Ліцензія Різні
khronos.org/openvg

OpenVG — багатоплатформний прикладний програмний інтерфейс, розроблений Khronos Group спеціально для двовимірної векторної графіки з використанням апаратного прискорення. Призначений в першу чергу для мобільних телефонів, смартфонів і ігрових консолей таких як PlayStation та інших мобільних пристроїв. OpenVG дозволяє розробникам програмного забезпечення створювати більш швидкі графічні інтерфейси які будуть менш залежні від центрального процесора, що в свою чергу дозволить не тільки зняти надмірне навантаження з ЦП, а й економити електроенергію. OpenVG добре підходить для прискорення флеш-анімації та SVG-графіки.

Історія[ред.ред. код]

Група OpenVG була сформована 6 липня 2004 за згодою таких великих фірм як 3Dlabs, Bitboys, Ericsson, Hybrid Graphics, Imagination Technologies, Motorola, Nokia, PalmSource, Symbian, і Sun Microsystems. Надалі до розробки приєдналися інші корпорації включаючи таких виробників електроніки як ATI, LG Electronics, Mitsubishi Electric, NVIDIA, Texas Instruments і програмного забезпечення DMP, Esmertec, ETRI, Falanx Microsystems, Futuremark, HI Corporation, Ikivo, MTIS, Superscape, и Wow4M.

Перша специфікація була доступна в кінці 2004 року, а перша версія API для цієї специфікації була випущена 1 серпня 2005.

16 січня 2007 року, Zack Rusin анонсував початок відкритої реалізації даного API яка базувалась на QtOpenGL.

Відразу після цього, Ivan Leben створив інший відкритий проект на sourceforge, написавши ANSI C реализацію для спецификації на базі стандартного OpenGL.

9 грудня 2008 року Khronos Group випустила специфікацію для OpenVG 1.1. Ця версія включала гліф-рендеринг для тексту, покращений анти-аліасинг і підтримка Flash.

1 травня 2009 року Zack Rusin з компанії Tungsten Graphics додав трекер стану OpenVG до Mesa 3D, що дозволило застосувати апаратне прискорення для векторної графіки SVG для пристроїв на яких використовується Gallium3D драйвер.

У вересні 2011 робоча група OpenVG прийняла рішення не проводити подальші зустрічі для наступних версій. А також було прйнято рішення для продовження обслуговування і просування існуючої спеціифікацї для версії OpenVG 1.1.

Імплементація[ред.ред. код]

Апаратний рівень[ред.ред. код]

  • Renesas SuperH SH2A на основі SH7269 рішення. Розроблений графічний інтерфейс для мобільних пристроїв з невеликим рівнем системних затрат, з виділеними 2.5 мегабайтами SRAM пам'яті для буферу зображення.[1]
  • AMD/ATI Z160 і Z180 OpenVG 1.x графічне ядро.[2]
  • ARM Mali Graphics Processing Units[3]
  • Broadcom BCM4760 SoC — Анонсований 1 червня 2009. BCM4760 Який включав «Для OpenGL(R) ES 1.1/OpenVG™ 1.0-сумісний графічний процессор»[4]
  • Digital Media Professionals Inc.(DMP Inc.) SMAPH-F(dandelion VG)[5]
  • Imagination PowerVR VGX150 OpenVG 1.1[6]
  • Imagination PowerVR SGX Series5 — API, що підтримує OpenGL ES 1.1/2.0, OpenVG 1.1, OpenGL 2.0/3.0 і DirectX9/10.1[7][8]
  • Takumi GV500 — GV300, GV500 Графічний прискорювач[9]
  • Think Silicon ThinkVG графічне ядро для OpenVG 1.1[10]
  • Vivante GC350 (2D графічне ядро) OpenVG 1.1
  • Vivante GC400 і наступні сумісні з 3D графікою OpenGL ES 2.0 і OpenVG 1.1[11][12]
  • Adreno GPU які підтримують OpenVG 1.1. Qualcomm пропонує SDK для Android.[13]

OpenGL, OpenGL ES[ред.ред. код]

  • Hooked OpenVG — Hooked Wireless OpenVG повна імплементація для обох OpenVG 1.01 і OpenVG 1.1, розроблено для OpenGL ES, і повністю сумісна. Вперше випущена в лютому 2008 року.[14]
  • HuOne AlexVG-forge — OpenVG рушій двовимірної графіки для використання на пристроях що підтримують OpenGL/OpenGL ES.
  • Mazatech AmanithVG GLE — комерційний. Створений для OpenGL 1.1 і наступних версій і OpenGL ES 1.x. Стверджують «досягнення кращої продуктивності ніж програмне растеризація для анімації з високою роздільною здатністю і складних спецефектів).»[15]
  • MonkVG (тільки для «OpenVG»)[16] — відкрите програмне забезпечення (BSD)
  • ShivaVG — відкрите програмне забезпечення (LGPL)

Програмне забезпечення[ред.ред. код]

Примітки[ред.ред. код]

  1. SH7268, SH7269 | Renesas Electronics. Renesas.com. Процитовано 2012-03-11. 
  2. AMD unveils multimedia products for media-rich mobile devices. Videsignline.com. Процитовано 2012-03-11. 
  3. Mali-400 MP. ARM. Процитовано 2013-06-16. 
  4. http://sev.prnewswire.com/null/20090601/LA2504201062009-1.html
  5. Products & Services | Digital Media Professionals Inc. Dmprof.com. Процитовано 2012-03-11. 
  6. [1] Archived червень 10, 2009 на сайті Wayback Machine.
  7. PowerVR SGX Series5 Graphics IP Core Family. Imgtec.com. Процитовано 2012-03-11. 
  8. POWERVR SGX520, SGX530 and SGX535 graphics cores with OpenVG 1.1 support
  9. Product Information|TAKUMI Corporation (ja). Gshark.com. Процитовано 2012-03-11. 
  10. ThinkVG Graphics Core OpenVG 1.1
  11. Vivante IP Catalog. Процитовано December 13, 2011. 
  12. Vivante Graphics Processor IP. Процитовано December 13, 2011. 
  13. Adreno SDK on QDevNet. https://developer.qualcomm.com/discover/chipsets-and-modems/adreno-gpu . Retrieved 2013-07-24.
  14. [2] Archived квітень 11, 2009 на сайті Wayback Machine.
  15. а б Michele Fabbri. AmanithVG project. Amanith.org. Процитовано 2012-03-11. 
  16. micahpearlman. micahpearlman/MonkVG · GitHub. Github.com. Процитовано 2012-03-11. 

Див. також[ред.ред. код]

  • Vulkan (API)  — багатоплатформне API для 3D графіки створене Khronos Group.
  • Mantle — Низькорівневе API від компанії AMD.