WebGL
Det som gjør WebGL interessant er blandt annet:
![](opengl_75px.png)
- WebGL er basert på OpenGL [5] som er en slags referansestandard for 3D-grafikk
- WebGL støttes av Krohnos Group [6] som også støtter OpenGL
- WebGL er teknisk sett en utvidelse av canvas-elementet i HTML5
- WebGL er i skrivende stund (mai 2011) implementert i de siste versjonene av FireFox og Chrome
- WebGL-implementasjonene støtter hardware akselerasjon
- WebGL ser ut til å åpne seg mot import av standardiserte modellbeskrivelser i Collada [7] som også støttes av Khronos group og som brukes av blandt andre Google for export av 3D-modeller fra Google 3D warehouse [8]
- .. og det er trolig slik at tiden er moden for utstrakt bruk av 3D i nettlesere
WebGL er ikke direkte lett tilgjengelig for den allmenne internett-forfatter. For det første krever 3D-grafikk en del innsikt i matematikk, transformasjoner og forståelse av prosessen fra modell til skjerm. For det andre krever WebGL innsikt ut over det som er nødvendig i "standard" tradisjonell OpenGL. Shading er en integrert del av WebGL. For det tredje er ikke Javascript et språk de fleste kjenner på det nivået som kreves for å handtere datatyper og strukturer slik WebGL krever. Det er ganske mye fingertrøbbel involvert i å lage selv enkle modeller i WebGL.
I en slik situasjon skjer det som alltid skjer: Vi får en flora av Javascriptbiblioteker som skal skjule det meste av problemene. I øyeblikket er det svært mange slike av ymse kaliber. Autodesk [9] har en liste. Det er vanskelig å se hvem som vil bli dominerende over tid. Et par initiativ som synes interessantr er GLGE [10] og SceneJS [11] som (delvis?)importerer Collada-modeller.
Foruten at det nok er lurt å sette seg litt inn i OpenGL, er det mange demoer, introduksjoner og kommentarer tilgjengelig på nettet. Her er noen mer eller mindre tilfeldige lenker:
- Mozilla Developer [12]
- Planet WebGL [13]
- Enabling the Immersive 3D Web with COLLADA & WebGL [14]
- Learning WebGL [15]
Det er også interessant å se WebGL sammen med Canvas . Sjekk KINETICSJS [16] .