GEGL
Initial release | 2000 |
---|---|
Stabil frisättning | |
Förvar | |
Skrivet i | C |
Operativ system | Cross-plattform |
Typ | Bildbehandlingsbibliotek _ |
Licens | GNU Lesser General Public License |
Hemsida |
|
The Generic Graphics Library ( GEGL ) är ett programmeringsbibliotek under utveckling för bildbehandlingsapplikationer . Det är främst utvecklat för GIMP för att lägga till stöd för bilder med högre bitdjup och oförstörande redigering . Det implementerades delvis i GIMP 2.6, med mer tillagt i 2.8, och är nu en central del i 2.10. Många filter är klara, men också mycket arbete pågår. Target är fullt stöd för alla viktiga filter i färdplanen i version 3.0. Det används också av GNOMEs Photos och gedl .
Design
GEGL är modellerad efter en riktad acyklisk graf , där varje nod representerar en bildoperation ( kallas "operatorer" eller "ops"), och varje kant representerar en bild . Operationer kan i allmänhet ta flera ingångsbilder och ge flera utgående bilder, vilket motsvarar att ha flera inkommande flanker (bilder) och flera utgående flanker (bilder) vid en given nod (operation). Systemet använder en on-demand-modell och utför arbete endast efter behov. Detta tillåter funktioner som att ha mycket snabba förhandsvisningar under redigering, och när användaren har gjort ändringar kommer GEGL att upprepa samma operationer i full upplösning för den slutliga bilden i bakgrunden.
Operationer
En operation (op) är en nod i en GEGL-graf som är ansvarig för en åtgärd; ops kan vara:
- enkelt, till exempel "lägg till" (ta två ingångar) eller "förmultiplicera med alfa" (ta en ingång)
- komplexa, som färgrymdskonverteringar
GEGL har också en föreställning om metaoperationer, där en operation kan konstrueras från andra operationer (t.ex. oskarp mask är en kombination av addera , multiplicera , subtrahera och gaussisk blur ops).
babl
babl, ett stödbibliotek för GEGL, tillhandahåller ett generiskt sätt att hantera färgrymdskonverteringar ; babl arbetar med att abstrahera de grundläggande färgoperationerna så att GEGL inte behöver vara medveten om dem. Genom babl ger GEGL en optimerad och kraftfull (valfritt med SIMD- stöd) behandling av godtyckliga färgdata; detta gör det möjligt för beroende applikationer att effektivt stödja ett brett utbud av färgrymder (från 8-bitars RGB till full flyttal CMYK ) med minimal extra applikationskod.
OpenRaster
OpenRaster är ett XML- filformat som används för att spara rastergrafik . GEGLs huvudutvecklare Øyvind Kolås har hjälpt till att specificera OpenRaster så att den kan spara en GEGL-graf.
Historia
GEGL tänktes ursprungligen som en GIMP kärnersättning år 2000 av Rhythm & Hues mjukvaruingenjörer, till sist 2006 ansågs det externa API :et vara tillräckligt stabilt och kapabelt att ersätta GIMP-kärnan. Den 20 december 2007 lades den till i utvecklingsversionen av GIMP. Vissa av GIMPs verktyg har redan konverterats till GEGL-operationer; mestadels verktyg som ändrar färger, ljusstyrka eller kontrast har konverterats.
Version 0.2.0 är en del av Gimp 2.8.xy och Series 0.3.xy är en del av 2.9.x och i 2.10.0 Release Candidates. 0.4.0 är den första versionen för version 2.10.0 av Gimp. Faktisk version 0.4.xy är också basen för utvecklingsversion 2.99.x för stabil 3.0-serie av Gimp. 0,5 (eller högre som 1,0) kommer att vara raden för 3,0 stabila serier.
Från den instabila 2.9.x-serien är hela GIMPs kärna beroende av GEGL, och nästan hälften av filtren har ersatts med GEGL-operationer. Målet är 100 % av canvasfilter i GEGL i 2.10 och senare.
Historiskt sett hittade GEGL-maskoten, en fembent get skapad av George (Jiří) Lebl påskägg i GNOME -datorer.
livet som ettOpenCL
Vissa av GEGL:s operationer är tillgängliga i OpenCL-baserad hårdvaruaccelererad version. En tredje parts satsning, kallad GEGL-OpenCL, för att konvertera fler verksamheter till OpenCL startades av Stream HPC 2016. Projektet stod stilla från och med maj 2017, men återupplivades sommaren 2019.