WebGL
Vi har de seneste årene hatt mange tilløp til 3D-løsninger på web. Vi har nettleser-plugins som viser VRML [1] , Octaga var et eksempel. Det har også vært en god del fokus på X3D [2] , som er forsøk på å lansere et standard format som en fornyelse av VRML
I tillegg har det vært en rekke forsøk på å handtere 3D ved hjelp av applets. Noen av disse har vært ganske interessante, men ingen har etablert seg som "standard".
Merk at det er trolig ganske tungt å forstå dette materialet om WebGL dersom du ikke har erfaring med OpenGL og en forståelse for den grunnleggende matematikken i 3D-grafikk.
Det som gjør WebGL interessant er blandt annet:
- WebGL er basert på OpenGL [3] som er en slags referansestandard for 3D-grafikk
- WebGL støttes av Krohnos Group [4] som også støtter OpenGL
- WebGL er teknisk sett en utvidelse av canvas-elementet i HTML5
- WebGL er implementert i de siste versjonene av de vanligste nettleserne
- Det er noen problemer knyttet til drivere for noen grafiske kort
- WebGL-implementasjonene støtter hardware akselerasjon
- WebGL ser ut til å åpne seg mot import av standardiserte modellbeskrivelser i Collada [5] som også støttes av Khronos group og som brukes av blandt andre Google for export av 3D-modeller fra Google 3D warehouse [6]
- .. og det er trolig slik at tiden er moden for utstrakt bruk av 3D i nettlesere
at webleseren og grafikkdriver er ok.
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 [7] har en liste. Det er vanskelig å se hvem som vil bli dominerende over tid. Et par initiativ som synes interessante er threejs [8] og SceneJS [9] .
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 [10]
- Planet WebGL [11]
- Enabling the Immersive 3D Web with COLLADA & WebGL [12]
- Learning WebGL [13]
Du finner en oversikt over utviklingsverktøy på Wikipedia [14]