Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 52 reacties

De Khronos Group, bekend van de OpenGL-standaard, heeft bekendgemaakt dat de ontwikkeling van de eerste versie van de WebGL-standaard is afgerond. Met WebGL kunnen 3d-beelden zonder plug-in in een browser worden getoond.

WebGL-logoWebGL is een afgeleide van OpenGL ES 2.0, de variant van OpenGL die veel wordt toegepast in mobiele apparaten zoals smartphones en gaming-handhelds. Nu de Khronos Group de eerste versie van de standaard heeft afgerond, kunnen browserontwikkelaars de implementatie in hun software afronden. Er zijn al versies van Chrome, Firefox, Safari en Opera met WebGL-ondersteuning beschikbaar. Microsoft heeft nog geen ondersteuning voor WebGL in Internet Explorer toegezegd.

Met WebGL kunnen webdevelopers 3d-beelden tonen zonder dat gebruikers daarvoor een plug-in hoeven te installeren. WebGL is, net als grote broer OpenGL, een low level standaard en maakt gebruik van het html 5 canvas-element. Er zijn al diverse javascript-frameworks in de maak om het voor webontwikkelaars makkelijker te maken om WebGL te gebruiken. WebGL krijgt concurrentie van Adobe, dat in een previewversie van Flash ook ondersteuning voor 3d heeft ingebouwd, onder de codenaam Molehill. De eerste poging om 3d naar browsers te brengen kwam in 1994 in de vorm van vrml, dat werd opgevolgd door het in 2004 tot ISO-standaard verheven X3D.

Moderatie-faq Wijzig weergave

Reacties (52)

Velen zitten altijd zo op Flash te fitten, hoe traag dat is.
Imho vaak onterecht, de bewerkingen die gedaan moeten worden in sommige swf's zijn per definitie zwaar. (veel vector afbeeldingen en manipulatie daarvan)

De eerste voorbeelden die ik heb gezien van HTML5 bestaan meer uit grote stukken javscript met CSS3 en een klein beetje HTML5 (vaak het canvas element inderdaad)
Al me al is dat ook traag.
Sterker nog er zijn engines die Flash omzetten in "HTML5-achtige" oplossingen zoals Smokescreen en de output daarvan heeft duidelijk een slechtere performance.

Nu wil ik hier geen hallelujah verhaal over Flash ophangen, want ik ken de tekortkomingen van Flash maar al te goed.
Maar ik ken ook de mogelijkheden van Flash en ik vind dat er te vaak onnodig negatief gedaan wordt over Flash. De mooiste websites die IK tot nu toe heb gezien ZIJN Flash websites.

Daarbij..... Macromedia had destijds in haar Shockwave formaat al ondersteuning voor 3D beelden die veel verder gingen dan VRML. (aansturing via Lingo)

Deze schil om OpenGL ES heen (javascript) vind ik overigens wel een stap in de goede richting, het geeft een meer geintegreerde ondersteuning.
Het concept van "applets in een browser window" is een beetje oud aan het worden.
Adobe heeft begin van deze week FP11 beta uit gebracht waarmee je 3D op de GPU kan draaien. De WebGL demos komen lang niet in de buurt van wat je met de Molehill API in flash player 11 kan doen.

http://flashfocus.nl/forum/showthread.php?t=61843
http://www.youtube.com/watch?v=hCXxCD_GYTA
De WebGL demos komen lang niet in de buurt van wat je met de Molehill API in flash player 11 kan doen.
De demo's wellicht niet, maar met WebGL kun je per definitie meer doen dan wat met Flash mogelijk is, omdat Flash geen low level rendering API biedt, wat WebGL dus wel is. Feitelijk zou je heel Unreal Engine 3 in WebGL kunnen implementeren. Niet dat het dan snel is aangezien een uitgebreide 3D engine veel CPU processing nodig heeft, wat in javascript vrijwel per definitie een stuk langzamer is (en in Flash trouwens ook), maar de mogelijkheden zijn er wel.

[Reactie gewijzigd door .oisyn op 4 maart 2011 16:04]

Volgende keer verder kijken dan je neus lang is: Molehil API - Een nieuwe set aan low-level, hardware accelerated 3D API's. Heb je zoizo 1 van de linkjes aan geklikt? dan zou je eens kunnen zien wat er al mee kan, en nu is er alleen door een aantal mensen ontwikkeld en staat dit meer in de kinder schoenen dan WebGL.
Ja ik heb de linkjes aangeklikt, maar niet alles doorgelezen. Dus wat dat betreft heb je gelijk, ik wist niet dat Molehill ook een lowlevel API was - ik dacht dat het meer een 3d engine achtige approach had.

