bit-tech.net

WebGL brings 3D acceleration to browsers

WebGL brings 3D acceleration to browsers

The WebGL standard gives browser-based apps access to OpenGL ES 2.0 3D acceleration without the need for a plugin.

While support for native video and audio has been dropped from the HTML 5 specification after cross-browser compatibility concerns and squabbling between big companies, plugin-free 3D acceleration still looks like a goer - at least, according to the Khronos Group.

As reported over on Electronista, the non-profit standards consortium has revealed a few details about its up-coming WebGL 3D acceleration standard - and it's turning into something that should please gamers no end.

The general principle behind WebGL is to offer a JavaScript binding to the group's OpenGL ES 2.0 system, allowing code run within the browser to access the graphics hardware directly in the same way as a standalone application can. As the technology would rely solely on JavaScript to do the heavy lifting, no browser plugin would be required - and it would be compatible with any browser which supports the scripting language alongside the HTML 5 'Canvas' element.

While there are obvious applications for the technology in web-based gaming, the system offers more than that: a high-quality, fast 3D rendering engine which can operate entirely within the browser could lead to far more impressive interfaces to websites, for instance - and possibly even threaten Adobe's Flash technology as the de facto "make my site pretty" standard.

The WebGL specification - which the Khronos group will be offering royalty-free - has some pretty heavy industry backing, too: the current working group includes graphics giants AMD and Nvidia, along with browser specialists Mozilla and Opera, and mobile manufacturer Ericsson. Google is also a part of the group, pledging support within its Chrome browser for the new standard.

The WebGL technology is due for a public release some time in the first half of next year, with support in both Firefox and Chrome expected - presumably to be followed by alternative browsers once the system has seen enough demand.

Does WebGL sound like your dreams come true, or are you frightened by the thought that all those hideous Flash-only marketing pages will now have access to 3D acceleration? Share your thoughts over in the forums.

31 Comments

Discuss in the forums Reply
perplekks45 5th August 2009, 11:21 Quote
Scary thought: Even flashier [read: unusable due to over-usage of Flash] web sites.
Star*Dagger 5th August 2009, 11:21 Quote
Anything that gets browsers out of the dark ages vis a vis 3d graphics has my full support!

S*D
mjm25 5th August 2009, 12:09 Quote
i dread the day that i am all wrinkly and witness some younguns viewing this very page, laughing at how primitive it is!
Paradigm Shifter 5th August 2009, 12:19 Quote
Quote:
Originally Posted by perplekks45
Scary thought: Even flashier [read: unusable due to over-usage of Flash] web sites.

Yep, scary thought. We can look forward to even more complex and impossible to navigate sites in the future. :(
Artanix 5th August 2009, 12:51 Quote
as far as i was aware, flash 10 has support for GPU acceleration anyway?
labr@t 5th August 2009, 13:02 Quote
have to upgrade your video card to surf the net every few months when more and more overly complicated/badly coded sites appear.
Blademrk 5th August 2009, 13:47 Quote
Just as long as they're concentrating on 3D graphics and not trying to take over the world with monsters :D
sear 5th August 2009, 15:52 Quote
Have to wonder if direct GPU hardware access represents a security concern.
LAGMonkey 5th August 2009, 16:04 Quote
javascript represents a security concern!
Zayfod 5th August 2009, 16:24 Quote
Holy shades of VRML Batman!

<cynicism style="jokey sarcasm">
Now companies and universities can foist their second life pavilion like visions on us through their websites too.
</cynicism>
Sifter3000 5th August 2009, 16:30 Quote
VRML was awesome! +1 for the old skool reminder :)
Cptn-Inafinus 5th August 2009, 17:39 Quote
They still teach us about VRML in school
dicobalt 5th August 2009, 18:01 Quote
WebGL? With Javascript? That's going to be slow as a molasses soaked GeForce2 rendering Crysis on a 486sx. So the graphics part is accelerated who cares, the other half (the engine) will run at stupid ass Javascript speed. You can barely make email clients and IM's that work well with Javascript so forget a freaking game engine. Let's see how they handle multicore CPU's with Javascript, or rather totally ignore multicore CPU's. The only thing that's going to come out of this is crappy cell phone quality games that require a Core i7 to run. Flash and Silverlight already provide a far superior platform to this WebGL stuff, and Flash is a piece of crap. What a waste of development time and effort.


