Vad är 3D WebGL™?

Web-based Graphical Library (WebGL™) är ett abstrakt programmeringsgränssnitt (API) utformat för att tillåta användning av tredimensionell (3D) grafik direkt i en webbläsare utan behov av programvara eller plug-ins separat från kärnwebbläsaren . Skillnaden mellan 3D WebGL™ och andra webbläsarbaserade 3D-grafiska språk — som VRML (virtual reality markup language) — är att 3D WebGL™ ger direkt åtkomst till grafikprocessorn (GPU) på hårdvaruskärmkortet som finns i dator. En annan skillnad är att 3D WebGL™ inte är ett separat språk utan ett API som implementeras genom JavaScript®-skriptspråket som förstås av nästan alla webbläsare. Även om denna typ av direkt, lågnivååtkomst till hårdvaran i datorsystemet är en av styrkorna med WebGL™, är det också ett av de större problemen, eftersom det presenterar en serie säkerhetsproblem som inte är lätta att lösa.

En viktig utveckling som har gjort 3D WebGL™ möjlig är introduktionen av canvas-elementet i HyperText Markup Language-specifikationen version 5 (HTML5). Canvas-elementet tillåter lågnivååtkomst till en viewport som kan ritas in och underhållas i en stil som överensstämmer med befintliga typer av renderings-API:er i andra datorprogrammeringsspråk. WebGL™ API fungerar med denna accelererade arbetsyta för att ge möjligheten att rendera komplexa scener mycket snabbt utan att behöva förlita sig på mjukvaruemulering över olika plattformar eller implementeringar.

3D WebGL™ API använder inte bara canvaselementet utan är också baserat på Open Graphics Library for Embedded Systems (OpenGL ES®). Detta är en bärbar version av standard OpenGL®-biblioteket som är designat för att vara portabel inte bara mellan olika datoroperativsystem, utan även över alla enheter som kräver användning av lågnivå 3D-grafik. Detta lilla fotavtryck gör att biblioteket kan integreras i vilken webbläsare som helst för nästan vilken enhet som helst.

Implementeringen av 3D WebGL™ tillåter utvecklingen av interaktiva program som kan köras direkt från en webbplats eller laddas ner och köras som en fristående applikation i webbläsaren. Den kan användas för att skapa 3D-videospel, utbildningsprogram, simuleringar och 3D-visualiseringsprogram för företag och vetenskaplig forskning. Genom att använda webbläsaren som omslagsapplikation kan 3D-miljöerna utvecklas utan att behöva oroa sig för upprepad kod för grundläggande gränssnitt.

En av de största nackdelarna med att använda 3D WebGL™, och en som hindrar dess utbredda acceptans hos vissa mjukvaru- och hårdvarutillverkande företag, är säkerhetsriskerna. Möjligheten för ett program att komma åt GPU:n kan ge ett skadligt program förmågan att tvinga värddatorsystemet att exekvera skadlig kod. Det har också visat sig att DOS-attacker (denial of service) är möjliga med hjälp av WebGL™ API. Av denna anledning finns det några stora datorföretag som vägrar att fullt ut stödja WebGL™ i sina produkter.