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 [Архівовано 3 липня 2007 у Wayback Machine.] анонсував початок відкритої реалізації даного API яка базувалась на QtOpenGL.
Відразу після цього, Ivan Leben [Архівовано 24 травня 2008 у Wayback Machine.] створив інший відкритий проект на 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 [Архівовано 20 жовтня 2021 у Wayback Machine.] — комерційний. Створений для OpenGL 1.1 і наступних версій і OpenGL ES 1.x. Стверджують «досягнення кращої продуктивності ніж програмне растеризація для анімації з високою роздільною здатністю і складних спецефектів).»[15]
- MonkVG [Архівовано 1 січня 2015 у Wayback Machine.] (тільки для «OpenVG»)[16] — відкрите програмне забезпечення (BSD)
- ShivaVG [Архівовано 8 вересня 2015 у Wayback Machine.] — відкрите програмне забезпечення (LGPL)
Програмне забезпечення
Примітки
Див. також
- Vulkan (API) — багатоплатформне API для 3D графіки створене Khronos Group.
- Mantle — Низькорівневе API від компанії AMD.