Maar goed, hetzelfde is ook op jou van toepassing. Uit de Molehill FAQ:
How do the 3D APIs compare to WebGL’s proposal to have the capability be available through browsers and HTML5?
In terms of design, our approach is very similar to the WebGL design
Je kan dus min of meer hetzelfde (al is WebGL gebaseerd op een gestandaardiseerde API waar je nu al alles mee kunt doen, en waar je bij Molehill bent overgeleverd aan de features die Adobe beschikbaar stelt)

[Reactie gewijzigd door .oisyn op 4 maart 2011 16:14]

Dat is waar, Maar vind het toch raar dat er in flash al hele mooie demo's zijn en dat die met HTML5 er nog niet zijn. Het haXe team heeft zelfs op dezelfde dag nog een compiler released voor filters zodat je geen assembly hoeft te leren.

Kun je met HTML5 ook stuurwieltjes gebruiken?
Maar vind het toch raar dat er in flash al hele mooie demo's zijn en dat die met HTML5 er nog niet zijn.
WebGL / HTML5 staan los van elkaar, dus die opmerking over HTML5 snap ik niet.
Vziw was de CopperCube / CopperLight demo in het lijstje waar u naar linkt oorspronkelijk voor WebGL gemaakt, en nu kennelijk geport naar Flash.

Demo's zijn her en der te vinden;
http://www.solidsmack.com...ing-program-for-3d-print/
http://media.tojicode.com/q3bsp/
http://www.youtube.com/watch?v=uofWfXOzX-g (O3D wordt naar JS geport schijnt).
http://www.chromeexperiments.com/webgl
http://www.glge.org/webgl...mation-and-skinning-soon/

Bovengenoemde 'body browser' van Google is ook wel aardig.

Verder is het zo dat je WebGL met een simpele text-editor kan maken, en voor Flash weet ik dat nog niet zo, blijkbaar heb je daar allerlei tools voor nodig voordat je er iets mee kan? Dan voorzie ik toch dat mensen die liever niet van Adobe afhankelijk zijn (denk: Grote bedrijven) liever voor WebGL gaan. Voor bijv. CAD-applicaties is Flash gebruiken alleen maar overhead; vandaar dat praktisch alle CAD-applicaties /renderers GL gebruiken en geen flash.

OpenGL is natuurlijk wat behoudender, want die moeten grote logge bedrijven met ouderwetse software tevreden houden (architecten, vliegtuigbouwers; dat soort mensen met een hekel aan snelle verandering). DirectX / Flash kan wat dat betreft sneller innoveren: Dat is vooral gericht op thuisgebruik / games, en torst wat dat betreft minder 'legacy' met zich mee. Dat heeft wel als buitengewoon voordeel dat niet eventjes 1 bedrijf besluit welke richting alle 'klanten' uit moeten gaan, wat bij DirectX / Flash wel het geval is.

[Reactie gewijzigd door kidde op 4 maart 2011 19:30]

Kun je met HTML5 ook stuurwieltjes gebruiken?
Oh mijn excuses, ik wist niet dat dit een "Flash is lekker toch beter dan HTML5" discussie was ;).

Maar nee, HTML5 doet volgens mij niets met verschillende inputmogelijkheden anders dan de standaard muis en toetsenbord events. Een FPS is wat dat betreft ook lastig te implementeren denk ik, want je wil niet dat je cursor zichtbaar is en buiten het browserscherm kan treden. Maar ik weet te weinig van HTML5 om te kunnen zeggen of dat ook echt het geval is.

[Reactie gewijzigd door .oisyn op 4 maart 2011 18:01]

Voor WebGL heb je geen plugin nodig.
  • 98% heeft de flash plugin geinstalleerd.
  • Chrome heeft de flash plugin ingebakken.
  • Als je in IE op een pagina komt met Flash content word de flash player bijna volledig automatich geinstalleerd.
  • Als de plugin crasht blijft de browser doorwerken.
  • een plugin als flashplayer kan vele male sneller worden door ontwikkeld dan een standart.
  • IE9 ondersteunt geen WebGL, Omdat nu nog steeds heel veel mensen IE6 gebruiken zal het nog wel even duren voordat WebGL goed ondersteunt wordt (Ok, mensen die IE6 gebruiken zijn niet de doelgroep voor zoiets maar is even ter vergelijking).
  • Er zijn nog veel meer browsers die dit niet ondersteunen

