!

Dette materialet blir ikke lenger vedlikeholdt. Du vil finne oppdatert materiale på siden: http://borres.hiof.no/wep/

WebGL
OpenGL
Børre Stenseth

WebGL

Hva
3D-grafikk med OpenGL i nettleseren, introduksjon

Vi har de seneste årene hatt mange tilløp til 3D-løsninger på web. Vi har nettleser-plugins som viser VRML [1] , Octaga [2] er et eksempel. Mer om dette på VRML Plugin and Browser Detector [3] . Det har også vært en god del fokus på X3D [4] , 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 [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:

Det er også interessant å se WebGL sammen med Canvas . Sjekk KINETICSJS [16] .

Referanser
  1. VRML, Virtual reality Modeling Language en.wikipedia.org/wiki/VRML 14-03-2009
  1. Octaga VRML- plugin www.octaga.com/joomla/index.php 14-03-2009
  1. VRML/X3D players and plugins cic.nist.gov/vrml/vbdetect.html 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. WebGL for the lazy GLGE www.glge.org/ 14-05-2011
  1. SceneJS scenejs.org/ 14-05-2011
  1. WebGL Mozilla Developer Network https://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. Canvas Animation, Interactivity, WebGL KINETICJS www.kineticjs.com/ 02-10-2011
Vedlikehold
Børre Stenseth, mai 2011
( Velkommen ) ( Geometri og pixler )