PS. At least I can trust that NoScript will block this WebGL.
HourBeforeDawn 5th August 2009, 18:28 Quote
well this looks very promising but we have to wait until next year do'h ><
KayinBlack 5th August 2009, 19:13 Quote
I hate even installing Flash. Yay.
Shagbag 5th August 2009, 19:32 Quote
Quote:
Originally Posted by
Quote:
allowing code run within the browser to access the graphics hardware directly
OMG. No security concerns there then.
VipersGratitude 5th August 2009, 19:37 Quote
Quote:
Originally Posted by Artanix
as far as i was aware, flash 10 has support for GPU acceleration anyway?

extremely limited support. The rendering is done in software, only the compositing is done on the gpu.

I'd expect an actionscript (flash) port very quickly after release as both actionscript and javascript are based on the ECMA-262 spec.
Otto69 5th August 2009, 20:38 Quote
Ah the thin client gains yet more weight. Time for the browser to go to the fat farm.
glaeken 5th August 2009, 23:07 Quote
Quote:
Originally Posted by dicobalt
WebGL? With Javascript? That's going to be slow as a molasses soaked GeForce2 rendering Crysis on a 486sx. So the graphics part is accelerated who cares, the other half (the engine) will run at stupid ass Javascript speed. You can barely make email clients and IM's that work well with Javascript so forget a freaking game engine. Let's see how they handle multicore CPU's with Javascript, or rather totally ignore multicore CPU's. The only thing that's going to come out of this is crappy cell phone quality games that require a Core i7 to run. Flash and Silverlight already provide a far superior platform to this WebGL stuff, and Flash is a piece of crap. What a waste of development time and effort.


PS. At least I can trust that NoScript will block this WebGL.

Google already has a 3D api for browsers, O3D. And it runs pretty fast. So I would expect WebGL to perform similarly (since O3D uses OpenGl/D3D). No, you couldn't run a AAA game, but indie games you could. Plus, it's not just about games. A site running O3D/WebGL could make use of shaders, and achieve pretty interesting effects.
Elton 6th August 2009, 01:33 Quote
It would just create an even bigger storm of badly coded websites. Right now most websites are seriously suffering from an oversaturation of Flash, now imagine actual 3D animations on every site.

I pity the 56k users.
glaeken 6th August 2009, 04:47 Quote
The who? :p

I still have it at my parent's house... Yes, I can't go to most websites. Remember when you could play TF2 on dial up?
dec 7th August 2009, 01:32 Quote
i assume forceware and catalyst will support it then. this would force people to buy graphics cards if their websites wont load without it. and ultimatly push prices down i hope. hmmmm 5870 (yes 5870) at 4770 price sounds very appealing
Elton 7th August 2009, 02:11 Quote
It'll push prices up. If there's a higher demand, there's going to be higher prices, I smell the start of a bad day.
frantaylor 8th August 2009, 03:36 Quote
Quote:
Originally Posted by dicobalt
WebGL? With Javascript? That's going to be slow as a molasses soaked GeForce2 rendering Crysis on a 486sx. So the graphics part is accelerated who cares, the other half (the engine) will run at stupid ass Javascript speed. You can barely make email clients and IM's that work well with Javascript so forget a freaking game engine. Let's see how they handle multicore CPU's with Javascript, or rather totally ignore multicore CPU's. The only thing that's going to come out of this is crappy cell phone quality games that require a Core i7 to run. Flash and Silverlight already provide a far superior platform to this WebGL stuff, and Flash is a piece of crap. What a waste of development time and effort.


PS. At least I can trust that NoScript will block this WebGL.

Here is someone who has clearly never run a profiler on a 3-D app. Why don't you try it sometime. You will find that the app is spending about 90% of its cycles in the 3-D code. Which means that the app itself accounts for only 10% of the CPU utilization. Which means that it can be written in a slow interpreted language and it will have little to no effect on the actual performance of the app.