[Reactie gewijzigd door cornedor op 4 maart 2011 17:32]

Als de plugin crasht blijft de browser doorwerken.
Dat hangt nogal van de browserimplementatie af. Als een shared library crasht dan neemt ie het process gewoon mee, dus daar moet wel moeite voor gedaan worden.
Adobe heeft begin van deze week FP11 beta uit gebracht waarmee je 3D op de GPU kan draaien. De WebGL demos komen lang niet in de buurt van wat je met de Molehill API in flash player 11 kan doen.

http://flashfocus.nl/forum/showthread.php?t=61843
http://www.youtube.com/watch?v=hCXxCD_GYTA
De WebGL demo's doen het meteen. Voor flash moet ik e.o.a. demo plugin gaan downloaden. Dat werpt toch weer een drempel op.
testen? http://www.khronos.org/implementers/webgl/
@rafe; idd die had ik nog niet gevonden, thanks

[Reactie gewijzigd door himlims_ op 4 maart 2011 13:39]

Ik denk dat voor de meesten hier de demo's leuker zijn: http://www.khronos.org/webgl/wiki/Demo_Repository :)
Dit is een mooie implementatie van Google:
http://bodybrowser.googlelabs.com/body.html#
Hier nog meer demo's. Via het framework PhiloGL, een schil om WebGL heen, zodat je met hoge niveau api's kan werken.

http://www.sencha.com/blo...library-from-sencha-labs/
Begrijp ik het goed als ik zeg dat de site een commando stuurt in WebGL naar de browser en deze dat dan als Open GL ES verstuurt naar de graka?

Wat zijn de showstoppers om een site rechtstreeks de graka te laten aanspreken via Open GL ES?
Je moet nu eenmaal een API aanbieden aan de ontwikkelaar, die dan vanuit JavaScript gebruikt kan worden... Die API gaat door het leven als WebGL.

Verder zou ik me voor kunnen stellen dat het niet handig/veilig is om Open GL ES direct door te mappen naar JavaScript (denk aan untyped zijn van JS...)
Aldus Khronos: "It stays very close to the OpenGL ES 2.0 specification, with some concessions made for what developers expect out of memory-managed languages such as JavaScript."
Verder zou ik me voor kunnen stellen dat het niet handig/veilig is om Open GL ES direct door te mappen naar JavaScript (denk aan untyped zijn van JS...)
Daarom werk je ook met typed arrays zoals Float32Array.

[Reactie gewijzigd door .oisyn op 4 maart 2011 15:37]

WebGL spreekt in principe rechtstreeks de graka aan, maar er zal altijd een browser tussen zitten die de brug legt. Het is niet mogelijk om dit in minder stappen te doen, en ook niet nodig als de browserbakker de standaard goed implementeert.
Dat zou de beste methode zijn, gezien de GPU gemaakt is voor snel vertices tekenen enzo. Maar niemand houd je tegen een browser te maken die het "gewoon" op de CPU doet. In plaats van een GPU driver iets softwarematigs als Mesa linken en je bent er al.
WebGL Ūs gewoon OpenGL ES in een javascript jasje. Overigens praat de hardware niet in termen van dergelijke APIs, dus er zal sowieso een driver tussenzitten die de boel vertaalt naar specifieke commando's, maar in weze heb je wel gelijk - je geeft de low-level tekencommando's (het tekenen van polygonen). Het is dus niet zozeer een voorgekauwde renderer zoals VRML of X3D wel is.

[Reactie gewijzigd door .oisyn op 4 maart 2011 15:06]

Dit ziet er prachtig uit. Nu kunnen we eindelijk die CPU zuipende Flash 3D engines uit de weg ruimen en een bijna overal aanwezige combinatie gebruiken: recente browser + OpenGL implementatie.
Sorry hoor, maar in WebGL zit geen vector engine?
Gebruik dan SVG voor vectoren. In ieder geval bij Opera is/word* die hardware accelerated.

