WebGL
Børre Stenseth

WebGL

webgl_200px
WebGL Logo

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:

opengl_75px
OpenGL Logo
  • 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:

Du finner en oversikt over utviklingsverktøy på Wikipedia [14]

Referanser
  1. VRML, Virtual reality Modeling Language en.wikipedia.org/wiki/VRML 14-03-2009
  1. X3D en.wikipedia.org/wiki/X3D 14-03-2009
  1. OpenGL www.opengl.org/ 14-04-2009
  1. Khronos Group Khronos Group www.khronos.org/ 14-05-2011
  1. COLLADA - 3D Asset Exchange Schema Khronos Group www.khronos.org/collada/ 14-05-2011
  1. Google 3D warehouse Google sketchup.google.com/3dwarehouse/ 14-05-2011
  1. WebGL. What flavour is your engine Autodesk ffwd.typepad.com/blog/2011/04/webgl-what-flavor-is-your-engine.html 14-05-2011
  1. three.js three.js threejs.org/ 14-09-2014
  1. SceneJS scenejs.org/ 14-05-2011
  1. WebGL Mozilla Developer Network developer.mozilla.org/en/WebGL 14-05-2011
  1. Learning WebGL planet webgl planet-webgl.org/ 14-05-2011
  1. Collada and WebGL Rita Turkowski Scribd www.scribd.com/doc/34201762/WebGL-Collada-Final-DRAFT-7-1-Mcb4 14-05-2011
  1. Learning WebGL blog learningwebgl.com/blog/ 14-05-2011
  1. List of WebGL frameworks Wikipedia en.wikipedia.org/wiki/List_of_WebGL_frameworks 17-01-2019