WebGL (skrátene Web-based Graphics Library) je softvérová knižnica, ktorá rozširuje možnosti programovacieho jazyka JavaScript. Umožňuje mu vytvárať interaktívnu 3D grafiku pre akéhokoľvek kompatibilný webový prehliadač. WebGL kód sa spúšťa na počítačovej grafickej karte (GPU), ktorá musí podporovať shader rendering.

WebGL je obsah HTML elementu "canvas", ktorý umožňuje pracovať s 3D počítačovou grafikou bez použitia plug-in. Špecifikácia bola vydaná ako verzia 1.0 dňa 3. marca 2011. WebGL je riadená neziskovou organizáciou Khronos Group.

Dizajn upraviť

WebGL je založený na OpenGL ES 2.0 a poskytuje API pre 3D grafiku. Používa HTML5 prvok "canvas" a je prístupný pomocou rozhrania Dokument Object Model. Automatická správa pamäte je k dispozícii ako súčasť jazyka JavaScript.

Implementácia v desktopových prehliadačoch upraviť

  • Mozilla Firefox – WebGL bol povolený na všetkých platformách, ktoré majú grafickú kartu s aktualizovanými ovládačmi od verzie 4.0
  • Google Chrome – WebGL bolo povolené na všetkých platformách, ktoré majú grafickú kartu s aktualizovanými ovládačmi od verzie 9
  • Safari – Safari 5.1 nainštalovaný na systéme Mac OS X Lion má podporu pre WebGL, ktorý je v predvolenom nastavení ale zakázaný
  • Opera – WebGL bol doplnený v najnovšej verzii Opera 12 pre-release snapshots.
  • Internet Explorer – Vo verzii 11 [1][2], pre staršie verzie je možné použiť pluginy FrameChrome a IEWebGL.

Implementácia pre mobilné prehliadače upraviť

  • Nokia N900 – WebGL je k dispozícii v PR1.2 aktualizácii firmvéru
  • BlackBerry PlayBook – WebGL je k dispozícii prostredníctvom WebWorks v PlayBook OS 2.0
  • Firefox pre mobilné zariadenia – WebGL je k dispozícii pre zariadenia Android, v nestabilných verziach je dostupný od začiatku roka 2011
  • Sony Ericsson Xperia rady telefónov s Android majú WebGL funkcie po upgrade firmvéru

Vývoj upraviť

WebGL riadi neziskové združenie Khronos. V tomto združení sa angažuje Apple, Google, Mozilla a Opera. Predsedom pracovnej skupiny je Ken Russell.

História upraviť

WebGL vyrástol z pokusov s 3D od Vladimir Vukićević na Mozilla. Vukićević najprv demonštroval prototyp 3D "canvas" v roku 2006. Do konca roka 2007 na to Mozilla a Opera urobili svoju vlastnú implementáciu.

Na začiatku roka 2009 Mozilla a Khronos začali na vývoji WebGL. Špecifikácia vo verzii 1.0 bola uvoľnená v marci 2011. V máji 2011 boli odstránené kritické bezpečnostné chyby, čím zabránili cross scripting útokom.

Knižnice upraviť

Existuje niekoľko knižníc pre WebGL. WebGLU knižnica bola prvá, ktorá má byť verejne dostupná. Ďalšie knižnice obsahujúce WebGL sú GLGE, C3DL, Copperlicht, SpiderGL, PhiloGL, GWT-G3D -. G3D (WebGL wrapper) pre GWT (Google Web Toolkit), SceneJS, X3DOM, Oak3D, Processing.js, Three.js, Turbulenz, OSGJS, XB PointStream a CubicVR.js.

ANGLE (Almost Native Graphics Layer Engine) je open source projekt vydaný pod BSD licenciou, ktorá umožňuje prekladať obsah WebGL OpenGL ES 2.0 API volaniami API DirectX 9 na platformách Windows bez potreby samostatných ovládačov OpenGL. V novembri 2011 ANGLE dosiahol významný míľnik: teraz prechádza OpenGL ES 2.0 testovacími sadami a bol certifikovaný ako vyhovujúca GL ES 2.0 implementácia. Aj cez túto certifikáciu, ANGLE neimplementuje OpenGL ES 2.0 jazyk podľa špecifikácii.

Pre dizajnérov je tu možnosť ako vytvoriť WebGL scény bez nutnosti programovania a to, použiť nástroj pre vytváranie obsahu, ako Blender alebo Autodesk Maya. Scény sa potom exportujú do WebGL. To bolo prvýkrát možné s Inka3D, WebGL export plugin pre Maya.

Referencie upraviť

  1. Internet Explorer 11 Preview guide for developers [online]. Microsoft, 2013-07-17, [cit. 2013-07-24]. Dostupné online.
  2. WebGL [online]. Microsoft, 2013-07-17, [cit. 2013-07-24]. Dostupné online.