*Opera heeft nog alleen afgelopen week een labs build vrijgegeven met hardware acceleratie. Het is dus nog even wachten op een definitieve release (waarschijnlijk 11.50 met HWA, en nu zijn ze nog aan 11.10 bezig). Wel is al bekend dat Opera alles met hardware acceleratie gaat doen, en niet alleen gaat toepassen voor WebGL. Dit middels hun render engine "Vega" die verschillende backends ondersteund, nu is dat nog alleen "software" maar daar worden OpenGL en Direct3D nog aan toegevoegd. Doordat de browser zelf (toolbars etc.) ook tekenen middels Vega word dus de hele browser hardware accelerated, en niet alleen de webpagina's zelf.
Sorry hoor, maar in WebGL zit geen vector engine?
GL rendert polygonen, geen vectors!
Alles wat je mist uit Flash kan veel beter geÔmplementeerd worden mbv WebGL.
WebGL is geen vervanging voor Flash, het slaat nergens op.
Sommigen beweren dat HTML5 dat is.
Ik kan je zeggen: Dat is het (nog) niet.

Flash is naast een animatie toolkit voor alle mogelijke graphics ook een complete programmeer omgeving met modules naar van alles en nog wat.
Je moet toolkit en runtime los van elkaar zien. Met CSS transforms zou je prima dingen goed kunnen animeren, maar wat het nog mist is een goede editor. Echter, het is niet aan HTML 5 om dat te specificeren, en als die er wel zou komen dan zou het resultaat gewoon werken met HTML 5. De runtime is er in feite zo goed als klaar voor, en dat is het belangrijkste deel. Je zou zelfs een Flash-naar-HTML compiler kunnen maken zodat je van de Flash toolkits gebruik kunt maken.
yeah right. Alsof javascript nou zo fijn is.
JavaScript is misschien niet fijn, maar het is tenminste open.
Voor flash is nog steeds geen degelijke open implementatie. En de gesloten (van Adobe zelf) die zuigt ook.
Wat is er mis met javascript? Na er een tijdje mee gewerkt te hebben, begin ik het te waarderen. Weliswaar in de vorm van Coffeescript, maar ik vind het een prima taal.
Heb jij laatste nieuws niet gelezen over flash (iets wat ook zelden op tweakers komt):
http://flashfocus.nl/forum/showthread.php?t=61843
http://www.youtube.com/watch?v=hCXxCD_GYTA
Hoewel ik dit vet vindt , komt het nog lang niet in de buurt van flash. Maar alles op zijn tijd.
Het staat allemaal nog zo in de kinderschoenen dat ik het nog niet heel interessant vind. Als het eenmaal verder doorontwikkeld is heeft het wellicht meer nut, al zie ik het nog niet helemaal zitten. De enige echt interessante toepassing hiervoor is on-line games, en die demo's trok m'n pc al bijna niet.
Hmm ik kijk hier in Chrome op een oud Core2Duo'tje en low-end laptop GPU en alle demo's lopen supersoepel?
Core2Duo oud?
Jou standaard is wel heel hoog.
Core2 Duo's stammen uit 2007. Het is de vorige generatie. Of dit nieuw of oud is ligt aan de persoonlijke voorkeuren/toepassingen.
Het gaat er vooral om dat grotere bedrijven WebApplicaties kunnen bouwen lijkt me.

Veel 3d-ontwerpprogramma's werken nu alleen op Windows / x86, en WebGL zou dat kunnen veranderen, dan zouden al die programma's gewoon in de browser kunnen draaien. Mogelijk met een cloud-vleugje o.i.d. waardoor er geen lokale opslag / installatie meer nodig is.

Ik heb begrepen dat Dassault aan het experimenteren is met SolidWorks via een webinterface, al weet ik niet of ze WebGL gebruiken.

En natuurlijk zou een game-studio theoretisch gezien games in JS kunnen maken die het dan op alle platformen (behalve Windows zonder ANGLE?) doen.
Misschien dat je OpenGL driver een software implementatie gebruikt?
Microsoft wacht vermoedelijk op een Canvas 3D en/of SVG 3D standaard van W3C die niet op een onderliggende OpenGL driver architectuur is gebaseerd en die dan waarschijnlijk alle webgl implementaties toch weer zal vervangen.

[Reactie gewijzigd door 80466 op 4 maart 2011 14:40]

Canvas 3D is WebGL geworden. >_<