Algorithms like collision detection that consume CPU cycles can be split out from the application, coded in C, and called from the interpreted language.

This has all been done many times before. It will be very nice to have it in the browser.
frantaylor 8th August 2009, 03:51 Quote
I can run 3-D stuff with mildly acceptable performance on a 2002 laptop with an ancient Mobility Radeon chip. People with modern nVidia or ATI video cards (the vast majority of users at this point) can have outstanding 3-D experiences with their existing hardware. If you doubt me, go ahead and fire up the Ogre demos on your machine. This is close to the kind of performance you will see with WebGL.

Anyone in this day and age who still thinks that Javascript is slow, is just kidding themselves. Modern javascript engines are using JIT technology just like java. Again, install a browser with one of these engines and try out demos and benchmarks.

Any fool can write bad slow code in any language. A skilled developer will be able to produce excellent effects.

Your video card has immense capabilities for 2-D compositing and image processing that are only available via the 3-D interface. Crack open an OpenGL book and see.
perplekks45 8th August 2009, 13:07 Quote
Quote:
Originally Posted by frantaylor
[snip]
People with modern nVidia or ATI video cards (the vast majority of users at this point)
[snip]
You do realize that not everybody has a discrete graphics card, right?
Especially in the laptop market the most common graphics chip is on-board Intel crap.
thehippoz 9th August 2009, 05:24 Quote
Quote:
allowing code run within the browser to access the graphics hardware directly
Quote:
Originally Posted by Shagbag
OMG. No security concerns there then.

lol yeh.. well what I don't like about it- is let's say everyone and thier grandma decides it's a good idea to use the gpu in their scripts.. like the card I have kicks down into low power mode in 2d and kicks up when needed- It's a good feature.. I could see it getting stuck running balls out all the time for this

I could block it I'm sure, but what about the average joe- who's botnet ready.. actually that should be a standard term- botnet ready.. they should be forced to put it on all pre-builts and it comes with a red rubber stamp so they can stamp it on their forehead :o they should probably leave this in the hands of plugins like flash
kieran 9th August 2009, 14:46 Quote
Allowing javascript direct access to graphics hardware is not a security risk with graphics hardware the way it works at the moment. The only way I could see that you might find a security flaw is in a shader program but that would be dark black magic indeed.

WebGL for the next few years at least is going to be very very slow - although you get direct access to the opengl functions, doing the number of function calls required to fill the graphics pipeline is a long way off in Javascript at the speed it runs at now.

O3D does some interesting Javascript-specific things to speed up this operation and allows you do create rich 3d applications in Javascript now. You may all cry that we're going to see more irritating spam in our browsers as a result as this, but we're also going to see a quantum leap in the sorts of games that run in browser windows, and potentially some much more immersive websites with pixel shaders generating amazing rollover effects and suchlike.
Shagbag 12th August 2009, 16:58 Quote
Quote:
Allowing javascript direct access to graphics hardware is not a security risk with graphics hardware the way it works at the moment.
I disagree. Allowing any javascript to run on your PC is a security risk. NoScript is one of the most popular Firefox extensions available. Allowing direct access to the graphics hardware opens up the attack surface even further. Depending upon any bugs in the kernel and/or driver code, this may result in privilege escalation. Furthermore, manufacturers may not have any incentive to fix these faulty binary blobs (eg. IE ActiveX, Adobe Flash) resulting in the creation of "bot-nets on steroids".
Wiz 20th October 2009, 19:42 Quote
Quote:
Originally Posted by Shagbag
OMG. No security concerns there then.

OMG did you ever tried shaders trough glsl ? One infinite loop, and the only thing to do is pressing the reset button.
Mraedis 6th May 2010, 11:42 Quote
Quote:
Originally Posted by Wiz
OMG did you ever tried shaders trough glsl ? One infinite loop, and the only thing to do is pressing the reset button.

What is sarcasm?
Log in

You are not logged in, please login with your forum account below. If you don't already have an account please register to start contributing.



Discuss in the forums