Vad är en WebGL™-webbläsare?

En WebGL™-webbläsare är ett program som inte bara är utformat för att visa grundläggande HyperText Markup Language (HTML), JavaScript® och CSS-dokument (cascading stylesheet) som är online, utan också för att tolka den speciella delmängden av dessa specifikationer som kallas WebGL™. Tekniskt sett är WebGL™ inte ett fristående språk utan ett grafikbibliotek som använder canvas-elementet i webbläsarens renderingsmotor för att skapa en brygga mellan WebGL™-kod, grafikhårdvara och webbläsaren. Detta ger en WebGL™-webbläsare möjligheten att göra avancerad tredimensionell (3D) grafik mycket snabbare än vad som annars skulle vara möjligt med andra typer av plugin-program och mer bekvämt än när man använder separat kompilerade program inuti webbläsaren. Nästan alla större webbläsare stöder WebGL™ inbyggt, även om de webbläsare som inte implementerar inbyggt stöd i allmänhet har plugin-program från tredje part som exponerar de nödvändiga HTML-komponenterna. Även om en WebGL™-webbläsare kan rendera 3D-grafik snabbt på grund av den direkta åtkomsten till ett datorgrafikkort, är detta också källan till potentiellt stora säkerhetshål som kan tillåta ett skadligt program att exekvera skadlig kod på en fjärrdator.

I huvudsak innehåller en WebGL™-webbläsare kod som specifikt länkar de funktioner som ingår i ett grafikbibliotek på ett sätt så att de är tillgängliga via JavaScript®. Under HTML-språkstandardversion 5 (HTML5) finns det ett speciellt element som kallas en duk som kan användas för att rita direkt till ett område på en skärm utan att behöva använda plugin-program, eller för att arbeta med HTML- eller CSS-taggar som kanske inte är så exakt som krävs. Inom en kompatibel WebGL™-webbläsare är JavaScript® bundet till ett grafikbibliotek på låg nivå och drar direkt till HTML5-elementet på canvas, vilket ger en plattform för grafik som kan skjutas direkt från ett grafikkort till en displayenhet.

Biblioteken som används är OpenGL® inbyggda systembibliotek (OpenGL ES®), som är en delmängd av OpenGL®-bibliotekets standardfunktioner utformade för att fungera med mobila enheter. En anledning till att en WebGL™-webbläsare är möjlig är den lätta naturen hos WebGL™-biblioteken, som inte förbrukar stora mängder resurser och inte innehåller några av de mer processorintensiva funktionerna i den fullständiga OpenGL®-implementeringen. Ett återkommande problem med en WebGL™-webbläsare är dock att drivrutinerna och hårdvaran på en dator eller enhet måste kunna köra en OpenGL ES®-applikation. Vissa operativsystem, enheter, hårdvara och till och med drivrutiner har inte kapaciteten att köra ett WebGL™-program och har inte heller en enkel lösning än att ersätta den installerade grafikhårdvaran.

Stora problem med säkerheten och säkerheten för en WebGL™-webbläsare har hindrat vissa större webbläsarutvecklare från att fullt ut implementera stöd för WebGL™. Detta beror i första hand på den direkta åtkomst som webbläsaren ger till WebGL™-kod. När det används på ett skadligt sätt kan grafikkortet manipuleras för att orsaka skada via värdsystemet eller, i värsta fall, användas som en gateway för att exekvera eller plantera skadlig datorkod.