Wat ik vermoed, is dat het wacht is totdat WebGL i.c.m HTML5, SVG, etc goed voet aan de grond heeft. Vervolgens kopieren ze alles, voegen 1 zandkorrel innovatie toe, wat enorm voor de hand liggend is, en gepatenteerd zal worden.
Vervolgens gebruiken ze hun dominante marktpositie, om ook deze nieuwe markt over te nemen. Wanneer het niet lukt, gooien ze er net zolang miljarden tegen aan totdat het wel lukt.
Oh please, hou die FUD voor je. Microsoft is al jaren meer op standaarden geconcentreert dan jij denkt - de klant van tegenwoordig wil dat namelijk. Waarom denk je dat ze zo hard bezig zijn HTML5 te implementeren in IE9?

[Reactie gewijzigd door .oisyn op 4 maart 2011 16:16]

Microsoft is jaren bezig met zich niet aan standaarden te houden zodat het klanten kan vendor locken met eigen standaarden. Op de browsermarkt is de concurrentie ondertussen moordend en daardoor moeten ze wel. Voorbeelden? De vorige Internet Explorers, docx, DirectX 11 the list goes on...
De vorige Internet Explorers
Standaard compliancy is sinds IE6 alleen maar verbeterd met elke versie, dus je bent een beetje oude koeien uit de sloot aan het halen. Vergeet ook niet dat sommige onderdelen van de HTML standaard niet of onjuist waren gespecificeerd, waardoor implementors zelf maar wat moeten verzinnen.
docx
Is gewoon een open standaard, dus vendor lock-in is geen issue.
DirectX 11
Tja, dat is de schuld van OpenGL zelf. Na jarenlange achterstand en een log updateproces is de DirectX api gewoon tot de betere verworden. Vraag het een willekeurige developer met ervaring met beide API's. Als user heb je er bovendien maar weinig last van - een game porten naar een ander OS is wel wat meer werk dan alleen wat rendering API changes, die in grote lijnen bovendien hetzelfde ontwerp erop nahouden.

Tegenvoorbeelden zijn C++, XML en SOAP (die laatste is niet zo gek, die is ontwikkeld door MS en momenteel in beheer van het W3C). And the list goes on...

[Reactie gewijzigd door .oisyn op 7 maart 2011 14:41]

De kans dat er een web 3D techniek bij komt lijkt me vrij klein. WebGL word door alle browsers omarmt behalve door Microsoft. Daarnaast heeft Google met O3D geprobeerd om een alternatief te ontwikkelen maar is uiteindelijk toch overgegaan op WebGL.

Ik hoop dat Microsoft in Internet Explorer 10 ook WebGL gaat implementeren. Misscien dat over twee jaar dan alle browsers 3D ondersteunen.
SVG 3D kan WebGL helemaal niet vervangen. De eerste is een datadriven viewer, de tweede is een codedriven renderer. Het zal eerder andersom zijn.
Jaja, Microsoft wacht weer eens totdat alle concurrerende browsers een standaard implementeren (Safari, Opera, Chrome, FF: Allen zijn met WebGL bezig!) om zich dan als laatste aan te sluiten.

En in de tussentijd proberen ze hun concurrerende platform DirectX te pushen, in combinatie met Silverlight of weet ik wat ze nu weer bedacht hebben. Want fatsoenlijke OpenGL implementatie hebben ze nog nůůit geleverd - wordt beweerd door velen. En meer ontwikkelaars voor OpenGL betekent minder ontwikkelaars voor DirectX; logisch dat ze slechts schoorvoetend OpenGL drivers in Windows stoppen; maar wel die natuurlijk slechter presteert dan DirectX.

Niets nieuws onder de zon toch? Zo is de situatie al jaren; en dat kan Microsoft niet kwalijk genomen worden want de ontwikkeling van OpenGL is jarenlang enorm traag gegaan; veel te traag voor games.
Gelukkig komt daar door WebGL / OpenGL ES eindelijk een beetje verandering in, en kunnen ontwikkelaars nu in 1 taal applicaties voor vele verschillende platformen / architecturen / besturingssystemen schrijven. Erg jammer dat Windows daar kennelijk niet bijhoort - en Microsoft weer de laatste moet zijn om het leven van ontwikkelaars te versimpelen.
De WebGL demos werkt iig hier niet icm Chromium 11.0.691.0 (76731)
Wel in 11.0.688.0 (76501) Ubuntu 10.04, dus ergens gaat er iets fout bij je, ik draai een oudere versie.

Op dit item kan niet meer gereageerd worden.



Apple iOS 10 Google Pixel Apple iPhone 7 Sony PlayStation VR AMD Radeon RX 480 4GB Battlefield 1 Google Android Nougat Watch Dogs 2

© 1998 - 2016 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True